முதன்மை உள்ளடக்கத்திற்குச் செல்

Programming மூலமாக படம் வரையலாம் ! படம் வரைவதன் மூலமாக Programming கற்கலாம் !

படம் வரைவதில் என்ன முக்கியத்துவம்?

ப்ரோக்ராம்மிங் பயன்படுத்தி படம் வரையலாமா....? வரையலாமா இல்லை. வரையலாம்! ப்ரோக்ராம்மிங்கை பொறுத்த வரையில் முடியுமா என்ற கேள்விக்கே இடமில்லை. முடியும் என முடிவுக்கட்டிவிடலாம். எனக்கு தொடக்கத்தில் கம்ப்யூட்டரை எப்படி பயன்படுத்தவேண்டும் என்பதே தெரியாது. உயிரியலில் (Biology) சாயுச்சியமாக ஆர்வம் கொண்டிருந்தேன். 

   

 

உச்சி முதல் பாதம் வரை என்ன என்ன ஆர்வமூட்டும் விடயங்கள் உள்ளன என்பதை தேடவே விரும்பிக்கொண்டிருந்தேன். ஆனால் என்ன செய்ய.... நாம் ஒன்று நினைக்க தெய்வம் ஒன்று நினைக்கும் என்பது போல்தான். உச்சி முதல் பாதம் வரை அறிய எண்ணிய என்னை, மண் முதல் விண் வரை மகத்துவம் காணச்செய்யும் பொறியியல் ஈர்த்தது. இன்று நான் ஒரு பொறியாளன். ஆனால், பூச்சி பச்சிகளையும், இலை இறகுகளையும், மீன் மிருகங்களையும், பாம்பு பறவைகளையும் பேரார்வம் கொண்டு தேடி பிடித்து ஆராய விரும்பும் வித்தியாசமான கணினி பொறியாளன். 
தொடக்கத்தில் துளி கூட கணினியின் பால் ஆர்வம் கிடையாது. கணினி அறிவும் கிடையாது. பத்தாம் வகுப்பு பள்ளி விடுமுறையில் SkyWin கம்ப்யூட்டர்ஸ் என அறியப்படும் கணினி கற்பிக்கும் இடத்தில் சேர்க்கப்பட்டேன். ஆனால் பென்குவின், மீனை விழுங்கும் Tux Typing விளையாட்டையும் படம் வரையும் Software-அயும் மட்டுமே பயன்படுத்தி பார்த்து விட்டு அங்கு செல்லாமல் மீண்டும் பறவை பிடிக்க சென்று விட்டேன். ஆக துளியும் கணினியை ஆய்ந்தது இல்லை.
இன்று நான் வேலை பார்க்கும் துறை Artificial Intelligence என அறியப்படும் செயற்கை நுண்ணறிவியலை சேர்ந்தது. "எப்படி கணினியில் மிகைத்தீர்கள் ?" என்பது பலர் என்னிடம் கேட்ட Frequently Asked Question. எனக்கு கிடைத்த ஆசிரியர்கள் தான் காரணம்  என நான் கூறும் போது சிலருக்கு நமக்கு மட்டும் ஏன் சரியான சூழ்நிலை கிடைக்கவில்லை என்ற மனப்பான்மை வரக்கூடும். ஆசிரியர்கள் அருமையாக அமையப்பெற்றாலும் நம்முள் இருக்கக்கூடிய ஒரு தீபம் தான் நாம் தொடர்ந்து பிரகாசிக்க வேண்டுமா இல்லை மங்கவேண்டுமா என தீர்மானிக்கும். அந்த தீபத்தை நான் ஆர்வம் என அழைப்பேன். ஆம்! ஆர்வமே காரணம். அந்த ஆர்வத்தை அறிந்து வளர்த்தால், நாம் எதிலும் மிகைத்துவிடலாம். 
தொடக்கத்தில் அநேக விடயங்களில் ஆர்வம் கொண்டிருந்தேன் (Computer-ஐ தவிர). படம் வரைவது மிக பிடிக்கும். அதனால் தான், SkyWin கம்ப்யூட்டர்ஸில், கம்ப்யூட்டரை பற்றி படிக்காமல் படம் வரைந்து மகிழ்ந்தேன்.
முதன் முதலில் பைத்தான் ப்ரோக்ராம்மிங்கை எனக்கு அறிமுகப்படுத்திய எனது ஆசிரியர்கள் தந்த உற்சாகம், என்னை மென்மேலும் பைத்தானை தேட வைத்தது. ஆனால் அந்த ஆர்வம் அக்கினியாய் வடிவெடுத்தது, பைத்தானை பயன்படுத்தி படம் வரைய முடியும் என அறிந்த போதுதான்.
ஆம்! என்னால் பைத்தானை பயன்படுத்தி படம் வரைய முடிந்தது. முதலில் ஒரு கோடு... பின்னர் சதுரம்... பின்னர் வட்டம்... பின்னர் முக்கோணம்... என நீண்ட இந்த படம் வரையும் நுட்பம் போக போக முழு பைத்தான் ப்ரோக்ராம்மிங் மொழியையும் கற்க வைத்துவிட்டது. கடைசியில் மிகவும் சிக்கலான படங்களையும் உருவங்களையும் வரைய முடிந்தது.
இந்த சாதாரண கணினி மூலம் படம் வரையும் விஷயம் (இப்போது சாதாரணமாக தோன்றுகிறது) என்னை கேம் உருவாக்கும் நுட்பத்தை அறிய செய்தது. அதன் மூலமாக கணினி விளையாட்டுக்களை உருவாக்கி தள்ளினேன். மேலும் கேம் உருவாக்கத்தில் வந்த ஆர்வம், ரூபி எனப்படும் மற்றொரு ப்ரோக்ராம்மிங் மொழியை கற்க செய்து அதிலும் கேம் உருவாக்க வித்திட்டது.கேம் உருவாக்கத்தை அடுத்து 3D Models உருவாக்கவும் முடிந்தது. ஆர்வ அக்கினி தற்போது AI-ஐ நோக்கி எரிந்து கொண்டுள்ளது. அதி விரைவில் வெளிச்சம் புலப்படும்.
படம் வரைய ஆரம்பித்த பயணம் தான் இப்போது இந்த உயிரியல் மாணவனை உரிய இடத்தில் வைத்துள்ளது என்றால் மிகையல்ல. சரி! இதன் முக்கியத்துவமும் இதுதான். கசக்கும் மாத்திரையை உண்ண அடம் பிடிக்கும் குழந்தைக்கு அம்மா சங்கில் சீனி (சர்க்கரைக்கான திருநெல்வேலி வட்டார சொல்) கலந்து கொடுப்பது போல தான், ப்ரோக்ராம்மிங்ல் ஆர்வம் இல்லாதவர்களை, ப்ரோக்ராம்மிங் மூலமாக படம் வரைய பழக்கி விடுவது நல்ல தொடக்கம் என்பது எனது முடிவு.
 

SANGU

அவர்கள் ஆர்வத்தாலேயே அதிகம் தேடி கற்பார்கள்.
 

ஆரம்பிக்கலங்களா ?

முதலில் பைத்தான் ப்ரோக்ராம்மிங் மொழியை இன்ஸ்டால் செய்து கொள்ளுங்கள். Open செய்து புது File ஒன்றை உருவாக்கி எனது முதல் ப்ரோக்ராம் என பொருள் படும் விதமாக first.py என பெயரிடுவோம். இதனுள் என்ன Type செய்தால் படம் வரைய முடியும் என யோசிப்போம். 
 
IMPORT

 
import turtle என்பது தான் முதல் வரி. இதற்கு ஆமையை இறக்குமதி செய்யுங்கள் என பொருள். ஆமையை வைத்து நாம் எப்படி படம் வரைய முடியும் ? உண்மையில் நாம் ஆமையை வைத்து தான் படம் வரைய போகிறோம். turtle எனப்படுவது படம் வரைவதற்கு தேவையான அனைத்து உபகரணங்களையும் நமக்கு தரக்கூடிய ஒரு சாக்கு மூட்டையின் பெயர். இதை ப்ரோக்ராம்மிங்ள் Module என அழைப்பர். இந்த Module-க்குள் பலவிதமான கருவிகள் அல்லது எழுதப்பட்ட ப்ரொக்ராம்ஸ் இருக்கும் என நினையுங்கள். அவ்வாறு நினைக்க முடியவில்லையென்றால் நாம் படம் வரைய தேவையான போர்டு, பென், கலரிங் Sketches ல்லாததையும் உள்ளடக்கிய சாக்கு மூட்டை என நினைப்பதே சிறப்பு. இப்போது இதை கொண்டு வந்து விட்டோம். இனி இந்த சாக்கு மூட்டைக்குள் இருக்கும் பென், போர்டு முதலானவற்றை வெளியே எடுத்து பயன்படுத்த வேண்டியது தான்! முதலில் நான் எனது பேனாவை எடுத்துக்கொள்கிறேன் !
 
 
பேனா ரெடி.... அடுத்தது போர்டு தான் ! 
 


போர்டின் அகலம் நீளத்தையும் சொல்லி அதன் நிறம் என்னவாக இருக்கவேண்டும் என்றும் நாம் சொல்லி வாங்கியுள்ளோம் பார்த்துக்கொள்ளுங்கள். எங்கே நமது போர்டு ?  உங்கள் ப்ரோக்ராமை ரன் செய்யுங்கள். இதோ இதுதான்.
 

 சரி... அது என்ன நட்ட நடுவில் கருநிற ராக்கெட் ஒன்று உள்ளது ? அது தான் நமது பேனா. அதன் வடிவம் இப்போது அம்புக்குறி போல உள்ளது. நிறமோ கருஞ்சிறுத்தைப்போல உள்ளது. அதன் நிறத்தை வெள்ளையாகவும் வடிவத்தை ஆமையை போலவும் நான் மாற்றுகிறேன்.
 

மீண்டும் ரன் செய்யுங்கள்...
 
 
 
தற்போது சிறிதளவு ஆர்வம் வந்திருக்கும் என அறிகிறேன். இனி வரையலாம்! இந்த ஆமையை முன்னோக்கி செல்ல சொல்வோம். forward()-க்குள்ளே நாம் எவ்வளவு பிக்ஸல்ஸ் தூரம் செல்ல வேண்டும் என சொல்ல வேண்டும். இங்கு கிலோ மீட்டர் கணக்கெல்லாம் கிடையாது.
 

நான் ஒரு 100 பிக்ஸல்ஸ் முன்னோக்கி செல்ல சொல்கிறேன்.
 

இனி இதை இடது பக்கம் திரும்பி மீண்டும் ஒரு நூறு பிக்ஸல்ஸ் செல்ல சொல்வோம்.
 

நாம் தொண்ணூறு டிகிரி திரும்பினால் தான் சரியாக இவ்வாறு செல்ல முடியும். நீங்கள் வேறு கோணங்களில் திரும்பி சென்று பாருங்கள். விதவிதமான உருவங்களை உருவாக்கலாம்.
 
இனி இந்த ஆமையை மீண்டும் இடது திரும்பி நூறு பிக்ஸல்ஸ் சென்று பின் மீண்டும் இடது திரும்பி நூறு பிக்ஸல்ஸ் செல்ல சொல்வோம். அப்படியென்றால் என்ன வடிவம் நமக்கு கிடைக்கும் ?
 
PROGRAM TO DRAW A SQUARE
 
சதுரம்.

SQUARE DRAWN
ஆனால் நாம் மறுபடியும் மறுபடியும் அந்த இரண்டு வரிகளை எழுதுகிறோம். எப்பொழுதும் கம்மியா தான் எழுத வேண்டும். ஒரு லூப் ( Loop ) ஒன்றை பயன்படுத்துவோம். 
 
 
Same Output using Loop :
 

அப்பாடா.... ஒரு வழியாக வரைந்துவிட்டோம் ! இனி இதற்க்கு கலர் அடிக்கலாமே! இங்கே அடிக்கிறோம் குத்துறோம் என்ற சொற்களுக்கெல்லாம் இடம் இல்லை. கலர் Fill செய்ய போகிறோம் என்று தான் சொல்ல வேண்டும். வரைய ஆரம்பிப்பதற்கு முன்னரே நாம் Fill பண்ண ஆரம்பிக்க வேண்டும் (Using begin_fill() ). வரைந்து முடித்ததும் Fill செய்து முடிக்க வேண்டும் ( Using end_fill() ). என்ன நிறத்தில் Fill செய்ய போகிறோம் என்றும் குறிப்பிடவேண்டும் ( Using fillcolor() ) .
 

அழகிய செந்நிறத்தால் இதை Fill செய்துவிட்டோம்.
 

சரி! வண்ணங்களை கண்டதும் வேறு வண்ணம் மாற்றலாம் என எண்ணம் வருகிறது. மஞ்சளாக மாற்றினாலும் பச்சையாக மாற்றினாலும் இல்லை எந்த நிறமாக மாற்றினாலும் அது சாதியின் நிறங்கள் என ஆகும் என்ற எண்ணம் வருவதனால் நிறத்தோடு பின்னர் விளையாடலாம் என எண்ணங்கள் வேலியிடுகின்றன. (Dangerous Society 😈)
 
பல வடிவங்களை நம்மால் வரைய முடியும். ஒரு வட்டம் வரைய வேண்டும் என்றால் circle() என்ற Function-ஐ பயன்படுத்தலாம். இதில் ஆரம் (Radius) மற்றும் எவ்வளவு கோணத்தை ஏற்படுத்த வேண்டும் என்று குறிப்பிட வேண்டும்.  
 

வாழ்க்க ஒரு வட்டங்கண்ணா.....
 

இதை நன்கு நாம் கவனித்தால் ஒரு விஷயம் புலப்படும். இது பல சிறு சிறு கோடுகளால் ஆன உருவம் என அறியலாம். ஏனென்றால் கணினியியலில் எல்லாம் 1 மற்றும் 0-ஆல் ஆனதுதான். இந்த வட்டமும் அப்படி ஆனதுதான். அதாவது எதுவும் தொடர்ச்சியாக இருப்பதில்லை ( Not Continuous but Discrete ).
 
இதயத்தை வரையலாம்....

 

மேலே உள்ள இதய ப்ரோக்ராம்மிங்கில் நான் சொல்லாத சில விஷயங்களை பயன்படுத்தியுள்ளேன். தேடல் என்பது உள்ளவரை வாழ்வில் ருசியிருக்கும்... வாழ்வை ருசிக்க வேண்டுமா ? தேடுங்கள் ! மேலே உள்ளவற்றில் நீங்கள் அறியாதவற்றை தேடுங்கள்! உங்கள் இதயம் மேலேயுள்ள இதயத்தை வரையும் நுட்பம் தேடட்டும்.
மேலும் கற்க தளத்தை பயன்படுத்திக்கொள்ளுங்கள்  :  YEAH CLICK ME
ப்ரோக்ராம்மிங் ஆவலுக்கான துவக்க கட்டுரையாக இது அமையவேண்டும் என்பதே  எனது ஆசை. நீங்கள் இதை படிப்பதை பயனுள்ளதாக எண்ணினால் உரியவருக்கு பகிருங்கள் !
மிகுந்த மகிழ்ச்சியுடன்,
 அரிகரசுதன்....

கருத்துகள்

பெயரில்லா இவ்வாறு கூறியுள்ளார்…
தம்பியோ நீங்க அற்புதமா அனுபவித்து இந்த கட்டுரையை எழுதியிருக்கீங்க😍😍😍....இது மிகவும் பயனுள்ளதாக இருந்தது...உங்களை நினைத்து,எனக்கு மிகவும் பெருமையாக உள்ளது😇😇... நான் பிரமித்து 🙀விட்டேன்...இப்படி ஒரு மாணவனை சந்தித்ததில் எனக்கு மிகுந்த மகிழ்ச்சி..🎉🕺🏿🕺🏿🥳🥳. இன்னும் உங்கள் படைப்புகளை எதிர்பார்த்து ஆவலுடன் ,உங்கள் சகோதரன் காத்துக் கொண்டிருப்பேன்..😍😍😍 வாழ்த்துக்கள் thammbiyooo..😍😍😍
பெயரில்லா இவ்வாறு கூறியுள்ளார்…
Super 👌
பெயரில்லா இவ்வாறு கூறியுள்ளார்…
👍
Ariharasudhan இவ்வாறு கூறியுள்ளார்…
Thank You