شاید اصلیترین نوع اشیایی که در مدلسازی سهبعدی راینو با آن سر و کار خواهید داشت، سطحها یا همان Surfaceها باشند. در واقع هنگام ساخت یک مدل سهبعدی در راینو، رویه و سطح آن مدل است که ایجاد میشود. به همین دلیل به راینو و نرمافزارهایی که مانند راینو از این روش برای مدلسازی استفاده میکنند، نرمافزارهای Surface Modeling گفته میشود.
سطوح در راینو انواع مختلفی دارند که در این پست با برخی از آنها آشنا میشوید. سطوح نیز مانند خطوط دارای ویژگیهای خاصی هستند که آگاهی از این ویژگیها، بعداً هنگام ایجاد و ویرایش سطوح، کمک بسیاری به درک منطق دستورات مرتبط با آنها میکند. البته برخی مفاهیم و دستورات در مورد خطوط و سطوح مشترک هستند و میتوانید اطلاعاتی را که قبلا در مورد خطوط آموختهاید، درمورد سطوح نیز به کار بندید. بهعنوان مثال همانطور که دو خط (با شرط این که انتهایشان بر هم منطبق باشد) را میتوانید با دستور Join به هم متصل کنید، دو سطح نیز در صورتی که لبههای منطبق بر هم داشته باشند، با همین دستور قابل اتصال و یکی شدن با هم هستند.
با این توضیح، سادهترین دستهبندی سطوح را میتوان اینگونه در نظر گرفت. دسته اول؛ سطوحی که از به هم متصل شدن چند سطح دیگر ساخته شدهاند و دسته بعدی سطوحی که یک سطح مستقل هستند و در صورتی که دستور Explode را روی آنها اجرا کنید، اتفاق خاصی رخ نمیدهد. دسته اول را Polysurface و دسته دوم را Surface نامگذاری میکنیم. توجه داشته باشید که بسیاری از دستورات و عملیات فقط در مورد Surfaceها قابل انجام هستند. بهعنوان مثال همانطور که Curveها دارای نقاط کنترل هستند و میتوان با جابهجا کردن آنها شکل Curve را تغییر داد، Surfaceها نیز دارای نقاط کنترل هستند. اما این موضوع در مورد Polysurfaceها صادق نیست و نمیتوان شکل آنها را به وسیله نقاط کنترل تغییر داد.
علاوه بر Surfaceها و Polysurfaceها که از نسخههای اولیه راینو وجود داشتهاند، در راینو ۵ نوع دیگری از سطوح به نام Lightweight Extrusionها نیز معرفی شدهاند که حجم بسیار کمتری نسبت به Surfaceها و Polysurfaceها دارند. در راینو ۵ سطوحی که با برخی دستورات (مانند Box، Cylinder، ExtrudeCrv و…) ایجاد میشوند، از نوع Lightweight Extrusion یا به اختصار Extrusion هستند. دلیل این موضوع این است که در بسیاری از مدلهای سهبعدی، به ویژه مدلهای معماری، تعداد زیادی از سطوح تنها از امتداد پیدا کردن یک خط در یک مسیر مستقیم به وجود میآیند (مانند آنچه با ابزار Gumball میتوان انجام داد). بنابراین با این تدبیر حجم مدلهایی از این دست، به میزان قابل توجهی کاهش مییابد. البته توصیه میشود در صورتی که میخواهید فایل را به نرمافزار دیگری انتقال دهید، Extrusionها را با ابزار (Explode) به Surface تبدیل کنید.
سطوح در راینو فارغ از اینکه Surface باشند، یا Polysurface یا Extrusion در صورتی که بسته باشند، Solid نامیده میشوند. در یک تعریف دیگر به سطوحی که لبه آزاد نداشته باشند Solid گفته میشود. لبه آزاد یا Naked Edge لبهای است که به هیچ لبه دیگری متصل نباشد. برای مشاهده لبههای آزاد یک سطح، میتوانید از دستور ShowEdges استفاده کنید. در صورتی که این دستور هیچ لبهای را بهعنوان Naked Edge شناسایی نکند، میتوان نتیجه گرفت که سطح انتخاب شده یک Solid است. مکعب، کره و استوانه نمونههایی از سطوح بسته یا همان Solidها هستند.
تمام سطوح در راینو دارای سه جهت اصلی به نامهای U، V و N هستند. جهت N در واقع همان بردار نرمال سطح در هر نقطه از آن است. بنابراین راستای N در هر نقطهای از سطح، جهت راستای عمود به سطح در همان نقطه است، و سوی آن به سطح بستگی دارد. توضیح اینکه هر بردار دارای یک راستا و یک جهت یا سو است. پس میتوان برای هر سطح دو رو در نظر گرفت. روی سطح، که به آن Frontface و پشت سطح، که به آن Backface میگوییم. با تغییر جهت بردار نرمال سطح، پشت و روی سطح نیز برعکس میشوند. برای برعکس کردن جهت یک سطح از همان روشی استفاده میشود که برای تغییر جهت خطوط گفته شد. سطح مورد نظر را انتخاب کرده و دستور Flip را در خط فرمان وارد کنید.
برای درک بهتر مفهوم دو جهت U و V لازم است بدانید که در راینو هر Surface، با هر میزان از انحنا و پیچیدگی که باشد، از یک سطح مستطیل اولیه ساخته شده است، که در جهات مختلف تغییر شکل پیدا کرده است.
حال اگر طول و عرض آن مستطیل اولیه را U و V بنامیم، مفهوم این دو جهت در مورد تمامی سطوح، به روشنی مشخص خواهد شد. روی هر سطح خطوط کمرنگی دیده میشوند که به آنها Isoparametric Curve یا به اختصار Isocurve میگوییم. با کمی دقت به شکل بالا و بر اساس آنچه در مورد جهتهای U و V گفته شد، متوجه خواهید شد که در هر سطح Isocurveها همراستا با همان جهتهای U و V هستند. اما برای تشخیص اینکه کدام Isocurve تعیین کننده جهت U و کدام تعیین کننده جهت V است، از دستور Dir استفاده میشود. سطح مورد نظر را انتخاب کرده و روی ابزار (Analyze direction) کلیک کنید، یا دستور Dir را در خط فرمان وارد کنید. اکنون نشانگر ماوس را روی هر قسمتی از سطح که ببرید، سه بردار با سه رنگ مختلف در آن نقطه از سطح نمایش داده میشود. بردار سفید، نشان دهنده بردار نرمال سطح یا همان جهت N در آن نقطه از سطح است، بردار قرمز نشان دهنده جهت U و بردار سبز نشان دهنده جهت V در نقطه تعیین شده از سطح است.
برای تغییر جهت مثبت بردارهای U و V میتوانید به ترتیب از گزینههای UReverse و VReverse از خط فرمان استفاده کنید. همچنین گزینه SwapUV باعث میشود جای بردارهای U و V با هم عوض شوند. و نهایتاً گزینه Flip همان کاری را انجام میدهد که کلیک راست روی همین ابزار انجام میدهد، یعنی جهت بردار N را برعکس کرده و در نتیجه سطح را پشت و رو میکند. یادآور میشود که در سطوح Solid جهت نرمالها (بردار N) همواره به سمت بیرون است و دستور Flip نیز تأثیری بر آن نخواهد داشت.
متن مفید و خوبیست به خصوص قسمتی که به Extrusion ها و نحوه انتقال آنها به نرم افزارهای دیگر و عکس کمک آموزشی که در خصوص تفهیم نحوه ایجاد سطوح و آرایش Isocurve های سطوح گذاشتید. مطالبی از این دست توسط تمام افرادی که به علت یادگیریه تجربی نرم افزار داعیه مربیگری دارند به علت فقدان اطلاعات هیچ وقت گفته نخواهد شد. نحوه بیان شما و درک کامل و درست از بیان کلمات لاتین موجود در نرم افزار و مهم تر از همه اشاره به نحوه عملکرد نرم افزار راینو تماما گویای این مطلب است که شما در کار خود بسیارحرفه ای بوده واین مطلب وجه تمایز شما از افرادیست که در بالا به آنها اشاره کردم.
محمد امین عزیز،
حضور بزرگواران نکتهبینی مثل شما در جمع خوانندگان این بلاگ، مایه دلگرمی و امیدبخش در ادامه مسیر آموزشها خواهد بود. این پست بخشی از کتاب بنده تحت عنوان «مدلسازی سهبعدی با Rhinoceros5» هستش که در مراحل نهایی چاپ قرار داره و به زودی در اختیارتون قرار خواهد گرفت.
متاسفانه حق با شماست و در این آشفتهبازار افرادی (که بعضا اسم و رسمی هم برای خودشون دست و پا کردن!) با آموزش ناقص و حتی اشتباه، علاقمندان به یادگیری این نرمافزار دوستداشتنی رو از لذت کاربری حرفهای این نرمافزار محروم میکنند. امید که این مطالب بتونه در حد بضاعت راهگشای دوستان باشه.
امیدوارم کتاب شما هر چه زودتر به چاپ برسه تا علاقه مندان بتونن از آن بهره مند بشن.
سلام استاد گرامی من مدتیه که با راینو کار می کنم اما توی مماس کردن و چسباندن ترسیماتی مانند گل و شکلهای فانتزی و … بروی سطوح دیگری چون دیوار یا ورق های مختلف و … مشکل دارم اگه ممکنه براتون منو راهنمایی بفرمایید که با کدوم دستورات می تونم اینکارو انجام بدم . بسیار ممنونم .
سلام به شما. لطفا سوالتون رو با جزئیات بیشتر و به همراه تصویر مطرح کنید و بگید دقیقا کدوم قسمت مشکل دارید تا براتون توضیح بدم.
سلام ضمن تشکر میشه سرفیس های که ایجاد کردیم به سالید تبدیل شه
سلام. بله
با هر روشی که یک سرفیس بسته ایجاد کنید، سطح شما یک سالید خواهد بود.
سلام و ممنون از سایت خوبتون..سوالی داشتم در مورد احجام…دستوری که احجام را مسقف میکند چه دستوری هست؟
سلام به شما
فکر میکنم منظورتون دستور Cap باشه
سلام
دوست عزیز من یه سوال داشتم
چه جوری میشه خطوطی بروی یک طرح دو بعدی کشید که حالت سه بعدی بهش بدن
مثلا یک توپ که با کشیدن خطوطی مثل اسپلاین حالت سه بعدی به توپ بدن
یعنی وقتی نگاش نی سه بعدی ببینی
لطف میکنی اگر با ایمیل جوابمو بدی
باتشکر
سلام
سوالتون رو واضحتر و ترجیحا با تصویر مطرح کنید.
پاسخ به سوالات همینجا نوشته میشه
با سلام.
ممنون از توضیحاتتون من کتاب شمارو از انتشارات دیاگرام خریداری کردم منتها به مشکلی برخودم پس از نصب راینو ۵ بدون ارور و مشکلی بعد از باز کردن برنامه نما ها مشکل دارن با هم هماهنگ نبستن و نمای پرس پکتیو پیکسلیه نمیدونم چطور باید حلش کرد چندبار هم مجددا نصب کردم اما درست نشد.
ممنونم
سلام
قبل ار هر چیز مطمئن بشید که آخرین بروزرسانی راهانداز کارت گرافیک کامپیوتر شما نصب شده باشه.
و بعد از اون از پنجره Rhino Options از مسیر View > OpenGL گزینه Use accelerated hardware modes رو علامت بزنید و Antialiasing رو روی ۴x یا ۸x قرار بدید.
Salam khaste nabashin man chetor mitonam poste gerd bedam be hatman???
سلام لطفا توضیح میدین من میخوام یه بوم رنگ که منحنی طور هست (ابزار ورزشی) سه بعدی بکشم میشه راهنمایی کنید؟
سلام و درود بر شما
ضمن تشکر از مطالب بسیار آموزنده تون
خواهش می کنم بفرمایید چگونه به سطوح ضخامت می دهیم؟
یعنی مثلا وقتی یک سطح را بعنوان سقف ترسیم کردیم چگونه از حالت ورقه و پوسته بودن درمیاد و ضخامت می گیره؟ سپاس از شما استاد گرامی
سلام به شما
برای این کار دستور OffsetSrf رو در خط فرمان وارد کنید و ضخامت مورد نظر رو با گزینه Distance مشخص کنید. همینطور گزینه Solid رو هم روی Yes تنظیم کنید.
وقت بخیر یک سوال داشتم در راینو شش در کدام قسمت سیتینگ میتونیم پشت سطح رو رنگی کنیم
در پنل Display (اگه این پنل رو نمیبینید از منوی Panels گزینه Display رو علامت بزنید.) گزینه Color backface رو علامت بزنید و با کلیک روی کادر سفید رنگ رنگ دلخواه رو برای نمایش پشت سطوح انتخاب کنید.
توضیح: این کار رو در هر کدوم از حالتهای نمایش (Shaded, Ghosted و…) که انجام بدید تغییرات برای همون حالت نمایش اعمال خواهد شد.
خیلی عالیست . حال کرد م / مایلم کتابتان را خریداری کنم