تصویری که در بالا می بینید برداشتی آزاد ، از یک نقاشی قدیمی از جکسون پولاک با نام “لایه ها” است . این تصویر تماما به وسیله روابط ریاضی ، الگوریتم ها و کد نویسی شکل گرفته است .از زبان برنامه نویسی Processing برای خلق این اثر استفاده شده است .
پیش از این در پیکسلر در مورد “هنر مولد” یا “Generative Art” صحبت کرده بودم :
هنر مولد هنری است که در آن اثر هنری ، طبق الگوریتمی از پیش تعریف شده تولید می شود . این الگوریتم می تواند توسط نرم افزار و یا سیستم های شبیه سازی ریاضی تعریف شود . هنر مولد در همه زمینه های هنری مثل هنرهای تجسمی ، موسیقی ، مجسمه سازی و… کاربرد دارد .
اگر شما به عنوان یک هنرمند به این شکل از هنر علاقه دارید ولی در مورد یادگیری زبان های برنامه نویسی پیچیده مطمئن نیستید ، Processing یک پیشنهاد خوب ، ساده و دلچسب است.
اگر هم یک برنامه نویس هستید ، باز هم Processing را در اموری مثل پردازش تصویر ، صدا و پردازش داده ها ، موثر و ثمر بخش خواهید یافت .
Processing یک زبان برنامه نویسی آزاد و سرگرم کننده برای نوشتن انواع برنامه های گرافیکی و تعاملی است .
با Processing شما یک کاغذ سفید در اختیار دارید که می توانید به ساده ترین شکل ممکن ایده های گرافیکی و هنری خود را به وسیله کُد نویسی بر روی آن پیاده کنید .
امروزه هزاران هنرمند ، برنامه نویس ، دانشجو ، محقق و ریاضی دان از زبان Processing برای نوشتن برنامه های گرافیکی ، پردازش تصویر ، پردازش صدا ، بازی ها ، برنامه های تعاملی ، پردازش داده ها ، شبیه سازی و … استفاده می کنند .
قابلیت های Processing به طور خلاثه به شرح زیر است :
- رایگان و Open Source است .
- می تواند برنامه های ۲ بعدی و ۳ بعدی تعاملی را با آن نوشت .
- از OpenGl برای برنامه سازی ۳ بعدی پشتیبانی می کند .
- از ویندوز ، مک و لینوکس پشتیبانی می کند .
- می توانید برنامه های Online و یا Desktop با آن بنویسید .
- از صدها Library در زمینه های Graphic , 3D , Video , Sound و… پشتیبانی می کند .
در عمل :
Processing را از وب سایت رسمی اش از اینجا دانلود کنید . نسخه های مختلف Processing برای سیستم عامل های مختلف در دسترس است .
Processing برای اجرا شدن نیاز به جاوا دارد . نسخه کامل Processing همراه با جاوا ( نسخه ویندوز) چیزی حدود ۸۵ مگابایت حجم دارد . پس از نصب و اجرا کردن برنامه با پنجره ای روبرو می شوید که می توانید مستقیما کد نویسی کرده و با زدن دکمه Play نتیجه کار را ببینید .
توصیه می کنم حتما از منوی فایل ، نمونه کدهای آماده و مثال های برنامه را ببینید تا با قابلیت های Processing بیشتر آشنا شوید .
کد زیر می تواند تصویر بالا را در Processing ایجاد کند :
void setup() { size(480, 120); } void draw() { if (mousePressed) { fill(0); } else { fill(255); } ellipse(mouseX, mouseY, 80, 80); }
چگونه Processing را یاد بگیریم ؟
یادگیری این زبان به دلیل اینکه پیچیدگی های کمتری نسبت به سایر زبان ها دارد ، آسان است . برای این کار شما می توانید به انواع کتاب ها ، سایت ها و آموزشی های تصویری که موجود است مراجعه کنید .
می توانید لیست کاملی از کتاب های آموزشی Processing را از اینجا ببینید . همینطور خود سایت Processing آموزشی هایی را برای شروع به کار با این نرم افزار سامان داده است که آنها را می توانید از اینجا ببینید .
اما توصیه من به شما ، دوره آموزشی تصویری و رایگان Fun Programming است . این دوره آموزشی ، جامع ، ساده و روان است . کاربر با آن احساس راحتی می کند و دروس ارائه شده بسیار خوب توضیح و بسط داده می شوند .
در نهایت :
مسیر برنامه نویسی گرافیکی مسیری است سخت و البته لذت بخش . شما برای خلق یک برنامه باید از مفاهیم ریاضیات با خبر باشید . مواردی مثل مثلثات ، هندسه و مفاهیم فیزیک بسیار مورد استفاده است . علاوه بر همه اینها نیاز به قدرت تحلیل و طراحی الگوریتم نیز مورد نیاز است .
Processing تنها یک ابزار است . ابزاری البته کارا . در این میان ، برنامه ای که می نویسید ، قدرت تحلیل و میزان خلاقیت شما ، مهم تر از ابزاری است که به کار می برید .
محمد
salam chand vaght pisham rajebe in masale chizayi khoondam rastesh ama nafahmidam ke karbordesh chi mitoone bashe ! mishe begid
?
مهدی خدادادی
سلام محمد جان ، نخست آنکه اگر فارسی تایپ کنید نیکو تر است .
دوم انکه گرافیک کامپوتری شاخه است مربوط به ترسیمات و محاسبات گرافیکی که بسیار طیف وسیعی دارد . بازی های رایانه ای ، هنر دیجیتالی و پردازش داده ها از جمله این شاخه ها هستند . در اینجا زبان برنامه نویسی Processing در واقع ابزاری است که به ما برای نوشتن برنامه های گرافیکی کمک می کند .
وحید
یادش بخیر من این زبان رو حدود ۲ سال پیش با دیدن این کتاب آشنا شدم اما خیلی اختصاصیه واسه گرافیک و Visualizing ، خیلی کارای جالبی باهاش میشه انجام داد
http://www.amazon.com/gp/product/1430219793?ie=UTF8&tag=processing09-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=1430219793
امیر حسین برزگر سلوکلائی
بسیار نیکو….
مای چاپ
ممنون
محمدرضا
سلام
تشکر بابت این مطلی زیبا …
یه سری کپی برداری از گرافیک سایتت کردم ، امیدوارم راضی باشی.
بیا ببین و نظرت رو برام بزار …
ممنون
محمدرضا
جاوید
سلام
خیلی ممنون از مطالب مفیدتون
openframeworksهم ابزار معروف دیگه ای هست برای این کارا
اما بدیشون اینه که تحت وب نمیشه خروجی گرفت , اکشن اسکریپت هم مشکلات پرفرمنسش..
اما haxe پتانسیل خوبی داره چون هم میتونه این برنامه رو با سرعت کارایی بیشتر نسبت به اکشن اسکریپت خروجی swfبده و یا html5 canvas.
مهدی خدادادی
جاوید جان ، خبر خوب اینه که نسخه جدید Processing از وب حمایت می کنه . در ضمن مشکلات پرفرمنس اکشن اسکریپت رو باهاش موافق نیستم .
جاوید
@ خبر خوب اینه که نسخه جدید Processing از وب حمایت می کنه
بسیار عالی ، فکر کنم Processing.jsمنظورتون باشه ، درسته ؟
@ در ضمن مشکلات پرفرمنس اکشن اسکریپت رو باهاش موافق نیستم .
آره بهتره اسمشو مشکل نزاریم ، اما واضحه که از زبونایی مثل javaو cppکند تره…
مهدی خدادادی
Processing.js منظورم نیست . خود Processing گویا این قابلیت رو اضافه کرده . البته در مورد جزییات و نحوه ساز و کارش اطلاعی ندارم .
حسین
البته از processing.js پشتیبانی میکنه و قبلا هم از اپلتهای جاوایی برای خروجی در وب پشتیبانی میکرد و میکنه اما به نظر در آینده حذف میشه.
هنر مولد | دستنوشتههای یک صفر
[…] انعطافاند. غالب افراد اشتباه فکر میکنند. دو. مدتی پیش اینجا مقالهایی رو میخوندم که من باب زبان برنامهنویسی […]