ძირითადი მასალა
კომპიუტერული პროგრამირება
კურსი: კომპიუტერული პროგრამირება > თემა 5
გაკვეთილი 7: ოსცილაცია (სხვაობა)- რყევის (ოსცილაციის) ამპლიტუდა და პერიოდი
- გამოწვევა: ცისარტყელას სპირალი
- ოსცილაცია კუთხური ვექტორით
- გამოწვევა: კოსმოსური ხომალდის მართვა
- ტალღები
- გამოწვევა: ბევრი ტალღა
- ტრიგონომეტრია და ძალები: ქანქარა
- გამოწვევა: ქანქარა თოჯინა
- გაზაფხულის ძალები
- პროექტი: მცოცავი, მხოხავი, მბრუნავი ქმნილებები
© 2023 Khan Academyგამოყენების პირობებიკონფიდენციალურობის პოლიტიკაშენიშვნა ქუქი-ჩანაწერებზე
ოსცილაცია კუთხური ვექტორით
რხევის, ამპლიტუდისა და სიხშირე/პერიოდის კონცეფციების გაგება ხშირად მოითხოვება რეალური სამყაროს ქცევის სიმულაციის კურსში. მიუხედავად ამისა, არსებობს უფრო მარტივი გზა ზემოთ მოცემული მაგალითის გადაწერისა იმავე შედეგით. კიდევ ერთხელ შევხედოთ ჩვენი რხევის ფორმულას:
var x = amplitude * sin(TWO_PI * frameCount / period);
და მოდით, ეს ოდნავ განსხვავებულად გადავწეროთ:
var x = amplitude * sin(რაიმე ცვლადი, რომელიც ნელა იზრდება);
თუ რხევის პერიოდის განსაზღვრა გვინდა ანიმაციის კადრების მიხედვით, შეიძლება, დაგვჭირდეს ფორმულა იმ სახით, რომლითაც თავიდან დავწერეთ, მაგრამ აგრეთვე შეგვიძლია, ადვილად გადავწეროთ ჩვენი მაგალითი კუთხური სიჩქარის (და აჩქარების) კონცეფციის გამოყენებით კუთხური მოძრაობის გაკვეთილიდან. დავუშვათ:
var angle = 0;
var aVelocity = 0{,}03;
...
draw()
-ში შეგვიძლია, უბრალოდ ვთქვათ:angle += aVelocity;
var x = amplitude * sin(angle);
...სადაც
angle
არის ჩვენი „რაიმე ცვლადი, რომელიც ნელა იზრდება."აი, ჩვენი შეცვლილი პროგრამა:
ფაქტი, რომ მას პირდაპირ არ მივმართავთ, არ ნიშნავს, რომ ჩვენ გამოვრიცხეთ პერიოდის კონცეფცია. რაც უფრო მეტია კუთხური სიჩქარე, უფრო სწრაფად დაიწყებს რხევას წრე (შესაბამისად, შეამცირებს პერიოდს). მეტიც, ის რაოდენობა, რამდენჯერაც კუთხური სიჩქარის შეკრება არის საჭირო TWO_PI-მდე მისაღწევად, არის პერიოდი, ანუ:
period = TWO_PI / angular velocity
მოდით, ოდნავ განვავრცოთ ეს მაგალითი და შევქმნათ
Oscillator
(ოსცილატორი) ობიექტი. დავუშვათ, გვინდა, რხევა მოხდეს როგორც x ღერძის გასწვრივ (ზემოდან), აგრეთვე y ღერძის გასწვრივაც. ამის გასაკეთებლად დაგვჭირდება ორი კუთხე, ორი კუთხური სიჩქარე და ორი ამპლიტუდა (თითოეული ღერძისთვის თითო). კიდევ ერთი დიდებული შესაძლებლობა PVector
-ისთვის!წაიკითხეთ კოდი ქვემოთ მოცემულ პროგრამაში:
ეს „ბუნებრივი სიმულაციების" კურსი ეფუძნება დანიელ შიფმენის წიგნს "კოდის ბუნებას", ის გამოყენებულია ლიცენზიით Creative Commons Attribution-NonCommercial 3,0 Unported License.
გსურთ, შეუერთდეთ დისკუსიას?
პოსტები ჯერ არ არის.