हर्स्ट की मिलियन-डॉलर स्पॉट पेंटिंग से प्रेरित होकर पायथन में कलाकृति तैयार करना
Latest Technology, (लेटेस्ट टेक न्यूज़) Gadget (गैजेट्स) …
एक कला संग्रहालय में गया और आश्चर्य हुआ कि कला का इतना सामान्य सा दिखने वाला टुकड़ा इतना प्रसिद्ध कैसे हो सकता है या इतनी अधिक कीमत पर बेचा जा सकता है? या जो कलाकृति इतनी बुनियादी तकनीकों से बनाना इतना आसान लगता है वह इतनी प्रतिष्ठित कैसे हो सकती है और बोली लगाने वालों की एक बड़ी भीड़ को कैसे आकर्षित कर सकती है? हर्स्ट की स्पॉट पेंटिंग का मामला भी ऐसा ही है।
डेमियन हेयरस्ट एक अंग्रेजी कलाकार हैं जो जीवन, मृत्यु और सौंदर्य पर अपनी समकालीन कला के लिए प्रसिद्ध हैं। उनकी प्रसिद्ध स्पॉट पेंटिंग में हल्के रंग की पृष्ठभूमि के साथ ग्रिड के रूप में व्यवस्थित विभिन्न रंगों के भरे हुए घेरे शामिल हैं। ये पेंटिंग्स, हालांकि इतनी सीधी और सरल हैं, नीलामियों में 20 लाख रुपये तक में बिकी हैं एक लाख डॉलर!
इस लेख में, हम हर्स्ट के रंग पैलेट और तकनीकों से प्रेरणा लेकर स्पॉट पेंटिंग बनाने के लिए पायथन के कलरग्राम और टर्टल मॉड्यूल का उपयोग करेंगे। यह एक शुरुआती-अनुकूल पायथन ट्यूटोरियल है, लेकिन इसके लिए पायथन के बुनियादी सिद्धांतों के बुनियादी ज्ञान की आवश्यकता होती है, साथ ही ऑब्जेक्ट बनाने और विधियों का उपयोग करने, और पायथन मॉड्यूल को आयात करने और उपयोग करने की भी आवश्यकता होती है। इस मज़ेदार और दिलचस्प पायथन ट्यूटोरियल के माध्यम से, हम प्रोग्रामिंग में ओओपी की अवधारणा को लागू करना सीखेंगे और साथ ही सीखेंगे कि मॉड्यूल और कोड की कुछ पंक्तियों का उपयोग करके हम अपने उद्देश्य को कैसे पूरा कर सकते हैं।
आइए पायथन कोडिंग सीखते हुए अपने भीतर के कलाकार को जगाएं!
स्पॉट पेंटिंग
हर्स्ट की स्पॉट पेंटिंग में ग्रिड के रूप में संरेखित विभिन्न रंगों के छोटे धब्बे शामिल हैं। ये पेंटिंग्स अपने बिंदुओं की संख्या के साथ-साथ इन चित्रों में उपयोग किए गए रंग पैलेट में अद्वितीय हैं। हम इन प्रतिष्ठित चित्रों से रंग पैलेट निकालने के लिए पायथन के कलरग्राम मॉड्यूल का उपयोग करेंगे, और फिर ग्रिड के रूप में इन स्थानों को खींचने के लिए पायथन के टर्टल मॉड्यूल का उपयोग करेंगे। हम अपने कैनवास पर बिंदुओं की संख्या, साथ ही उनके बीच की दूरी और प्रयुक्त रंग योजना निर्दिष्ट कर सकते हैं।
संदर्भ के लिए, इन चित्रों को इसके माध्यम से जाँचने पर विचार करें जोड़ना.
रंग निकालना
पहली बात यह है कि हर्स्ट की किसी पेंटिंग से रंग पैलेट निकालना है। हम पेंटिंग को उसी निर्देशिका में डाउनलोड करेंगे जिसमें पायथन फ़ाइल है जिसमें हम अपना प्रोग्राम लिख रहे हैं। लेकिन पहले, आइए इंस्टॉल करें colorgram टर्मिनल में निम्नलिखित कमांड लाइन लिखकर मॉड्यूल:
pip install colorgram.pyअगला, हम करेंगे import हमारे कोड में कलरग्राम मॉड्यूल डालें और इसका उपयोग करें extract फ़ंक्शन, छवि फ़ाइल और उन रंगों की संख्या निर्दिष्ट करते समय जिन्हें हम संदर्भ छवि से तर्क के रूप में निकालना चाहते हैं extract समारोह। यहाँ वह छवि फ़ाइल है जिसे मैंने “ref.jpg” के रूप में डाउनलोड किया है और इसका उपयोग मेरी पायथन-जनरेटेड स्पॉट पेंटिंग के रंग पैलेट को परिभाषित करने के लिए किया है।
import colorgram
colors = colorgram.extract("ref.jpg",20)
print(colors)जब हम कोड की उपरोक्त पंक्तियों को चलाते हैं, तो यह संदर्भ छवि में मौजूद 20 रंगों को प्रिंट करेगा:

ध्यान दें कि ऊपर निकाले गए रंग टर्टल मॉड्यूल के साथ संगत होने की तुलना में एक अलग प्रारूप में हैं। अब हम इन रंगों को कछुए-संगत रंगों में बदल देंगे।
रंग सूची बनाना
सबसे पहले, हम एक खाली जगह बनाएंगे list और उचित फ़ॉर्मेटिंग के बाद निकाले गए रंगों को एक-एक करके आरजीबी प्रारूप में जोड़ें। हम निकाले गए रंगों के प्रत्येक आर, जी और बी मानों पर टैप करेंगे और उन्हें उचित स्वरूपण के साथ हमारी बनाई गई सूची में संग्रहीत करेंगे। इस उद्देश्य के लिए, हम इसका उपयोग करेंगे for कुंडली:
rgb_colors = ()
for color in colors:
r = color.rgb.r
g = color.rgb.g
b = color.rgb.b
new_color = (r, g, b)
rgb_colors.append(new_color)
print(rgb_colors)
जैसा कि उपरोक्त छवि से देखा जा सकता है, आरजीबी रंगों को उचित रूप से स्वरूपित किया गया है और अब डॉट रंगों को यादृच्छिक रूप से चुनने में इसका उपयोग किया जा सकता है।
कछुए को आयात करना और बुनियादी सेटिंग्स को कॉन्फ़िगर करना
अब, हम अपनी कलाकृति बनाने के लिए पायथन टर्टल मॉड्यूल आयात करेंगे। हम अपने कछुए की बुनियादी सेटिंग्स को परिभाषित करेंगे। पहला है colormode()जो तय करेगा कि हम आगे अपने कोड में रंगों का उपयोग कैसे करेंगे, या तो 0 और 1 के बीच, या 0 और 255 के बीच। इसके माध्यम से फ़ंक्शन के बारे में अधिक जानें जोड़ना.
import turtle
turtle.colormode(255)
tim = Turtle()
tim.shape("turtle")
tim.color("coral")चूंकि हम आरजीबी रंगों का उपयोग उनके 0-255 प्रारूप में कर रहे हैं, इसलिए हमने तर्क के रूप में 255 जोड़ा है। इसके अलावा, हमने कछुआ वस्तु भी बनाई है Turtle पायथन टर्टल मॉड्यूल में क्लास लगाई और इसे टिम कहा, साथ ही इसके आकार और रंग को अनुकूलित किया। हम आगे इस कछुए को अपने ड्राइंग टूल के रूप में उपयोग करेंगे।
हमारे कछुए की स्थिति निर्धारित करना
अब जब हमने कछुआ ऑब्जेक्ट बना लिया है, तो आइए स्क्रीन ऑब्जेक्ट की मदद से कल्पना करें।
from turtle import Screen
screen = Screen()
screen.exitonclick()
जैसा कि ऊपर की छवि से देखा जा सकता है, कछुआ स्क्रीन के मध्य में स्थित है। हमें कछुए को एक कोने पर रखना होगा ताकि वह एक पंक्ति में बिंदु बनाना शुरू कर दे। हम निचले बाएँ कोने को शुरुआती बिंदु के रूप में चुन सकते हैं, जिसमें कछुआ बिंदु बनाते समय बाएँ से दाएँ और फिर ऊपर की ओर बढ़ता है।
हम इसे टर्टल फ़ंक्शन सेटहेडिंग() के साथ प्राप्त कर सकते हैं जो कछुए की दिशा निर्धारित करने के लिए एक पैरामीटर के रूप में एक कोण लेता है, और कुछ हिट और परीक्षण के बाद, हम जानते हैं कि यह कोण को 225 पर सेट करके किया जा सकता है। फिर हम एक विशेष दूरी से आगे बढ़ेंगे, मान लीजिए 300। यहां बताया गया है कि हमारा कछुआ अब नीचे बाईं ओर कैसे है:

हम फिर से कछुआ जिस दिशा में जा रहा है उसे 0 पर सेट करेंगे, ताकि हम अपने डॉट ड्राइंग से शुरुआत कर सकें।

बिंदुएँ खींचना
अब, चूँकि हमारे कछुए की दिशा निर्धारित है, हम बिंदु बनाना शुरू करेंगे। हम कछुए का उपयोग करेंगे बिंदु विधि, जो बिंदु का आकार और भरे जाने वाला रंग लेता है। हम अपने इच्छित डॉट्स की कुल संख्या को ध्यान में रखते हुए, लूप के माध्यम से इस डॉट ड्राइंग को प्राप्त करेंगे। यदि हम बिंदुओं की 10 गुणा 10 ग्रिड चाहते हैं, तो बिंदुओं की कुल संख्या 100 होगी। प्रत्येक 10वें बिंदु के बाद, कछुए को एक रेखा से ऊपर जाना होगा और बिंदुओं को खींचना जारी रखना होगा। हम इस उद्देश्य के लिए मॉड्यूलो ऑपरेशन का उपयोग करेंगे। इसके अलावा, हम प्रत्येक बिंदु के लिए यादृच्छिक रूप से एक रंग चुनने के लिए यादृच्छिक मॉड्यूल का आयात और उपयोग करेंगे।
हम उपयोग करेंगे forward और setheading तरीकों में for आगे बढ़ने वाले बिंदु बनाने के लिए लूप, और फिर ऊपर:
import random
number_of_dots = 100
for dot_count in range(1, number_of_dots + 1):
tim.dot(20, random.choice(rgb_colors))
tim.forward(50)
if dot_count % 10 == 0:
tim.setheading(90)
tim.forward(50)
tim.setheading(180)
tim.forward(500)
tim.setheading(0)

कछुए और रेखाओं को छिपाना
एक बार जब हमारे बिंदु बन जाते हैं, तो हमें कछुए और रेखाओं को छिपाने की आवश्यकता होती है। हम इसे आसानी से कर सकते हैं hideturtle() और penup() तरीके.
tim.penup()
tim.hideturtle()एक बार जब हम कोड की उपरोक्त पंक्तियों को निष्पादित करेंगे तो अंतिम आउटपुट इस तरह दिखेगा:

निष्कर्ष
जैसा कि ऊपर देखा जा सकता है, हमने हर्स्ट की डॉट तकनीक का पालन करके सफलतापूर्वक एक सुंदर कलाकृति बनाई है। पायथन के कलरग्राम मॉड्यूल ने हमें एक सुंदर रंग पैलेट निकालने की अनुमति दी, और टर्टल मॉड्यूल ने उस पैलेट का उपयोग करके कलाकृति बनाने में हमारी मदद की। यह सिर्फ एक बुनियादी उदाहरण है कि कोड का उपयोग करके ऐसे सुंदर टुकड़े कैसे बनाए जा सकते हैं, और जब कला और प्रोग्रामिंग मेल खाते हैं तो क्या होता है।
(टैग्सटूट्रांसलेट)कला(टी)रंग(टी)डेटा विज्ञान(टी)ऊप(टी)पायथन
Latest Technology, (लेटेस्ट टेक न्यूज़) Gadget (गैजेट्स) …
Source link
