ძირითადი მასალა
კომპიუტერული პროგრამირება
კურსი: კომპიუტერული პროგრამირება > თემა 4
გაკვეთილი 6: გარდაქმნებიმასშტაბირება
საკოორდინატო სისტემის ბოლო გარდაქმნა არის სკალირება (მასშტაბირება), რომელიც ცვლის ბადის ზომას. შეხედეთ ამ პროგრამას, რომელიც ხატავს კვადრატს, შემდეგ ბადის ზომას ზრდის ორჯერ და ისევ ხატავს მას.
თავიდან, როგორც ხედავთ, შთაბეჭდილება რჩება, რომ კვადრატი გადაადგილდა. რა თქმა უნდა, ის არ გადაადგილებულა. მისი ზედა მარცხენა კუთხე ისევ (20, 20) წერტილზეა სკალირებულ ბადეში, მაგრამ ეს წერტილი ახლა ორჯერ უფრო შორსაა ათვლის სათავიდან, ვიდრე თავდაპირველ საკოორდინატო სისტემაში იყო.
თუ გსურდათ, რომ დიდი კვადრატი დაწყებულიყო იმავე კუთხეში, რომელშიც - პატარა კვადრატი, შეგეძლოთ, ჯერ გადაგეტანათ და შემდეგ დაგესკალირებინათ:
ალბათ შეამჩნევდით, რომ ორივე პროგრამაში ხაზები უფრო სქელია დიდ კვადრატებზე. ეს არ არის ოპტიკური ილუზია—ხაზები ნამდვილად ორჯერ უფრო სქელია, რადგან საკოორდინატო სისტემა ორჯერ არის გაზრდილი. შეგიძლიათ, ამის თავიდან ასარიდებლად ხელით შეცვალოთ
strokeWeight()
, ან საერთოდ თავი აარიდოთ scale()
-ის გამოყენებას.სურვილის შემთხვევაში შეგიძლიათ,
scale()
ბრძანებას გადასცეთ 2 პარამეტრი მხოლოდ 1-ის ნაცვლად, ამ გზით შეძლებთ x და y განზომილებების ცალ-ცალკე მასშტაბირებას. სცადეთ scale(3{,}0, 0{,}5)
-ის გამოყენება ზედა პროგრამაში, რათა x განზომილება 3-ჯერ გაზარდოთ და y განზომილება გაანახევროთ.ეს სტატია არის დევიდ აიზენბერგის 2-განზომილებიანი გარდაქმნების ადაპტაცია, რომელიც გამოყენებულია Creative Commons Attribution-NonCommercial-ShareAlike ლიცენზიით.
გსურთ, შეუერთდეთ დისკუსიას?
პოსტები ჯერ არ არის.