آشنایی با پلاگین گرسهاپر – Grasshopper
![grass hopper logo](/wp-content/uploads/2019/01/grasshopper-logo.png)
از Grasshopper چه میدانید
Grasshopper (گرسهاپر) یکی از پلاگینهای نرمافزار نامآشنا و کاربردی Rhino (راینو) است. Grasshopper را نمیتوان نرمافزاری مستقل دانست. چراکه پلاگینها بر نرمافزاری پایه نصب و در فضای آن نرمافزار فعال میشوند.
در مورد گرسهاپر این نرمافزار پایه Rhino است. گرسهاپر ابزاری برای طراحیهای پارامتری و الگوریتمی است و بدون نیاز به یادگیری انواع زبانهای برنامهنویسی، امکانات متنوعی در اختیار کاربران قرار میدهد.
اولین نسخه از این پلاگین در سپتامبر ۲۰۰۷ عرضه شد که به همراه ویرایش ۴ راینو مورداستفاده قرار میگرفت. این پلاگین اولین بار توسط آقای David Rutten طراحی شد و پس از آن آقای Robert McNeel و همکارانش، توسعهی آن را به عهده گرفتند.
Grasshopper طیف گستردهای از کاربران را پوشش میدهد. مهندسان عمران، معماران، طراحان داخلی، طراحان صنعتی، فعالان حوزهی انیمیشن و سازندگان بازیهای رایانهای ازجمله این مخاطبان هستند. Grasshopper ابزاری میانرشتهای است و با استفاده از آن میتوان ارتباط بسیاری از رشتهها را با هم برقرار کرد. فیزیک، الکترونیک، عمران و معماری از این رشتهها هستند.
تاریخچه و ریشه پلاگین گرسهاپر
ریشه پلاگین گرسهاپر به قابلیت Record History نسخه 4 Rhino برمیگردد. این ویژگی کاربران را قادر میسازد روشهای مدل سازی را بطور ضمنی در پس زمینه ذخیره کنند. اگر چهار منحنی ایجاد کنید و سپس نقاط یکی از این منحنیها را ویرایش کنید، هندسه کلی شکل نیز عوض میشود. در سال 2008، دیوید این سؤال را مطرح کرد: «چه میشد اگر کنترل بیشتری بر این عملیات داشتید؟» و اینگونه بود که سازنده Grasshopper تاریخ را عوض کرد. این موضوع روند طراحی را در معرض تحولی عظیم قرار داده و به کاربر این توانایی را میدهد تا افکارش را فراتر از قابلیتهای موجود در Rhino توسعه دهد. شش سال بعد، Grasshopper تبدیل به یک ویرایشگر برنامه نویسی بصری قوی شد. علاوه بر این، این کار اساساً جریان کار حرفهایها را در صنایع مختلف تغییر داده و جامعه جهانی فعال کاربران را تقویت کرده است.
ویژگیهای Grasshopper
Grasshopper کاربر را قادر میسازد تا فرمهای پیچیده را در قالب پارامترهای مشخصی تعریف کند.
تجمیع این پارامترها در قالب یک الگوریتم گرافیکی به ساخت فرم نهایی موردنظر کاربر منجر خواهد شد.
با ویرایش هریک از این پارامترها، تغییرشکل همزمان مدل کلی بهراحتی برای کاربر قابل مشاهده است.
توانمندی گرسهاپر در طراحی احجام پیچیده، به طراحان این آزادی عمل را میدهد تا خلاقانهترین ایدههای خود را عملی کنند.
برخلاف سایر پلاگینهای راینو مانند RhinoScript، استفاده از Grasshopper نیازی به تسلط بر زبانهای برنامهنویسی ندارد.
همین ویژگی که کار با گرسهاپر را ساده کرده، باعث محبوبیت هرچه بیشتر این پلاگین بین طراحان شدهاست.
تمام آنچه با کدنویسی در دیگر پلاگینها حاصل میشود، در گرسهاپر با ابزارهای گرافیکی و اتصال آنها به دست میآید.
از مهمترین قابلیتهای گرسهاپر سرعت بالای اعمال تغییرات بر مدلهای طراحی شده است. اگر کاربر در مرحلهای از مدلسازی تصمیم به تغییر قسمتی از طرح بگیرد، لازم نیست فرآیند مدلسازی را از ابتدا شروع کند.
تغییر مقیاس، تغییر المانها و الگوها یا حتی اضافه کردن پارامتری تأثیرگذار، همه در گرسهاپر در کسری از ثانیه انجام خواهند شد. این انعطافپذیری حاصل روش طراحی پارامتری یا الگوریتمی است که گرسهاپر بر مبنای آن عمل میکند.
طراحی پارامتری در پلاگین گرسهاپر، ترکیبی از ریاضیات و هندسه است.
بر همین اساس ابزارهای مورداستفاده در آن به دو دستهی ابزارهای هندسی و ابزارهای پایه تفکیک میشوند.
ابزارهای پایه به آن دسته از ابزارها گفته میشود که تنها برای انجام عملیات ریاضی مورداستفاده قرار میگیرند.
ابزارهای هندسی، آنگونه که از نامشان هم پیداست، برخلاف ابزارهای پایه مفهوم هندسی خاصی دارند.
این مفهوم خاص هندسی میتواند به سادگی نقطه و بردار باشد یا به پیچیدگی شبکهبندی و احجام.
مدلهای ساخته شده بهوسیلهی این پلاگین، قابل انتقال به نرمافزارهای سازهای مانند SAP2000 و نرمافزارهای تحلیل کیفی مانند Autodesk Ecotect هستند.
مزایا و معایب Grasshopper چیست؟
مهمترین مزایای این نرمافزار در مقایسه با ابزارهای مشابه عبارتند از:
• استفاده راحت
• یادگیری سریعتر
• رابط کاربری گرافیکی
همچنین از میان معایب پلاگین گرسهاپر میتوان به موارد زیر اشاره نمود:
• قدرت کمتر نسبت به ابزارهای مبتنی بر کد/اسکریپت برای کاربران بسیار پیشرفته
• همکاری با طراحان متعدد در پروژه یکسان ممکن است دشوارتر از ابزارهای مشابه باشد.
مهمترین دلایل استفاده از پلاگین گرسهاپر در معماری
1. ابزار خودکار
تصور کنید که باید 1000 خط عمود بر یک خط مشخص در مسافتی مشخص رسم کنید. مقدار فاصله را X فرض میکنیم. مطمئناً شما نمیخواهید این کار را با مداد و خط کش انجام دهید.
با فرض اینکه شما از هیچ ابزار پارامتری مانند Grasshopper استفاده نمیکنید، یک ابزار CAD پیدا میکنید و یک خط عمود ترسیم میکنید. سپس 999 بار آنرا کپی میکنید. در بهترین حالت، میتوانید از تابع ماتریس برای تکرار این 999 بار استفاده کنید.
در Grasshopper، روند کار متفاوت است. شما میتوانید این خط را به X بخش تقسیم کنید. سپس بر هر یک از نقاط تقسیم شده، یک خط عمود بکشید. پس از ایجاد این مدل پارامتری، جایی که متغیر X تعداد بخشهای تقسیم خط شما است، میتوانید مدل را برای استفاده بعدی ذخیره کنید؛ که به شما این امکان را میدهد تعداد بخشها را به هر تعداد دیگری که میخواهید تغییر دهید. مثلاً 5000 خط! این تنها یک مثال بسیار ساده و مفید از قابلیتهای مخلف پلاگین گرسهاپر بود.
2. ذخیره ماژولهای مختلف
همانطور که از نکته بالا نیز مشهود است، طراحی پارامتری بیشتر برای افراد تنبل است؛ افرادی که مایل به تکرار کاری که قبلا انجام دادهاند نیستند. این نوع افراد در حوزه برنامه نویسی بسیار زیاد هستند.
با Grasshopper میتوانید ماژولهای خود را برای انجام یک کار خاص مشخص کنید. ماژول طراحی شده برای مثال قبلی را میتوان چیزی شبیه به Draw X Perpendiculars Lines Of a Line یا طراحی خطوط عمود بر یک خط نامید. هر ماژول به عنوان یک تابع عمل میکند و متغیرهای ورودی را دریافت و راه حلها یا نتایجی را که به آنها خروجی می گویند برمی گرداند. در مثال قبلی، ورودیها تعداد خطهای عمود (X) و خطی است که میخواهید X خط را بر روی آن عمود کنید. خروجیهای حاصل از ماژول خطوط عمود هستند.
3. سرویس اشتراک گذاری قوی بین کاربران آن
همانطور که در نرم افزارهای آزاد (نرم افزارهایی که برنامه نویسان کد منبع پروژههای خود را به اشتراک میگذارند) اتفاق می افتد، بسیاری از طراحان ابزارها و افزونههای عالی را برای عموم مردم به اشتراک میگذارند. بطور دقیقتر، افزونههای بسیاری برای دانلود در دسترس هستند؛ که ماژولهای جدید ایجاد شده توسط افراد دیگر را به Grasshopper شما اضافه میکنند. این بدان معنی است که شخصی دیگر یا خودتان میتوانستید ماژولی را که قبلاً به آن اشاره کردیم ایجاد کرده باشید. بنابراین شما به راحتی میتوانید بروید آن ماژول را دانلود و از آن در پروژه خود استفاده کنید.
4. تکرار بسیار سریع
ممکن است طراحی مورد نظر شما 1 ساعته در CAD انجام شده باشد. بسته به پیچیدگی طراحی، شما میتوانید یک مدل پارامتری از همان طراحی را در همان زمان، شاید بیشتر یا کمتر انجام دهید.
مزیت مدلهای پارامتری در چیست؟ پس از داشتن یک مدل پارامتری، احتمالاً تنها یک دقیقه زمان لازم برای تغییر متغیرهای خود و ایجاد امکانات مختلف نیاز دارید. در حالی که در CAD مجبورید برای هر تکرار جدیدی که میخواهید آزمایش کنید مجدداً یک ساعت کامل صرف کنید.
پس از اتمام این عمل، یک مدل پارامتری اجازه میدهد تا تکرارها بسیار سریعتر انجام شوند، در حالی که در CAD، همه چیز باید به صورت دستی و مجدداً طراحی شود. رسم اجسام و خطوط تکراری و دستی یکی از کارهایی است که طراحی الگوریتمی سعی دارد از آن جلوگیری کند.
راهی آسانتر برای یادگیری پلاگین گرسهاپر
Grasshopper با داشتن روند کاری طراحی شده و مشخص، محاسبات را به صورت مرحله به مرحله انجام میدهد و نتایج آن را به مرحله پردازش دهنده بعدی منتقل میکند.
با این حال ساختمان کلی شبکههای Grasshopper مشخص نیست؛ زیرا برخلاف برنامههای دیگر شما تصویر ذهنی واضحی از مراحل در حال انجام ندارید. حین قرار دادن یک آجر یا پیچاندن یک سیلندر شما دقیقاً به چشم میبینید که دارید چه کاری انجام میدهید. اما با رابط برنامهای مانند Grasshopper این عملیات خیلی واضح نیست؛ مگر اینکه یک ریاضیدان باشید. نکته اصلی کار با Grasshopper این است که باید به روش متفاوتتری فکر کنید. در حال حاضر یک ابزار آموزشی وجود دارد که میتواند به شما در رسیدن به این تفکر کمک کند: SudoHopper3D.
SudoHopper3D تفکر مورد نیاز هنگام استفاده از Grasshopper را برای شما شبیه سازی میکند. تیم توسعه آن اینگونه توضیح میدهد: برای کمک به یادگیری پلاگین گرسهاپر، ما SudoHopper3D را ایجاد کردیم. این برنامه برای بهبود درک کلی تفکر پارامتری است. SudoHopper3D شما را از طریق ریاضیات، الگوریتمها و برنامهنویسی پایه به سفری هیجان انگیز میبرد. شما به طرز شگفت انگیزی مفاهیمی مانند هندسه و مثلثات را یاد میگیرید.
مزایای SudoHopper3D تنها شامل مهارتهای ساده ریاضی نمیشوند. علاوه بر بخش ریاضی منحصر به فرد بازی؛ بازیکنان حل مساله، منطق و دلیل و برهان را در محیطی اجتماعی و سرگرمکننده یاد میگیرند
به عقیده بسیاری این روشی بسیار منحصر به فرد و جالب برای جذب افراد (به ویژه دانشجویان) علاقمند به تکنیکهای مختلف پلاگین گرسهاپر است. با تجربه برآمده از این بازی، آنها میتوانند پلاگین گرسهاپر را آسانتر یاد بگیرند و این میتواند منجر به خلق طرحهای خارقالعاده سهبعدی با استفاده از این ابزار شود.
نحوه دسترسی اولیه به پلاگین گرسهاپر
برای دسترسی به Grasshopper و قابلیت برنامه نویسی بصری آن، باید برنامه را از وب سایت Grasshopper3D.com دانلود و نصب کنیم. پس از نصب، میتوانیم با وارد کردن “Grasshopper” در خط فرمان Rhino افزونه را باز کنیم. اولین باری که در Rhino این کار را انجام میدهیم، صفحه لود و به دنبال آن پنجره ویرایشگر Grasshopper باز میشود. اکنون میتوانیم قطعات کاربردی به نام “کامپوننت ها” را به “کانواس” یا بوم خود اضافه کنیم؛ آنها را با “سیم” بهم وصل کنیم و کل” دِفِنیشِن” یا طرح شکل گرفته را در قالب فرمت ghx ذخیره کنیم.
هنگامی که شروع به طراحی یک دِفِنیشِن Grasshopper کردیم و ابزار “اسلایدِر” یا کشویی را در بوم خود ایجاد کردیم تا ابعاد آن را کنترل کنیم؛ احتمالاً به شکل کلی که در Rhino مشاهده میکنیم، بصورت ناخودآگاه واقف هستیم. این ارتباط بسیار مؤثر است. اگر ما گیره را روی اسلایدر تنظیم کنیم فوراً نتیجه ناخوشایندش را میبینم. در دِفِنیشِن ما یک ورودی تغییر کرده است و برنامه باید یک راه حل دیگر پیدا و آن را بروزرسانی کند. برای راحتی کاربران هنگام شروع کار با Grasshopper، پیش نمایش هندسهای نمایانگر میشود که تقریباً نتیجه نهایی را به ما نشان میدهد و به صورت خودکار بروزرسانی میشود. توجه به این ارتباط بعد ها بسیار مهم است زیرا هرچه دِفِنیشِن شما پیچیدهتر میشود؛ مدیریت صحیح جریان دادهها، وضعیت حل مسئله و آنچه در نمای Rhino پیش نمایش میشود از بسیاری از سردردهای ناخواستهتان جلوگیری میکند.
سخن آخر
Grasshopper یک افزونه و ویرایشگر الگوریتم گرافیکی برای ابزارهای مدل سازی Rhino میباشد.
الگوریتمهای پلاگین گرسهاپر مرحله به مرحله هستند و برای انجام یک عملیات طراحی شدهاند.
از Grasshopper برای طراحی الگوریتمهایی خودکار برای انجام وظایف مختلف در Rhino استفاده میکنیم.
اگر برای انجام عملیات خاصی در Grasshopper راه حل و الگوریتم آمادهای پیدا نکردید؛ راه آسانتر این است که سعی کنید با استفاده از Rhino و تدریجاً آن الگوریتم را بصورت دستی ایجاد کنید.
در ابتدای کار با Grasshopper و یادگیری، به انجمن جهانی Grasshopper ملحق شوید. این انجمن مملو از اعضای فعال در بسیاری از زمینهها و دارای تجارب متنوعی است. این انجمن مجازی یک منبع مفید برای طرح سؤالات، به اشتراک گذاری یافتهها و به دست آوردن دانش است.
منابع:
https://www.quora.com/What-are-the-advantages-and-disadvantages-of-Grasshopper-3D
https://nono.ma/4-reasons-to-use-grasshopper-in-architecture
https://www.fabbaloo.com/blog/2017/12/23/an-easier-way-to-learn-grasshopper
https://modelab.gitbooks.io/grasshopper-primer/0-about/1-grasshopper-an-overview.html
https://modelab.gitbooks.io/grasshopper-primer/0-about/1-grasshopper-an-overview.html