برای استفاده از آکادمی خان باید به مرورگر وب دیگر ارتقا دهید. برای شروع به روزرسانی فقط یکی از گزینه های زیر را انتخاب کنید.
اگر این پیام را مشاهده می کنید ، این بدان معنی است که ما در بارگیری منابع خارجی در وب سایت خود مشکل داریم.
اگر پشت فیلتر وب هستید ، لطفاً اطمینان حاصل کنید که دامنه *. kastatic. org و *. kasandbox. org بدون انسداد هستند.
محتوای اصلی
برنامه نویسی کامپیوتر
واحد 5: درس 7
نوسانات دامنه و دوره نوسان چالش: رنگین کمان لاغر نوسان با سرعت زاویه ای چالش: سواری سفینه فضایی امواج چالش: بسیاری از امواج ماشه و نیروها: آونگ چالش: عروسک آونگ نیروهای بهاری پروژه: فرش ، خزیدن ، موجودات گردش © 2023 آکادمی خان
دامنه و دوره نوسان
آیا هنوز متحیر شده اید؟در بخش حرکات زاویه ای ، ما شاهد استفاده های بسیار خوبی از مماس (برای یافتن زاویه یک بردار) و سینوسی و کسین (برای تبدیل از مختصات قطبی به دکارتی) بودیم. ما می توانیم درست در اینجا متوقف شویم و راضی باشیم. اما ما نمی خواهیماین تنها آغاز است. کاری که سینوس و کسین می تواند برای شما انجام دهد فراتر از فرمول های ریاضی و مثلث های راست است.
بیایید نگاهی به نمودار عملکرد سینوس بیندازیم ، جایی که y = سینوس (x)
متوجه خواهید شد که خروجی عملکرد سینوسی یک منحنی صاف است که بی ن-1 و 1 متناوب است. این نوع یک رفتار به عنوان نوسان شناخته می شود ، یک حرکت دوره ای بین دو نقطه. با استفاده از رشته گیتار ، نوسان آونگ ، تندرست روی چوب پوگو - این همه نمونه هایی از حرکت نوسان کننده هستند.
و بنابراین ما با خوشحالی متوجه می شویم که می توانیم با اختصاص خروجی عملکرد سینوسی به مکان یک شیء ، نوسان را در یک برنامه پردازش JS شبیه سازی کنیم. توجه داشته باشید که این همان روشی را که ما در بخش سر و صدا در مورد نویز پرلین اعمال کردیم ، دنبال می کند.
بیایید با یک سناریوی واقعاً اساسی شروع کنیم. ما می خواهیم یک دایره از سمت چپ به سمت راست بوم خود نوسان کند.
این همان چیزی است که به عنوان حرکت هارمونیک ساده شناخته می شود (یا ، جالب تر ، "نوسان دوره ای سینوسی یک شی"). این یک برنامه ساده برای نوشتن خواهد بود ، اما قبل از اینکه وارد کد شویم ، بگذارید خود را با برخی از اصطلاحات نوسان (و امواج) آشنا کنیم.
حرکت هارمونیک ساده را می توان به عنوان هر مکان (در مورد ما ، مکان X) به عنوان تابعی از زمان ، با دو عنصر زیر بیان کرد:
- دامنه: فاصله از مرکز حرکت تا هر دو شدید
- دوره: مقدار زمانی که برای یک چرخه کامل حرکت طول می کشد
با نگاهی به نمودار سینوس تعبیه شده در بالا ، می بینیم که دامنه 1 و دوره دو_PI است. خروجی سینوس هرگز از 1 یا زی ر-1 بالا نمی رود. و هر دو رادیان دو_PI (یا 360 درجه) الگوی موج تکرار می شود.
اکنون ، در دنیای پردازش که در آن زندگی می کنیم ، دامنه چیست و دوره چیست؟دامنه را می توان به راحتی در پیکسل ها اندازه گیری کرد. در مورد پنجره 200 پیکسل عرض ، از مرکز 100 پیکسل به سمت راست و 100 پیکسل به سمت چپ نوسان می کنیم. از این رو:
// دامنه ما در دامنه پیکسل اندازه گیری شده = 100 ؛
دوره مدت زمان لازم برای یک چرخه است ، اما در دنیای پردازش ما چه زمانی است؟منظورم این است که مطمئناً می توانیم بگوییم که می خواهیم دایره هر سه ثانیه نوسان کند. و ما می توانیم میلی ثانیه را در برنامه خود (با استفاده از میلی لیس)) ردیابی کنیم و یک الگوریتم پیچیده برای نوسان یک شی را با توجه به زمان واقعی ارائه دهیم.
با این حال ، ما گزینه دیگری داریم: ما می توانیم از این واقعیت استفاده کنیم که برنامه های پردازش JS دارای مفهوم "فریم" هستند و به طور پیش فرض ، یک برنامه سعی دارد 30 "فریم در ثانیه" را اجرا کند. پردازش JS متغیر FrameCount را به ما می دهد تا دریابیم که در حال حاضر در چه قاب هستیم و عملکرد Framerate () برای تغییر فریم های ترجیحی در ثانیه. 30 فریم در ثانیه نرخ فریم پیش فرض است ، زیرا این یک سرعت مناسب برای تولید یک انیمیشن صاف برای فریب مغز انسان است ، اما گاهی اوقات می تواند سرعت آن را کاهش دهد ، مانند هنگام اشکال زدایی.
بنابراین می توانیم تصمیم بگیریم که دوره خود را بر اساس تعداد فریم های سپری شده پایه گذاری کنیم ، همانطور که دیدیم که از نزدیک با زمان دنیای واقعی مرتبط است- می توان گفت که حرکت نوسان باید هر 30 فریم ، یا 50 فریم ، یا 1000 فریم و غیره را تکرار کند.
// دوره ما در فریم ها (واحد زمان ما برای انیمیشن) اندازه گیری می شود) دوره VAR = 120 ؛
هنگامی که دامنه و دوره را داشته باشیم ، وقت آن است که یک فرمول برای محاسبه x به عنوان تابعی از زمان بنویسیم ، که شمارش قاب فعلی را برای آن جایگزین خواهیم کرد.
var x = دامنه * گناه (دو_PI * frameCount / دوره) ؛
بیایید فرمول را کمی بیشتر جدا کنیم و سعی کنیم هر مؤلفه را درک کنیم. اولین مورد احتمالاً ساده ترین است. هرچه از عملکرد سینوسی بیرون می آید ، با دامنه چند برابر می شویم. ما می دانیم که سینوس بی ن-1 و 1 نوسان خواهد کرد.(توجه: این همچنین مکانی است که ما می توانیم از عملکرد MAP () MAP () استفاده کنیم تا خروجی سینوسی را به یک محدوده سفارشی نقشه برداری کنیم.)
حال ، بیایید به آنچه در داخل عملکرد سینوسی است نگاه کنیم: Two_pi * framecount / دوره
اینجا چه خبره؟بیایید با آنچه می دانیم شروع کنیم. ما می دانیم که سینوس هر 2*رادیان پی را تکرار می کند - یعنی. از 0 شروع می شود و در 2*pi ، 4*pi ، 6*pi و غیره تکرار می شود.، و غیره FrameCount واقعاً تنها متغیر است. از 0 شروع می شود و به سمت بالا حساب می شود. بیایید نگاهی بیندازیم که فرمول با این مقادیر چه چیزی را به دست می آورد.
| قاب | framecount / دوره | Two_pi * framecount / دوره |
| 0 | 0 | 0 |
| 60 | 0.5 | PI |
| 120 | 1 | دو_ پی |
| 240 | 2 | 2 * Two_pi (یا 4 * pi) |
| و غیره. |
Framecount تقسیم بر دوره به ما می گوید چند چرخه را تمام کرده ایم - آیا ما در نیمه اول چرخه اول هستیم؟آیا ما دو چرخه را تمام کرده ایم؟با ضرب آن شماره توسط دو_PI ، نتیجه مورد نظر خود را می گیریم ، زیرا دو_PI تعداد رادیان مورد نیاز برای یک سینوسی برای تکمیل یک چرخه است.
با بسته بندی این همه ، در اینجا برنامه ای است که موقعیت X یک دایره را با دامنه 100 پیکسل و یک دوره 120 فریم نوسان می کند.
همچنین لازم به ذکر اصطلاح فرکانس است: تعداد چرخه ها در هر واحد. فرکانس برابر با 1 تقسیم بر دوره است. اگر دوره 120 فریم باشد ، فقط 1/120 یک چرخه در یک قاب تکمیل می شود ، و بنابراین فرکانس = 1/120 چرخه/قاب. در مثال فوق ، ما به سادگی تصمیم گرفتیم میزان نوسان را از نظر دوره تعریف کنیم و بنابراین نیازی به متغیر برای فرکانس نداریم.
توجه داشته باشید که ما با استفاده از عملکرد سینوسی (SIN () در پردازش J) از طریق همه این موارد کار کردیم ، اما همان ایده ها برای استفاده از عملکرد Cosine اعمال می شود. دوره برای هر دو یکسان است و تفاوت اصلی این است که آیا دامنه آغاز از 1 یا در 0 شروع می شود.
این دوره "شبیه سازی های طبیعی" مشتق "ماهیت کد" توسط دانیل شیفمن است که تحت یک مجوز خلاق Commons Attribution-Noncommercial 3. 0 بدون گزارش استفاده می شود.
مرتب سازی بر اساس: برتر رأی داد
میخواهی وارد گفتگو شوی؟
7 سال پیش ارسال شده 7 سال پیشپیوند مستقیم به پست Chewe Maxwell "چگونه نقشه (y ، -1،1،1". بیشتر نقشه (Y ، -1،1،100،200) چگونه کار می کند؟
دکمه پاسخ به صفحه ثبت نام می رود • 1 نظر نظر در مورد پست Chewe Maxwell "چگونه نقشه (y ، -1،1،1".
رای موافق دکمه مدال ثبت نام را باز می کند پایین دکمه مدال ثبت نام را باز می کند پرچم دکمه مدال ثبت نام را باز می کند بیشتر 7 سال پیش ارسال شده 7 سال پیشپیوند مستقیم به پست دالندریون "تصور کنید که یک خط کشیده شده است." بیشتر
تصور کنید که یک خط ا ز-1 تا 1 کشیده شده است. یک نقطه در جایی در آن خط وجود دارد ، به نام "y". عملکرد MAP مانند یک باند لاستیکی کشیده می شود به طوری که از 100 شروع می شود و در 200 به پایان می رسد. این بدان معنی است که نقطه "y" نیز حرکت می کند. این مقداری است که عملکرد نقشه برمی گردد.
5 نظر نظر در مورد پست دالندریون "یک خط کشش را تصور کنید." رای موافق دکمه مدال ثبت نام را باز می کند پایین دکمه مدال ثبت نام را باز می کند پرچم دکمه مدال ثبت نام را باز می کند بیشتر 7 سال پیش ارسال شده 7 سال پیشپیوند مستقیم به پست Szymon Wańczyk "آیا کسی می داند چرا من." بیشتر
آیا کسی می داند چرا دکمه های من روی مرورگر کار نمی کند؟در اینجا در آکادمی خان همه چیز خوب است اما وقتی می خواستم کد JS Proccessing خود را در وب سایت خودم قرار دهم ، تعامل با دکمه های صفحه کلید کار نمی کند. تعامل با موش به خوبی کار می کند.
دکمه پاسخ به صفحه ثبت نام می رود • دکمه نظرات به صفحه ثبت نام می رود رای موافق دکمه مدال ثبت نام را باز می کند پایین دکمه مدال ثبت نام را باز می کند پرچم دکمه مدال ثبت نام را باز می کند بیشتر 7 سال پیش ارسال شده 7 سال پیشپیوند مستقیم به پست WilltheProgrammer "شما باید P. را بارگیری کنید" بیشتر
همچنین ، نسخه پردازش JS مورد استفاده در آکادمی خان کمی متفاوت است ، بنابراین ممکن است بخواهید مستندات "رسمی" را در پردازش Js. org مرور کنید
دکمه نظر به صفحه ثبت نام می رود رای موافق دکمه مدال ثبت نام را باز می کند پایین دکمه مدال ثبت نام را باز می کند پرچم دکمه مدال ثبت نام را باز می کند بیشتر 6 سال پیش ارسال شده 6 سال پیش" بیشتر من در مرحله 1 گیر کرده ام. آیا کسی می تواند کمک کند؟من کمی گیج شده ام. لطفا پاسخ دهید. دکمه پاسخ به صفحه ثبت نام می رود • دکمه نظرات به صفحه ثبت نام می رود رای موافق دکمه مدال ثبت نام را باز می کند پایین دکمه مدال ثبت نام را باز می کند پرچم دکمه مدال ثبت نام را باز می کند بیشتر 6 سال پیش ارسال شده 6 سال پیشپیوند مستقیم به پست باب لیون "اشاره سه خط را نشان می دهد." بیشتر اشاره سه خط کد با سه جعبه رنگی مختلف را نشان می دهد:
var Orange = sin (two_pi * framecount / pink) ؛var blue = map (.) ؛drawslinky (عرض/2 ، 10 ، آبی) ؛
با کار به عقب ، جعبه آبی باید مختصات Y باشد که سومین پارامتر Drawlinky است. بنابراین خط 2 به سادگی متغیر را برای نگه داشتن آن مقدار آبی اعلام می کند. چگونه؟با نقشه برداری از مقدار جعبه نارنجی در خط یک.
از آنجا که مقدار جعبه نارنجی نتایج عملکرد SIN است ، تضمین می شود بی ن-1 و 1+ باشد.
جعبه صورتی در خط یک تلاش ثابت و عجیب و غریب برای کمک به شما در تبدیل درجه به رادیان است.
دکمه نظر به صفحه ثبت نام می رود رای موافق دکمه مدال ثبت نام را باز می کند پایین دکمه مدال ثبت نام را باز می کند پرچم دکمه مدال ثبت نام را باز می کند بیشتر 7 سال پیش ارسال شده 7 سال پیشپیوند مستقیم به پست یوگش کومار "همپوشانی وار چیست." بیشتر متغیر همپوشانی در واقع در چالش بعدی چه کاری انجام می دهد؟ دکمه پاسخ به صفحه ثبت نام می رود • دکمه نظرات به صفحه ثبت نام می رود رای موافق دکمه مدال ثبت نام را باز می کند پایین دکمه مدال ثبت نام را باز می کند پرچم دکمه مدال ثبت نام را باز می کند بیشتر 7 سال پیش ارسال شده 7 سال پیشپیوند مستقیم به پست آدریانا "متغیر همپوشانی n است." بیشتر
متغیر همپوشانی یک دستور ویژه JS مانند قرعه کشی نیست ، می تواند هر چیزی نامگذاری شود! نحوه استفاده از ارزش آن چیزی است که در اینجا حساب می شود. هنگامی که از آن برای ضرب "فضا" در مقدار y عملکرد بیضی استفاده می شود ، باعث می شود موقعیت های Y در مقدار اصلی آنها به دست بیاید ، این به معنای کمی بالاتر از صفحه از حالت عادی یا ضرب آن 1 است. همچنین از آن برای تعریف فضا با تقسیم اندی با همپوشانی استفاده می شود. این فقط باعث می شود که باریک کمی طولانی تر شود. اگر همپوشانی را در اینجا حذف کنید ، لاغر کوچک می شود. روشی که در واقع لاغر در واقع با تغییر پویا عرض با استفاده از عملکرد سین دوره ای تغییر می کند. از آنجا که فضا با عبور از استدلال اندی تعریف می شود ، و استدلال اندی که در آن گذشت ، یک عملکرد گناه است ، موقعیت Y نیز با هر دوره به صورت پویا تغییر می کند!
تجارت گزینه های دودویی در ایران...
ما را در سایت تجارت گزینه های دودویی در ایران دنبال می کنید
برچسب :
نویسنده : زینالعابدین مراغهای
بازدید : <-PostHit->
تاريخ : دوشنبه
2 مرداد
1402 ساعت: 10:41