🌀 Revolve SOP چیست؟

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

به زبان ساده‌تر:

این نود مثل «چرخاندن یک پروفایل» دور یک محور عمل می‌کند و از آن سطح انقلاب (Surface of Revolution) ایجاد می‌کند.

📍 مثال کلاسیک:
اگر یک منحنی مثل نصف دایره، یا منحنی لیوان را دور محور Y بچرخانی، بدنه‌ی سه‌بعدی لیوان ساخته می‌شود.


🎯 کاربردها

  • ساخت اشکال متقارن مثل استوانه، گلدان، فنجان، بطری، حلقه، مخروط و بشقاب

  • تولید سطوح نرم و پارامتریک از منحنی‌های ساده

  • استفاده در مدل‌سازی procedural یا ساخت عناصر تزئینی و صنعتی


⚙️ پارامترهای مهم

🔹 1. Group

می‌توانی انتخاب کنی Revolve فقط روی گروه خاصی از اجزای هندسه ورودی اعمال شود (نه روی کل مدل).


🔹 2. Revolve Page – پارامترهای چرخش

Connectivity (نوع سطح خروجی)

مشخص می‌کند خروجی Revolve چه ساختاری داشته باشد:

  • Rows → خطوط افقی ایجاد می‌کند.

  • Columns → خطوط عمودی.

  • Rows and Columns → هر دو، شبیه به شبکه‌ی Quad (پیش‌فرض).

  • Triangles / Alternating Triangles → شبکه را با مثلث‌ها می‌سازد.

  • Quadrilaterals → شبکه‌ای از چهارضلعی‌ها ایجاد می‌کند.

📍 برای سطوح نرم و تمیز، گزینه‌ی Quads معمولاً بهترین است.


Origin

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


Direction

جهت محور چرخش را تعیین می‌کند.
مثلاً:

  • (0,1,0) یعنی محور چرخش عمودی (محور Y)

  • (1,0,0) یعنی چرخش حول محور X

در ویوپورت، یک crosshair (علامت مثبت) مرکز چرخش را نشان می‌دهد و یک خط ضخیم جهت محور را مشخص می‌کند.


Convert Mesh to Polygons

اگر فعال باشد، خروجی نهایی را از نوع Mesh به Polygonهای جداگانه تبدیل می‌کند.
برای زمانی مفید است که بخواهی بعداً هر وجه را جداگانه پردازش یا انیمیت کنی.


Imperfect

برای منحنی‌های NURBS کاربرد دارد. اگر فعال باشد، سطح خروجی از نوع تقریبی (non-rational) می‌شود. در غیر این صورت سطح کاملاً دقیق (rational) ساخته می‌شود.


🔹 3. Detail Page – جزئیات چرخش

Revolve Type

نوع کلی چرخش را مشخص می‌کند (مثلاً بسته یا باز بودن، نوع منحنی ورودی و …).


Start / End Angles

زاویه شروع و پایان چرخش.

  • از ۰ تا ۳۶۰ درجه → چرخش کامل

  • از ۰ تا ۱۸۰ → نیم‌چرخ

  • می‌توانی حتی بیشتر از ۳۶۰ هم وارد کنی تا چند دور بچرخد.

📍 مثال: اگر بخواهی یک فنر یا مدل مارپیچی بسازی، می‌توانی مقدار بیش از 360 وارد کنی.


Divisions

تعداد تقسیمات یا رزولوشن سطح.
هرچه عدد بالاتر → سطح نرم‌تر و جزئی‌تر.
اما دقت کن که مقدار زیاد باعث سنگینی محاسبات می‌شود.


Order

در سطوح spline (NURBS/Bezier) تعیین می‌کند سطح با چه درجه‌ای ساخته شود (مشابه درجه منحنی).


End Caps

اگر فعال شود، دو طرف مدل بسته می‌شود (اضافه شدن دو «درب» صاف به ابتدا و انتهای سطح).
برای ساخت اشیایی مثل فنجان یا استوانه‌های بسته مفید است.


🧩 ورودی‌ها

  • Input 0: هندسه‌ای که قرار است دور محور بچرخد (معمولاً یک منحنی 2D، مثل یک Line یا Curve SOP).


📊 اطلاعات Info CHOP

در Info CHOP می‌توانی داده‌های زیر را ببینی:

  • تعداد نقاط (num_points)

  • تعداد primitives

  • زمان cook و تعداد دفعات پردازش

  • هشدارها و خطاها


💡 کاربرد عملی

فرض کن یک Profile 2D از یک بطری داری (مثلاً با Curve SOP کشیدی).
اگر آن را به Revolve SOP بدهی و محور چرخش را عمودی (Y) قرار دهی:

  • شکل به دور محور می‌چرخد،

  • و بدنه‌ی کامل بطری ساخته می‌شود.

با تنظیم زاویه‌ی شروع و پایان هم می‌توانی فقط بخشی از مدل را بسازی (مثلاً نیم‌بطری یا قوس باز).


🎯 جمع‌بندی سریع

عملکردتوضیح کوتاه
ساخت سطح سه‌بعدی از منحنی دوبعدیRevolve منحنی را حول محور می‌چرخاند.
محور چرخشبا پارامترهای Origin و Direction تعیین می‌شود.
زاویه‌ی شروع و پایانمحدوده‌ی چرخش را مشخص می‌کند.
Divisionsتعیین‌کننده‌ی جزئیات سطح نهایی است.
End Capsانتهای سطح را می‌بندد.
Convert Mesh to Polygonsمش خروجی را به پلی‌گان‌های جداگانه تبدیل می‌کند.