Геометрія Поверхні, Посібник з Grasshopper (RU)

1.5.1. Геометрія Поверхні

NURBS (неоднорідні раціональні Б-сплайни) - математична вистава, яка може точно змоделювати будь-яку форму з простої 2D лінії, кола, арки або коробки в найскладнішу 3D довільну форму органічну поверхню або тіло. Завдяки своїй гнучкості та точності, NURBS моделі можуть використовуватись у будь-якому процесі від ілюстрації та анімації до виробництва.

На відміну від декількох примітивних типів поверхні, таких як сфера, конуси, площини та циліндри, Rhino підтримує три типи поверхонь вільних форм, найкорисніша з яких поверхня NURBS. Як і криві, всі можливі форми поверхні можуть бути представлені NURBS поверхнею, яка є запасний за замовчуванням Rhino. Вона також, на даний момент, є корисною поверхнею визначення і саме на ній ми і зосередимося.

  1. Сфера примітив [площину, радіус]
  2. Циліндр примітив [площину, радіус, висота]
  3. Площина примітив [площина, ширина, висота]
  4. Конус примітив [площину, радіус, висота]

1.5.1.1. NURBS ПОВЕРХНІ

NURBS поверхні дуже схожі на криві NURBS. Такі ж алгоритми використовуються для обчислення форми, нормалей, тангенсів, кривизни та інших характеристик, але є й явні відмінності. Наприклад, криві мають тангенс вектори та нормальні площини, у той час як поверхні мають нормальні вектори та тангенс площини. Це означає, що у кривих відсутня орієнтація, тоді як у поверхні відсутня напрямок. У разі NURBS поверхонь, фактично два напрямки закладені в геометрію, тому що NURBS поверхні - це прямокутні сітки кривих і . І навіть хоча ці напрямки частодовільні, ми все одно їх використовуємо, тому що вони полегшують нам життя.

посібник

Ви можете розглядати NURBS поверхні як сітку NURBS кривих, які йдуть у двох напрямках. Форма NURBS поверхні визначається числом контрольних точок та порядком цієї поверхні у напрямках "u" та "v". NURBS поверхні достатні для зберігання та подання поверхонь вільної форми з високим ступенем точності.

Surface Domain Поверхня діапазону визначається порядком параметрів (u,v), які визначають у 3-D точці на цій поверхні. Діапазон у кожному просторі (u або v) зазвичай описується як два дійсні числа (u_min до u_max) і (v_min до v_max). Зміна діапазону поверхні вважається репараметризацією поверхні.

У Grasshopper часто буває корисно репараметризувати поверхні NURBS так, щоб діапазони u і v були обидва від 0 до 1. Це дозволяє нам легко визначити і проводити операції на поверхні.

посібник

Визначення параметрів на рівних інтервалах у 2-D параметричному прямокутнику не завжди переноситься на рівні інтервали у 3-D просторі.

Surface evaluation Визначення поверхні за параметром, який є частиною діапазону поверхні, призводить до точки на поверхні. Майте на увазі, що середина діапазону (mid-u, mid-v) не обов'язково може визначати середню точку 3D поверхні. Також, при визначенні u та v значень, які не входять діапазону поверхні, ми не отримаємо будь-якого корисного результату.

геометрія

Normal Vectors and Tangent Planes Тангенс площину до поверхні у зазначеній точці - це площина, що стосується поверхні у цій точці. Z напрямок тангенс площини представляє нормальний напрямок поверхні в ційточці.

Grasshopper займається NURBS поверхнями подібним чином як Rhino, тому що він побудований на тому самому ядрі операцій, які необхідні для генерації поверхні. Тим не менш, через те, що Grasshopper відображає поверхню поверх видового вікна Rhino (саме тому, ви не можете вибрати геометрію, створену через Grasshopper, у видовому вікні, доки ви не запечете результати в цій сцені) деякі з налаштувань mesh трохи нижче, щоб тримати швидкість обчислень Grasshopper досить високо. Ви могли помітити деяку гранність поверхні mesh, але це очікувано і є результатом налаштувань промальовування Grasshopper. Будь-яка запечена геометрія все одно використовуватиме найвищі налаштування mesh.

1.5.1.2. ПРОЄЦЮВАННЯ ПОВЕРХНОСТЕЙ

У попередньому розділі ми пояснили, що NURBS поверхні містять власні координати простору, встановлені діапазонами u і v. Це означає, що двопросторова геометрія, яка визначається координатами x і y, може бути перенесена на простір uv. Геометрія розтягуватиметься і змінюватиметься у відповідь на кривизну поверхні. У цьому відмінність від простого проектування 2d геометрії на поверхню, де вектори промальовуються з 2d геометрії у вказаному напрямку, поки вони не перетнуться з поверхнею.

grasshopper

Ви можете думати про проектування як про геометрію, що накладає тінь на поверхню, і про перенесення як про геометрію, яку розтягнули по поверхні.

  1. Перенесена геометрія, яка визначається координатами uv
  2. Геометрія, що проектується, на поверхню

Як 2d геометрія може бути спроектована на простір uv поверхні, так і 3d геометрія, що знаходиться в коробці, може бути перенесена на відповіднускручену коробку на ділянці поверхні. Ця операція називається box morphing і використовується для заповнення кривих поверхонь трьох-просторовими геометричними компонентами.

посібник

Щоб розмістити скручену коробку на поверхні, діапазон поверхні має бути розділений, щоб створити сітку на ділянці поверхні. Скручена коробка створюється промальовуванням векторів нормалі в кутах кожної ділянки до бажаної висоти і створенням коробки, що визначається кінцевими точками векторів і кутових точок ділянки.

1.5.1.3. ВИЗНАЧЕННЯ ПЕРЕТВОРЕННЯ

Файли вправи, які супроводжують цей розділ:

У цьому прикладі ми будемо використовувати компонент box morph для заповнення NURBS поверхні геометричними компонентами.

геометрія

  1. NURBS поверхня заповнена компонентом.
  2. Вихідний компонент у вихідній коробці.
  3. Поверхня розділена на ділянки.
  4. Скручені коробки розміщені на поверхні.