If you're seeing this message, it means we're having trouble loading external resources on our website.

თუ ვებფილტრს იყენებთ, დარწმუნდით, რომ *.kastatic.org და *.kasandbox.org დომენები არ არის დაბლოკილი.

ძირითადი მასალა

ოსცილაცია კუთხური ვექტორით

რხევის, ამპლიტუდისა და სიხშირე/პერიოდის კონცეფციების გაგება ხშირად მოითხოვება რეალური სამყაროს ქცევის სიმულაციის კურსში. მიუხედავად ამისა, არსებობს უფრო მარტივი გზა ზემოთ მოცემული მაგალითის გადაწერისა იმავე შედეგით. კიდევ ერთხელ შევხედოთ ჩვენი რხევის ფორმულას:
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.

გსურთ, შეუერთდეთ დისკუსიას?

პოსტები ჯერ არ არის.
გესმით ინგლისური? დააწკაპუნეთ აქ და გაეცანით განხილვას ხანის აკადემიის ინგლისურენოვან გვერდზე.