-
მოდით, უკეთ გავერკვეთ ხატვაში.
-
რა შეგვიძლია გავაკეთოთ
მართკუთხედების გარდა?
-
შეგვიძლია გავაკეთოთ
ოვალები ellipse-ს გამოყენებით,
-
რაც კიდევ ერთი კომპიუტერული ბრძანებაა.
-
ბრძანებებისთვის პროგრამირებაში
სპეციალური სახელი არსებობს - ფუნქციები.
-
ამიერიდან "ბრძანების" ნაცვლად
სიტყვა "ფუნქცია"-ს გამოვიყენებ.
-
დავწეროთ ფუნქცია სახელად
ellipse, შემდეგ () და ბოლოს ;
-
არ მუშაობს.
-
შეტყობინება გვეუბნება,
რომ გვაკლია პარამეტრები.
-
შეგიძლიათ მიხვდეთ რა
გვაკლია ამ ფუნქციის rect-თან შედარებით?
-
როცა ვწერთ ellipse-ს, უნდა მივუთითოთ
რიცხვებიც, ისე როგორც rect-ის შემთხვევაში.
-
ამ რიცხვებს პარამეტრები ეწოდებათ.
-
ვამბობთ, რომ ფუნქციას
გადავცემთ პარამეტრებს
-
ისინი კი აკონტროლებენ
თუ რას იზამს ფუნქცია.
-
პარამტერების გარეშე პროგრამამ არ
იცის სად და რამხელა უნდა იყოს ელიფსი.
-
გასაგებია თუ რატომ მივიღეთ შეტყობინება.
-
გადავცეთ ამ ფუნქციას ოთხი პარამეტრი,
-
რათა გავაკონტროლოთ თუ სად, რა სიმაღლის
და რა სიგრძის უნდა დაიხატება ელიფსი.
-
წინანდელივით, შეგვიძლია
ელიფსი ვამოძრაოთ და ზომაშიც ვცვალოთ.
-
რადგან გავერკვიეთ, დავხაზოთ
ელიფსი ზუსტად ფანჯრის შუაში.
-
ალბათ გინდათ გაიხსენოთ თუ სადაა შუა.
-
ზედა მარცხენა წერტილი
არის ნული, მარჯვენა კი 400.
-
ზემოდან ქვემოთ დაშორებაც არის 400.
-
რა იქნება შუა?
-
პირველი ვარაუდით,
უნდა იყოს 400-ის ნახევარი, ანუ 200.
-
სიმაღლეშიც იგივე,
400-ის ნახევარი ანუ 200.
-
მოდით დავხატოთ ამ
ადგილას, დავწეროთ ellipse ბრძანება,
-
გადავცეთ პარამეტრები
და დიდი ზომის დავხატოთ.
-
ესეც ასე.
-
მოდით მართკუთედიც ჩავსვათ.
-
დავწეროთ rect(200, 200
-- და უფრო მცირე იყოს -- 100, 100);
-
საინტერესოა, რას
გვიჩვენებს ჩვენი ექსპერიმენტი?
-
როგორც ვხედავთ, ელიფსის შემთხვევაში
200, 200 გვიჩვენებს ცენტრის მდებარეობას,
-
მართკუთხედისთვის კი ეს
განსხვავებულია, და გვეუბნება,
-
თუ სად უნდა მოვათავსოთ
მართკუთხედის მარცხენა ზედა წერტილი.
-
ამისი ცოდნა აუცილებელია
ფიგურების დახატვისას.
-
ახლა გადავიდეთ მონაკვეთებზე.
-
მონაკვეთის ფუნქციას ეწოდება line.
-
შეგვიძლია ისევ გადავცეთ პარამეტრები,
-
თუმცა, მონაკვეთს ზომა არ
აქვს როგორც მართკუთხედს არა?
-
მაშინ რა რიცხვები უნდა მივუთითოთ?
-
პირველი და მეორე პარამეტრები იგივე იქნება,
-
რა სიმაღლესა და სიგანეზე
უნდა დაიწყოს მონაკვეთი,
-
პარამეტრების მეორე წყვილი კი --
-
-- უკაცრავად, მეორე
წყვილი, ანუ 90 და 200 --
-
გვიჩვენებს თუ რა სიმაღლესა
და სიგანაზე დასრულდება მონაკვეთი.
-
რადგან გვესმის თუ ეს როგორ მუშაობს,
-
მოდით ახლა ვნახოთ რაღაც,
რაც თავიდან უცნაური იქნება.
-
რა მოხდება თუ მართკუთხედს
ზედა მარცხენა კუთხეში დავიწყებ?
-
-- დიდი იყოს --
-
შეგვიძლია უფრო გავზარდოთ,
მაგრამ ალბათ ზედმეტი იქნება.
-
როგორც ხედავთ, ნელნელა
ელიფსი გაქრობას იწყებს.
-
შეგვიძლია მთლიანად გავაქროთ.
-
საინტერესოა, სად წავიდა?
-
საქმე ისაა, რომ კომპიუტერი
ფიგურებს თანმიმდევრულად ხატავს.
-
ჯერ დახატა ელიფსი, შემდეგ
კი ზემოდან მართკუთხედი დაახატა.
-
ახლა კი დაემატა მონაკვეთიც.
-
ელიფსი ისევ თავის ადგილასაა,
უბრალოდ ფიგურებს ქვემოთ.
-
ეს მნიშვნელოვანია გვახსოვდეს.
-
რა მოხდებოდა ჯერ
რომ მონაკვეთი დაგვეხაზა?
-
მთლიანად ვერ დავინახავდით, ასე არაა?
-
შეიძლება ეს თქვენს
პროგრამაში მოხდეს და გაგიკვირდეთ.
-
სინამდვილეში ნახატი
თავის ადგილზეა, მაგრამ
-
ამჯერად მას ელიფსი
და მართკუთხედი ფარავენ.
-
შეგვიძლია ვაკონტროლოთ
რომელი ფიგურა რომლის თავზე დაიხატოს,
-
ამისთვის საკმარისია
ფუნქციების თანმიმდევრობის კონტროლი.
-
სანამ დავასრულებთ, მინდა
რამდენიმე ტექნიკური ტერმინი გაგაცნოთ.
-
ალბათ როგორც მათემატიკაში გისწავლიათ,
-
შეგვიძლია ასო x გამოვიყენოთ
იმისთვის, რომ აღვნიშნოთ სიგანე
-
და y, რომ აღვნიშნოთ სიმაღლე.
-
შესაძლოა ეს ცოტა
უცნაურად ჟღერს თუ არ მიჩვენულხართ,
-
მაგრამ უფრო მარტივია ასე თქმა:
რამდენად მარჯვნივ და რამდენად ქვემოთ"
-
ჩვენი ელიფსის პირველი
ორი პარამეტრი, მაგალითად,
-
გვეუბნება, რომ x
უდრის 200-ს, y კი - 229-ს.
-
ესეც ასე. იგივეა რაც
"რამდენად მარჯვნივ" და "რამდენად ქვემოთ".
-
მეორე საკმაოდ კარგი კითხვა ასეთია,
-
რა ერთეულებს ვიყენებდით
მთელი ამ დროის განმავლობაში?
-
200 სანტიმეტრი? ინჩი? იქნებ მილი?
-
ჩვენ ვიყენებთ ერთეულებს,
სახელად "პიქსელი".
-
პიქსელი არის პატარა
წერტილი თქვენს ეკრანზე.
-
ეს სახატავი ტილო სიგანეში 400 პიქსელია,
-
ამიტომ ვამბობთ რომ მარცხენა
კუთხე ნულია, მარჯვენა კი 400,
-
ანუ 400 პიქსელი.
-
იგივენაირად, როცა ვამბობთ
200-ს, ვგულისხმობთ 200 პიქსელს.
-
ალბათ გასაგებია.
-
ძალიან კარგი!
-
ახლა უკვე ყველაფერი ვიცით line,
ellipse და line-სა და მათ პარამეტრებზე.
-
მართალია სულ ახლახან დავიწყეთ სწავლა,
მაგრამ თუ იმუშავებთ, მარტივად მიეჩვევით.