اگه تا حالا ویدیوهای آموزشی یا انیمیشنهایی رو دیدی که مثلاً نشون میدن سلولها چطوری کار میکنن یا جریان خون چطور تو بدن میچرخه، احتمالاً دیدهای که چقدر راحتتر و جذابتر میشه مفاهیم سخت علمی رو باهاشون یاد گرفت. مخصوصاً تو درسهایی مثل زیستشناسی سلولی، فیزیولوژی (یعنی علم بررسی عملکرد اعضای بدن) و کلی درس دیگه از رشتههای علوم پایه زندگی. اما تا حالا فکر کردی این انیمیشنهای باحال چطوری ساخته میشن؟ یا مثلاً پشت پرده این تصاویر قشنگ و واضح، چه داستانایی هست؟
خب اجازه بده یکم این موضوع رو با هم باز کنیم و به زبان خیلی راحت بگیم چطور ریاضی و کامپیوتر مهرههای اصلی تولید این انیمیشنها هستن.
یه بخش مهم ماجرا، بحث «ماتریس»هاست. شاید اسمش رو شنیده باشی یا آخرین بار تو درس ریاضی دوره دبیرستان به گوشت خورده باشه! ماتریس، یه جور آرایه یا جدول از عددهاست که تو ریاضی و برنامهنویسی استفاده زیادی داره. اینجا هم ماتریسها کمک میکنن تا شکلها رو تو فضا حرکت بدیم، بچرخونیم یا بزرگ و کوچیک کنیم. مثلاً وقتی میخوایم یه سلول رو تو صحنهی انیمیشن حرکت بدیم یا یه اندام رو بچرخونیم، همین ماتریسها وارد عمل میشن و همه محاسبات رو انجام میدن.
ولی فقط همین نیست! یه چیز دیگه که تو انیمیشن خیلی مهمه، نوع تصویر یا گرافیکیه که استفاده میکنیم. دو تا اصطلاح خیلی معروف هست: SVG و raster (یا همون bitmap). بذار ساده توضیح بدم: SVG یعنی Scalable Vector Graphics، که روشی برای نمایش عکسهاست با کمک فرمول و مختصات، نه پیکسلهای مشخص. به خاطر همین، اگه عکس رو تا هر اندازهای بزرگ کنیم، کیفیتش از بین نمیره و شفاف میمونه. اما raster (یا Bitmap) همون عکسهای معمولیه که با کلی پیکسل کوچولو درست شدن و اگه زوم کنیم روشون، پیکسلی و تار میشن. پس SVG برای انیمیشنهایی که میخوایم کیفیتشون رو حفظ کنیم، عالیه و خیلی جاها اون رو ترجیح میدن.
بعد از اینا، یکی از الگوریتمهای اساسی برای کشیدن خطوط روی صفحه نمایش هست که اسمش Bresenham هست. شاید برات ناآشنا باشه؛ الگوریتم Bresenham یه روش باهوشه که با کمترین محاسبات، دقیقترین خط رو بین دو نقطه روی صفحه نمایش میکشه. یعنی میاد خیلی هوشمند پیکسلهایی که قراره روشن بشن تا خط کشیده شه رو پیدا میکنه، بدون اینکه افت کیفیت داشته باشیم یا تصویر بهم بریزه. این موضوع مخصوصاً زمانی که داریم روی صفحههای دیجیتال یا توی بازیها و شبیهسازیهای زیستی انیمیشن میسازیم، کلی به کارمون میاد.
جالبتر اینکه تو این مقاله یه مثال کدنویسی با زبان جاوااسکریپت (JavaScript) هم اومده که نشون میده چطور با کمک HTML و CSS یه انیمیشن ساده ساخته میشه. جاوااسکریپت یه زبان معروفه که اغلب برای ساخت صفحات پویا روی وب استفاده میشه؛ HTML هم زبون پایهی ساختار سایتهاست و CSS هم برای قشنگ کردن و استایلدهی به همون ساختاره. این مثال جوری نوشته شد که هر کسی—even اگه خیلی برنامهنویس حرفهای نباشی—بتونه بفهمه و اجراش کنه؛ یعنی یه فضای خوب برای شروع تجربه کدنویسی و ساخت انیمیشن توی آموزش زیستشناسی!
حالا چرا این همه زحمت برای ساخت انیمیشن میکشن؟ چون تحقیقات مختلف خیلی واضح نشون دادن که انیمیشنها تو آموزش تاثیر مثبت دارن. یعنی یادگیری مفاهیم پیچیده، بخصوص فرایندهای فیزیولوژیکی—مثل اینکه بدن چطوری اکسیژن مصرف میکنه یا سلولها چطور مواد رو جابهجا میکنن—با کمک انیمیشن خیلی جذابتر و قابل فهمتر میشه. یه جوری که انگار داری داستان رو میبینی، نه اینکه فقط با یه سری متن و عکس خشک و خالی سر و کله بزنی!
پس نتیجه اینکه اگه معلمها و دانشجوها یه کم با اصول ریاضی و الگوریتمهای پشت انیمیشن آشنا بشن، میتونن خیلی بهتر و هوشمندانهتر از ابزارهای انیمیشن آماده توی کلاس استفاده کنن. اصلاً بدون دونستن این پایهها شاید خوب نتونیم از همه امکاناتش بهره ببریم. پس یه پلی ساخته میشه بین علم ریاضی و آموزش علمی که خیلی میتونه کیفیت یادگیری و تدریس رو بالا ببره.
در نهایت، میشه گفت حالا دیگه انیمیشنهای علمی فقط یه ابزار باحال نیستن، بلکه یکی از پایهایترین راهها برای فهموندن مطالب سخت هستن که با کمک مفاهیم ریاضی و کامپیوتری ساخته شدن. دفعه بعدی که یه انیمیشن زیستشناسی دیدی، یادت باشه پشتش یه عالمه محاسبه و کد و ریاضی خوابیده که همه چی رو اینقدر نرم و زیبا نشون میده!
منبع: +