شرح و سرفصل ها
دورهی 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) مستقیماً در معماری کاربرد خواهند داشت؛ سایرِ تمرینها طوری انتخاب شدهاند تا بسترِ مناسبی برای واکاویِ ارتباطِ بینِ معماری و کدنویسی فراهم آورند و نقطهی شروعی برای ورودی معمار به فضای کدنویسی باشند.