پراسسینگ

پراسسینگ

مدت: 20 ساعت

تعداد جلسات: 10 جلسه

شرح و سرفصل ها

دوره‌ی Processing:

این دوره در 9 نشستِ 2 ساعتی برگزار می‌شود.

3 نشستِ نخست، شروعِ کار با پراسسینگ و فضای دو بعدی:

  • آشنایی با فضایِ پیکسلی، رنگ، ترسیمِ اشکال و انیمیشن‌های ساده‌ی دوبعدی.
  • آشنایی اولیه با Syntax پراسسینگ و اپراتورهای ابتدایی.
  • دیتاتایپ‌های پایه، مفهومِ متغیر، Array و ArrayList.
  • شرط و اپراتورهای نسبی، Flow.
  • حلقه، Repeat.
  • تعریفِ توابع.
  • آشنایی با Curve و BezierCurve.
  • کار با Vertexها و ترسیماتِ دوبعدی پیچیده‌تر.
  • استفاده از فایل‌های SVG به‌عنوانِ Shape.
  • تولیدِ انیمیشن و Dynamic drawing.
  • استفاده از Objectها (PVector، PShape و ...) و آشنایی اولیه با مفهومِ شئ‌گرایی.
  • کار با ورودی‌ها؛ موس، کیبورد، زمان و ...
  • استفاده از فایل‌ها در پراسسینگ.
  • کار با تصاویر و پیکسل‌ها؛ لودکردن، دست‌کاری، تولید و ذخیره‌ی تصاویر.
  • آشنایی با قابلیت‌های ریاضی و محسباتی.
  • تایپوگرافی.

در این مرحله تمریناتِ متعددی شاملِ ترسیمِ منحنی‌های ریاضی، بررسی و تولیدِ فرکتال‌ها، و... بررسی خواهد شد. علاوه‌براین در انتهای این مرحله به‌بررسی نحوه‌ی تولیدِ ویدئو به کمکِ After Effects از خروجی‌های پراسسینگ پرداخته می‌شود.

3 نشستِ میانی، فضای سه‌بعدی:

  • کار با Vertex و ترسیماتِ دوبعدی و سه‌بعدی پیچیده‌تر.
  • کار با P3D و Open-GL.
  • 3D Transformations.                    
  • 3D shapes.
  • Texture و Lighting.
  • Perspective و Camera.
  • آشناییِ عمیق‌تر با مفهومِ OOP و تعریفِ Class.
  • آشنایی مقدماتی با Shaderها و کار با کلاسِ PShader.
  • کار با ویدئو.

در این مرحله تمریناتِ متعددی شاملِ ترسیمِ سطوحِ ریاضی، تولیدِ تایپوگرافی‌های سه‌بعدی، تولیدِ فرم‌های سه‌بعدی از روی عکس و ویدئو و ... انجام خواهد شد. علاوه‌براین در انتهای این مرحله، روش‌های مختلفِ ارتباطِ پراسسینگ با گرسهاپر بررسی می‌شود.

3 نشستِ پایانی، کتاب‌خانه‌ها و الگوریتم‌های پیشرفته‌تر:

  • آشنایی با Cellular automata.
  • استفاده از پراسسینگ در Data visualization.
  • شروعِ کار با p5js و بازنویسیِ برخی از الگوریتم‌های نوشته شده.
  • کار با موتورهای فیزیکی Box2D و matter.js.
  • آشنایی و پیاده‌سازیِ Particle systems.
  • پیاده‌سازیِ Circle packing و بررسی کارکردهای متعدد این الگوریتم.
  • پیاده‌سازیِ Diffrential growth.
  • پیاده‌سازیِ Flocking simulation و آشنایی با Boids.
  • آشنایی و پیاده‌سازیِ Genetic algorithm.
  • آشنایی اولیه با Machine learning و TenserFlow به‌کمکِ ml5.js.

در این مرحله به‌بررسیِ عمیق‌ترِ کاربردهای احتمالیِ پراسسینگ در معماری پرداخته می‌شود. تعدادی از تمرین‌ها (از جمله تمرین‌های مرتبط با بخش‌های Data Visualization، Genetic Algorithm و Machine Learning) مستقیماً در معماری کاربرد خواهند داشت؛ سایرِ تمرین‌ها طوری انتخاب شده‌اند تا بسترِ مناسبی برای واکاویِ ارتباطِ بینِ معماری و کدنویسی فراهم آورند و نقطه‌ی شروعی برای ورودی معمار به فضای کدنویسی باشند.