بازتاب گهر آموزش برنامه نویسی بصری با Grasshopper برای مبتدیان - بازتاب گهر

در آموزش گرس هاپر به شکلی بسیار ساده همراه با فیلم آموزشی رایگان، نحوه‌ی کار با Grasshoper را نشان خواهیم داد. پیشنهاد می‌کنیم این مقاله جامع را از دست ندهید و تا آخر دنبال کنید.
گرسهاپر یک محیط اسکرپت‌نویسی بصری است که در پکیج مدلسازی سه بعدی راینسروس (Rhinoceros) قرار دارد و ابزار بسیار کارآمدی برای طراحی محاسباتی است.
در این مثال قصد داریم تا خلاصه‌ای از چگونگی عملکرد این نرم‌افزار را برای افرادی فراهم کنیم که هیج‌گونه آشنایی قبلی با آن ندارند و اصول اساسی آن را نیز توضیح دهیم. با این‌حال فرض بر این است که شما مبانی و اصول اولیه‌ی راینو (Rhino) را از پیش می‌دانید (شما باید حداقل با رابط کاربری راینو آشنا باشید).

انجام دادن این مثال حدودا سی دقیقه زمان می‌برد اما هر آنچه که برای شروع کار با نرم‌افزار نیاز دارید را به شما خواهد آموخت. هر مرحله از آموزش با یک انیمیشن همراه است تا به شما نشان دهد دقیقا چه کارهایی باید انجام شود.

تمرکز ما در این مقاله آموزش Grasshoper است، اما بیشتر مفاهیم موردبحث را می‌توان در محیط‌های برنامه‌نویسی بصری مشابه که گره‌محور هستند نیز به کار برد (نظیر داینامو).

Grasshoper یک پلاگین رایگان راینو بوده و از وبسایت رسمی آن به آدرس www.grasshopper3d.com قابل دانلود است. راینو از نسخه‌ی ۶ به بعد گرسهاپر را در پکیج نصبی خود جای داده است و دیگر به دانلود جداگانه‌ی آن نیازی نیست.

 

  1. راه‌اندازی

در این مثال، تعریف (definition) پارامتری بسیار ساده‌ای ایجاد می‌کنیم که خطی بین دو نقطه رسم خواهد کرد. این دو نقطه ورودی‌های ما خواهند بود. برای ایجاد این نقطه‌ها دوبار از دستور “Point” در راینو استفاده کنید.

راه‌اندازی گرسهاپر

زمانی که Grasshoper را نصب کردید، می‌توانید آن را از راینو با تایپ دستور ‘Grasshopper’ در خط فرمان اجرا کنید.

راه‌اندازی Grasshopper

 

  1. رابط کاربری

در این مرحله پنجره‌ی Grasshopper ظاهر شده و باید چیزی شبیه به عکس زیر باشد:

رابط کاربری Grasshopper

  1. نوار عنوان (the title bar): در این قسمت نام فایلی که در حال حاضر باز است (اگر فایلی باز شده باشد) نمایش داده می‌شود. با دو بار کلیک بر روی این نوار میتوان گرس هاپر را پنهان کرد. این ویژگی در حالتی کارآمد است که بر روی یک صفحه کار می‌کنید و بخواهید کار با گرس هاپر را سریعا متوقف کنید.
  2. نوار منو (the menu bar): در رابطه با این نوار به زودی توضیحاتی خواهیم داد.
  3. کتابخانه‌ی کامپوننت (the component library): این قسمت به زبانه‌های مختلفی برای کاربردهای متفاوت دسته‌بندی می‌شود. (ممکن است کتابخانه‌های نرم‌افزار شما به تعداد تصویر نباشد، بسیاری از آنها پلاگین‌های آپشنال هستند). کتابخانه‌ی کامپوننت به گروه‌های کوچکتری تقسیم می‌شود. می‌توانید با کلیک کردن بر روی نوار عنوان در زیر هر گروه آن را باز کرده و تمام کامپوننت‌های گروه را به همراه اسامی آنها مشاهده کتید.
  4. نوار ابزار canvas: این نوار شامل چند ابزار برای انجام سریع عملیات است نظیر ذخیره کردن فایل، نوشتن بر روی canvas و تغییره شیوه‌ی نمایش موارد.
  5. Canvas اصلی: در این قسمت عملیات اصلی اتفاق می‌افتد‌.
  6. جدول فایل‌های اخیر: اگر اولین باری است که Grasshoper را باز می‌کنید احتمالا این قسمت وجود نخواهد داشت چرا که تا کنون فایلی در گرسهاپر باز نکرده‌اید. به محض اینکه شروع به قرار دادن کامپوننت‌ها در canvas کنید این جدول دیگر دیده نخواهد شد.
  7. نوار وضعیت (the status bar): گاهی اوقات اطلاعات مفیدی را نمایش خواهد داد.

اجازه دهید به نوار منو رفته و برخی از موارد مهم را بررسی کنیم.

  • فایل‌های گرس هاپر را می‌توان از نوار منو باز و ذخیره کرد. دفینیشن‌های گرس هاپر به صورت جدا از فایل‌های راینو ذخیره می‌شوند، بنابراین مطمئن شوید که هردوی آنها وجود دارند تا هیچگونه اطلاعاتی را از دست ندهید.
  • در منوی View می توانید گزینه‌ی Obscure Components را فعال کنید تا کامپوننت‌های بیشتری در نوار کتابخانه نمایش داده شود. این گزینه به صورت پیشفرض غیر فعال است تا افراد تازه‌کار در زمان شروع به کار با نرم‌افزار با دیدن تعداد زیادی از کامپوننت‌ها سردرگم نشوند، هرچند پیدا کردن کامپوننت‌ها در این حالت دشوارتر می‌شود.

  • در منوی Display، گزینه Draw Icons را فعال کنید. با انجام این کار، شیوه‌ی نمایش کامپوننت‌ها در canvas تغییر می‌کند. شیوه‌ی نمایش کامپوننت‌ها موضوعی شخصی است و برخی افراد حالت پیشفرض (یعنی نمایش کامپوننت‌ها از طریق متن) را ترجیح می‌دهند اما این افراد اشتباه می‌کنند.

  • همچنین باید مطمئن شوید که گزینه‌ی Draw Fancy Wires فعال باشد (که در حالت پیشفرض فعال است). این موضوع دیگر شخصی نیست و بستگی به سلیقه‌ی افراد ندارد. فعال بودن این گزینه باعث می‌شود درک برخی از دفینیشن‌ها بسیار بسیار آسانتر شود.
آموزش react natve

پیشنهاد دانشیار آی تی به شما

آموزش ری اکت نیتیو برای برنامه نویسی اپلیکیشن iOS با جاوا اسکریپت

خواندن مطلب

  1. مبانی Grasshoper

    • اضافه کردن کامپوننت‌ها

اکنون به ساخت اولین دفینیشن واقعی خود می‌پردازیم.

در اولین مرحله نقطه‌هایی که در راینو ترسیم کردیم را وارد گرسهاپر می‌کنیم به گونه‌ای که بتوان از آنها استفاده کرد. برای انجام این کار به دو کامپوننت پارامتری نقطه نیاز داریم که می‌توان آن را از زبانه‌ی Params در گروه Geometry در نوار کتابخانه کامپوننت پیدا کرد. بر روی آیکون آن کلیک چپ کرده و سپس مجددا در جایی از canvas کلیک چپ کنید تا یکی از آن کامپوننت‌ها ایجاد شود.

مبانی گرس هاپر - اضافه کردن کامپوننت‌ها

این روش یکی از راه‌های اضافه کردن کامپوننت به دفینیشن است. یکی از راه های دیگر جستجو از طریق نام است. برای انجام این کار جایی در canvas (و نه بر روی یک کامپوننت) دوبار کلیک کنید. در پنجره‌ی ظاهر شده Point را تایپ کنید. با انجام این کار، پیشنهاداتی نشان داده می شود. سپس کافی است بر روی کامپوننتی که Point نام دارد کلیک کنید.

مبانی Grasshopper - اضافه کردن کامپوننت‌ها

    • رفرنس دادن کامپوننت هندسی یا geometry در راینو

این کامپوننت ها به منظور ذخیره‌ی اطلاعات نقطه استفاده می شوند اما در حال حاضر هیچ گونه اطلاعاتی برای آنها تعیین نشده و به همین دلیل با رنگ نارنجی نشان داده شده‌اند (این رنگ نشاندهنده‌ی اخطار است، معمولا به این معنی است که آن کامپوننت تمام ورودی‌های لازم برای کاری که قرار است انجام شود را ندارد).

ما باید این کامپوننت‌ها را برای دو نقطه‌ای که قبلا در راینو ایجاد کرده‌ایم تنظیم کنیم. بر روی اولین کامپوننت راست کلیک کنید تا منوی آن نمایش داده شود. گزینه‌ی Set one Point را انتخاب کنید و سپس در راینو اولین نقطه را انتخاب کنید.

مبانی Grasshopper -رفرنس دادن کامپوننت هندسی یا geometry در راینو

با انجام این کار نقطه به پارامتر اختصاص داده شده و کامپوننت خاکستری رنگ می‌شود تا نشان دهد که همه‌چیز مطابق با برنامه و صحیح پیش می‌رود.

این کار را برای کامپوننت و نقطه‌ی دوم نیز تکرار کنید.

متوجه خواهید شد که یک x کوچک قرمز رنگ بر روی نقطه‌ها در راینو ظاهر شده است( این علامت‌ها نشان می‌دهند که حالت هندسی نیز در مدل گرسهاپر وجود دارد).
اگر بر روی یکی از کامپوننت‌های Grasshoperکلیک چپ کنید، آن کامپوننت انتخاب شده و رنگ سبز به خود می‌گیرد. علامت x قرمز رنگ نیز باید سبز شود.
با استفاده از این ویژگی می توانید به یاد بیاورید که کدام کامپوننت در گرسهاپر به کدام جز هندسی راینو رفرنس داده می‌شود.

مبانی Grasshopper -رفرنس دادن کامپوننت هندسی یا geometry در راینو

 

  1. ایجاد جریان‌های داده (Data Flow)

حال که نقاط ورودی خود را در Grasshoper ایجاد کرده‌ایم، می توانیم خطوط میان آنها را نیز رسم کنیم. به گروه Primitive در زبانه‌ی Curve بروید و کامپوننتی با نام Line را پیدا کنید. بر روی آیکون آن کلیک چپ کرده و سپس مجددا بر روی canvas کلیک چپ کنید تا یک کامپوننت Line ایجاد شود.

مبانی Grasshopper -ایجاد جریان‌های داده (Data Flow)

این کامپوننت ویژگی‌های بیشتری نسبت به کامپوننت‌های پارامتری Point دارد. با وجود اینکه کامپوننت Point تنها اطلاعات را ذخیره می‌کند، کامپوننت Line پروسه‌ای ایجاد می‌کند تا اطلاعات ورودی را گرفته و به خروجی تبدیل کند. ورودی‌های این پروسه در سمت چپ کامپوننت (با حروف A و B) نشان داده می‌شوند و خروجی‌ها در سمت راست (با حرف L) نمایش داده می‌شوند. با نگه داشتن نشانگر موس بر روی این حروف توضیحاتی را خواهید دید که اطلاعات بیشتری در رابطه با آنها در اختیارتان قرار می‌دهد.

A و B، به ترتیب، نقاط ابتدایی و انتهایی خط هستند. می‌توانیم این ورودی‌ها را با استفاده از اطلاعات ذخیره‌شده در کامپوننت‌های پارامتری Point پر کنیم.
برای انجام این کار، نشانگر موس را بر روی برآمدگی کوچک در سمت راست یکی از کامپوننت‌های نقطه تکان دهید. یک پیکان کوچک در زیر نشانگر خواهید دید.
کلیک کرده و کلید سمت چپ موس را نگه دارید و موس را به سمت دیگری درگ کنید تا زمانی که یک پیکان مارپیچ را بعد از نشانگر موس ببینید. موس را به سمت اولین ورودی کامپوننت خط برده و رها کنید.

مبانی Grasshopper -ایجاد جریان‌های داده (Data Flow)

این کار بین خروجی کامپوننت پارامتری Point و ورودی کامپوننت Line ارتباط برقرار می‌کند.

این کار را برای نقطه‌ی دوم نیز تکرار کنید و خواهید دید که کامپوننت Line خاکستری رنگ شده و خط قرمزی بین دو نقطه در راینو وجود دارد.

تبریک می‌گوییم! اکنون می‌دانید که چگونه باید از گرسهاپر استفاده کنید.

گرسهاپر این امکان را برایتان فراهم می‌کند که مدل‌های پارامتری خود را از طریق رسم نمودار جریان پروسه‌ای ایجاد کنید که می‌خواهید برای ساخت آن مدل انجام شود. اگر بخواهید پروسه را به صورت نمودار رسم کنید، می‌توانید از Grasshoper استفاده کنید.

به صورت کلی تمام کامپوننت‌ها به روش مشابهی کار می‌کنند یعنی ورودی‌ها در سمت چپ و خروجی‌ها در سمت راست. برای ایجاد ارتباط میان ورودی‌ها و خروجی‌ها کلیک و درگ کرده و چگونگی جریان داده در میان عملیات مختلف را انتخاب کنید. به همین سادگی!

تا کنون از نرم‌افزار برای رسم خط استفاده کرده‌ایم که چندان کارآمد نیست. می‌توانیم همین کار را با استفاده از دستور Line در راینو انجام دهیم. اما قدرت گرسهاپر در این است که می‌تواند چندین پروسه متفاوت را به هم زنجیر کند، که در آن خروجی یک عملیات  به عنوان ورودی عملیات دیگر استفاده می‌شود.

برای این منظور، خروجی منحنی را از کامپوننت Line می‌گیریم و با استفاده از کامپوننت Pipe در زیر Surface/Freefrom یک سطح لوله شکل در اطراف آن ایجاد می‌کنیم. یکی از این کامپوننت‌ها را در canvas بیاندازید و خروجی L از کامپوننت Line را به ورودی C کامپوننت Pipe وصل کنید.

ورودی C در واقع منحنی مرکزی است که سطح لوله‌ای در اطراف آن ایجاد می‌شود. باید  بتوانید این سطح را راینو ببینید. بر روی یکی از نقاط اولیه در راینو کلیک کرده و آن را درگ کنید تا جابه‌جا شود، خواهید دید که شکل هندسی لوله به صورت خودکار آپدیت می شود.

این قدرت گرسهاپر است. تغییر یک ورودی (در اینجا یک نقطه) هر کامپوننت هندسی‌ای که به آن ارجاع داده شده باشد را به یک آپدیت در آن کامپوننت تبدیل می‌کند.
پروسه‌ای که ترتیب داده‌اید مجددا به صورت خودکار اجرا و مدل دوباره تولید می‌شود، بدون اینکه نیاز باشد تمام مراحل مدل‌سازی را مجددا به صورت دستی انجام دهید.

 

زنجیره‌های پیچیده شامل صدها عملیات مختلف می‌توانند ساخته شوند و تمام ساختمان را می‌توان تنها از طریق چند ورودی ساده تعریف و کنترل کرد که به صورت خودکار تغییرات را در سراسر مدل انتشار می‌دهند.

 

دوره‌های مرتبط در دانشیار آی تی

کامپوننت Pipe حتی اگر به ورودی‌های R و E اطلاعاتی داده نشده باشد کار خود را انجام می‌دهد، چرا که این ورودی‌ها مقادیری را به صورت پیشفرض در خود ذخیره دارند.
نشانگر موس خود را بر روی این حروف نگه دارید تا مقادیر پیشفرض آنها را ببینید. ورودی R شعاع لوله است و می‌توانیم آن را تغییر دهیم. (اکنون به بررسی ورودی E نمی‌پردازیم، ولی لازم به ذکر است که با استفاده از آن می‌توانید شکل انتهای لوله را مشخص کنید).

شعاع را با استفاده از کامپوننت Number Slider از قسمت Params/Input کنترل می‌کنیم. یکی از این کامپوننت‌ها را در canvas می‌اندازیم و خروجی آن را به ورودی R وصل می‌کنیم تا مقدار پیشفرض از بین برود.

مبانی گرسهاپر - Number Sliderها

این کامپوننت یک ابزاره‌ی کوچک (widget) است که برای کنترل یک ورودی عددی از طریق کشیدن نوار لغزان به سمت چپ و راست استفاده می‌شود.
اگر می خواهید مقادیر ماکسیمم و مینیمم را تغییر دهید، بر روی نوار لغزان راست کلیک کرده و Edit را انتخاب کنید تا به پنجره‌ای دسترسی پیدا کنید که به شما اجازه می‌دهد مشخصات نوار لغزان را تنظیم کنید. این تنظیمات شامل دامنه‌ی عددی‌ای که نوار پوشش می‌دهد نیز می‌شود.

گرسهاپر ابزاره‌های ورودی بسیار متفاوتی دارد که از طریق آنها می‌توان انواع مختلف داده را به آسانی وارد و ویرایش کرد.

در این مرحله، ساخت دفینیشن برای مثالمان به پایان می‌رسد، اما از مدلی که ایجاد کرده‌ایم برای بررسی چند ویژگی دیگر برنامه استفاده خواهیم کرد‌.

بهترین زبان‌های برنامه نویسی

پیشنهاد دانشیار آی تی به شما

بهترین زبان‌‌ های برنامه نویسی در ۲۰۱۹: ۱۰ زبان برتر برای یادگیری

خواندن مطلب

  1. پیش‌نمایش هندسه

شاید تا کنون متوجه شده باشید که هندسه‌های شفاف قرمز رنگ که در محیط راینو می‌بینید ویژگی‌های عجیبی دارند.
نمی توانید آنها را انتخاب کنید، اگر بخواهید آنها را ذخیره کنید در فایل راینو ذخیره نخواهند شد، اگر بر روی گزینه‌ی render کلیک کنید چیزی دیده نخواهد شد و … ادلیل این امر آن است که هیچ‌کدام از این هندسه‌ها هنوز به شکل واقعی در راینو وجود ندارند. چیزی که می‌بینید فقط یک پیش‌نمایش است که گرسهاپر در درگاه نمایش راینو رسم می‌کند تا به شما نشان دهد که چه اتفاقاتی در جریان است.

اگر بخواهید حالت پیش‌نمایش را غیرفعال کنید– اکنون که شکل لوله را داریم شاید دیگر نیازی به دیدن هندسه‌ی مرکزی وجود نداشته باشد– می‌توانید با راست کلیک کردن در وسط کامپوننت مربوطه (نه بر روی یکی از ورودی‌ها یا خروجی‌ها) و روشن یا خاموش کردن گزینه‌ی Preview آن را غیرفعال کنید.

آموزش Grasshopper - پیش‌نمایش هندسه

پیش‌نمایش هندسه‌ی مرتبط با آن کامپوننت ناپدید می‌شود و کامپوننت رنگ خاکستری تیره‌تری به خود می‌گیرد تا نشان دهد که حالت پیش‌نمایش غیرفعال است.

همچنین می‌توانید حالت نمایش هر چیزی را با استفاده از سه گزینه‌ی اول در سمت راست نوار ابزار درست بالای canvas تغییر دهید و به ترتیب به حالت‌های off، wireframe و shaded درآورید.

 

  1. Bake کردن

به منظور افزودن این هندسه‌ی پیش‌نمایشی به راینو باید آن را bake کرد تا به صورت دستی قابل ویرایش و ذخیره باشد، بتوان از آن تصویر سه بعدی گرفت و امثال آن. با انجام این کار یک نسخه‌ی کپی‌شده از آن هندسه در فایل فعلی راینو به وجود می‌آید.

برای bake کردن هندسه‌ی گرسهاپر، بر روی کامپوننت هندسه‌ای که می‌خواهید به محیط راینو اضافه شود راست کلیک کنید، (نیاز به یادآوری است که باید وسط کامپوننت راست کلیک کنید و نه بر روی ورودی‌ها یا خروجی‌های کامپوننت) و بر روی گزینه‌ی Bake کلیک کنید. با انجام این کار پنجره‌ی کوچکی ظاهر می‌شود که از طریق آن می‌توان چند ویژگی‌ آبجکت جدید در راینو (برای مثال، لایه‌ای که در آن قرار خواهد گرفت) را انتخاب کرد. سپس بر روی OK کلیک کنید تا آن هندسه bake شود.

آموزش Grasshopper - Bake کردن

 

اکنون می‌توانید این هندسه را همانند هر آبجکت دیگری در راینو ویرایش ، حذف، جابه‌جا یا ذخیره کنید.
توجه داشته باشید که هیچ ارتباطی بین این آبجکت bakeشده و دفینیشن Grasshoper که آن را به وجود آورده نیست.
اگر مدل را در گرسهاپر تغییر دهید، تاثیر این تغییرات را در مدل راینو نخواهید دید و به همین ترتیب تغییراتی که در هندسه‌ی راینو ایجاد می‌شود در گرس هاپر دیده نمی‌شود. اگر بخواهید که هندسه‌ی راینو را بر اساس مدل Grasshoper آپدیت کنید می‌بایست آن را حذف کرده و دوباره bake کنید.
به همین دلیل نگه داشتن هندسه‌های bakeشده در مجموعه لایه‌های خود در راینو کار عاقلانه‌ای است تا بتوان به آسانی آن را انتخاب و پاک کرد.

 

  1. Data Matching

یکی از نقاط مثبت گرسهاپر، همانطور که دیدیم، آن است که هندسه‌های (bakeنشده) را می‌توان به صورت پارامتری متصل و آپدیت کرد.
ویژگی مثبت دیگر Grasshoper این است که وقتی یک پروسه تعریف شده داشته باشیم، می‌توانیم آن را بارها بر روی چندین ورودی اعمال کنیم و این دقیقا همان کاری است که اکنون انجام خواهیم داد.
به هیچ‌وجه نیازی نیست که دفینیشن مدل اصلی خود را برای انجام این کار ویرایش کنیم، فقط کافی است که ورودی‌ها را تغییر دهیم.

به جای آنکه بین دو نقطه یک لوله ایجاد کنیم، از دفینیشن خود استفاده می‌کنیم تا چند لوله بین چند جفت نقطه ایجاد کنیم. چهار نقطه‌ی دیگر به مدل راینو اضافه کنید (با استفاده از دستور Point یا Points) تا در مجموع شش نقطه داشته باشیم.

آموزش Grasshopper - Data Matching

بر روی اولین کامپوننت پارامتری Point راست کلیک کنید. دقیقا در زیر گزینه‌ی Set one Point گزینه‌ی دیگری به نام Set multiple Points وجود دارد که به شما امکان انتخاب چند نقطه را می‌دهد. بر روی این گزینه کلیک کرده و سه نقطه‌ای  که می‌خواهید به عنوان نقاط ابتدایی لوله استفاده شوند را در راینو انتخاب کنید. زمانی که کارتان تمام شد، راست کلیک کنید یا کلید بازگشت را بزنید.

توجه داشته باشید که با انجام این کار اطلاعات ذخیره شده در این کامپوننت پاک می‌شوند، بنابراین اگر نقطه‌ی شروع لوله در قسمت قبل را نیز می‌خواهید باید آن را در مجموعه خود در نظر بگیرید.

اکنون این کامپوننت دربردارنده‌ی مقداری داده است. این نقاط به کامپوننت Line منتقل می‌شوند و این کامپوننت خطوط متفاوتی را از هرکدام از آن سه نقطه به نقطه‌ی انتهایی لوله رسم می‌کند. این سه خط به کامپوننت Pipe منتقل می‌شوند تا سه لوله متفاوت رسم شود. با نگاهی گذرا به اتصالات میان آنها می‌توان گفت که داده‌ها در میان کامپوننت‌ها منتقل می‌شوند. به شرط آنکه گزینه Draw Fancy Wires فعال باشد، این اتصالات بجای تک خطی بودن دوخطی خواهند بود.
این حالت نشان می‌دهد که مجموعه‌ای از داده‌ها در حال انتقال هستند و نه فقط یک قسمت از داده (که در حالت تک خطی اتفاق می‌افتد).

این مراحل را برای تنظیمات سه نقطه‌ی انتهایی نیز تکرار کنید.

اکنون سه نقطه‌ی ابتدایی و سه نقطه‌ی انتهایی داریم که به کامپوننت Line منتهی می‌شوند و به عنوان خروجی سه خط (و در نتیجه سه لوله) داریم.
ممکن است انتظار داشته باشید که نه خط داشته باشیم که هر یک از نقاط ابتدایی را به نقاط پایانی متصل کند، اما در عوض گرسهاپر نقاط ابتدایی و انتهایی را به صورت جفت انتخاب کرده و برای هر جفت تنها یک خط رسم می‌کند.
این رفتار به Data Matching شناخته می‌شود و مفهوم بسیار مهمی است که برای کار با Grasshoper باید دانست.

زمانی که یک کامپوننت تعداد زیادی داده‌ی ورودی داشته باشد، گرسهاپر ابتدا مشخص می‌کند که کدام مجموعه ورودی‌ها با هم استفاده شوند و سپس فرآیند را یکبار برای هر مجموعه اجرا می کند. Grasshoper دو قانون ساده را دنبال می‌کند تا تشخیص دهد کدام ورودی‌ها به یکدیگر تعلق دارند:

 

قانون اول: زمانی که دو یا چند مجموعه از آبجکت ها به هم مرتبط می‌شوند، آیتم‌هایی که در موقعیت مشابه در آن مجموعه‌ها قرار دارند به هم مرتبط خواهند شد.

 

دوره‌های مرتبط در دانشیار آی تی

بنابراین، اولین آیتم در اولین مجموعه با اولین آیتم در دومین مجموعه مرتبط خواهد شد، دومین آیتم در مجموعه‌ی اول با دومین آیتم در مجموعه‌ی دوم، سومین آیتم از مجموعه‌ی اول با سومین آیتم از مجموعه دوم و به همین ترتیب تا انتها پیش می‌رود.

فرض کنید مجموعه‌ای از حروف داریم- در مجموعه‌ی اول A، B، C، D و E را داریم و در مجموعه‌ی دوم F، G، H، I و J داریم. با مرتبط کردن این دو مجموعه به یکدیگر، جفت‌های A-F، B-G، C-H، D-I و E-J را خواهیم داشت.

بنابراین، ترتیب ذخیره شدن داده‌ها مهم است. در مثال ما، ترتیبی که نقاط انتخاب می شوند، همان ترتیبی خواهد بود که به هم مرتبط می شوند.

تمام این کارها زمانی درست کار می‌کنند که مجموعه‌ها طول مشابهی داشته باشند.
اما اگر طول یکی از مجموعه‌ها کوتاه‌تر از دیگری باشد چه پیش خواهد آمد؟ در این حالت، قانون دوم را خواهیم داشت.

قانون دوم: زمانی که یک مجموعه کوچکتر از مجموعه‌های دیگر باشد، آخرین آیتم مجموعه‌ی کوچکتر به آیتم های بعدی لیست دیگر مرتبط می شود.

Grasshoper آخرین آیتم در مجموعه را زمانی که داده‌ی دیگری برای مرتبط شدن وجود نداشته باشد دوباره استفاده می‌کند.
اگر دو حرف آخر مجموعه‌ی دوم را حذف کنیم (بنابراین اکنون مجموعه‌ی ۲ فقط شامل F,G و H است)، نتیجه‌ی جفت شدن به صورت A-F, B-G, C-H, D-H, E-H خواهد بود. H در سه جفت متفاوت استفاده خواهد شد.

می‌توانیم تاثیر این کار را با انتخاب تنها دو نقطه به عنوان نقطه‌ی انتهایی ببینیم (یا فقط یک نقطه، همانطور که در اصل فقط یکی داشتیم) در حالی که سه نقطه‌ی ابتدایی داریم:

حال آخرین نقطه‌ی انتهایی به دو نقطه‌ی ابتدایی آخر مرتبط می‌شود.

 

این ویژگی نه تنها بر روی نقاط و خطوط به کار می‌رود بلکه بر روی هر نوع کامپوننت یا داده‌ای نیز قابل اعمال است. به این معنا که می‌توانیم از این ویژگی مثبت در جهت کنترل شعاع هریک از لوله‌های ایجاد شده استفاده کنیم.

 

یک Number Slider جدید ایجاد کرده ( می‌توانید با استفاده از کلیدهای میانبر Ctrl-C و Ctrl-V اسلایدری که قبلا ایجاد کرده‌ایم را کپی و پیست کنید) و آن را به ورودی R کامپوننت Pipe متصل کنید. اگر بخواهید این کار را به صورت معمول انجام دهید، اسلایدر جدید به صورت خودکار جایگزین اسلایدر قبلی خواهد شد، اما اگر در حالی که اسلایدر جدید را متصل می کنیم، کلید Shift را نگه داریم می‌توانیم خروجی‌های مختلفی را به یک ورودی وصل کنیم.

ورودی R اکنون  شامل مجموعه‌ای از اعداد است که همان مقادیر اسلایدرهایی است که متصل کرده‌ایم (به همان ترتیبی که آنها را متصل کرده‌ایم) و این اعداد با مجموعه منحنی‌هایی که وارد C شده عملیات Data matching را انجام می‌دهند.
در نتیجه، ا ولین اسلایدر شعاع اولین لوله و دومین اسلایدر شعاع لوله‌های دیگر را کنترل می‌کند.
اگر بخواهیم می‌توانیم تعداد اسلایدر بیشتری به ورودی R متصل کنیم تا بر روی تمام لوله‌ها کنترل داشته باشیم.

 

  1. جمع‌بندی

اکنون تمام آنچه برای کار با Grasshoper نیاز دارید را آموخته‌اید. بدون شک کامپوننت‌های بسیار دیگری برای یادگیری وجود دارند.
هزاران کامپوننت مختلف وجود دارند و همچنین داده‌هایی که می‌توانند در شکل Data Tree چندبعدی منتقل شوند (در اصل مجموعه به مجموعه) و باعث می‌شوند که عملیات data matching بسیار دشوارتر شود. اما تمام این موارد بر اساس مبانی و اصولی است که در این مقاله توضیح دادیم.

 

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

 

فیلم آموزش رایگان گرس هاپر

 

دوره‌های مرتبط در دانشیار آی تی

 

به این پست امتیاز دهید.
بازدید : 55 views بار دسته بندی : ریپورتاژ تاريخ : 18 سپتامبر 2023 به اشتراک بگذارید :
دیدگاه کاربران
    • دیدگاه ارسال شده توسط شما ، پس از تایید توسط مدیران سایت منتشر خواهد شد.
    • دیدگاهی که به غیر از زبان فارسی یا غیر مرتبط با مطلب باشد منتشر نخواهد شد.