NURBSの特性を意識したコンピュテーショナルモデリング

建築情報学会 2024.2.29
株式会社アプリクラフト・中島 淳雄

Rhinoceros

AppliCraft

自己紹介
デジタルモデリングエキスパート（デジタルによる曲面造形）

AppliCraft Co., Ltd. 設立 1997/8
Rhinoceros 総代理店. 1998～
当時のRhinoのサブタイトル;“NURBS Modeling for Windows ”
建築関連2010 Grasshopper Primer 翻訳
Rhino・Grasshopper関連書籍の出版
2010～2012 岡山県立大学 講師
2011～2018 慶應義塾大学SFC 講師
2015～2021 武蔵野美術大学 講師

Rhinoceros

AppliCraft

Rhino関連書籍

Rhinoceros

AppliCraft

意匠建築モデルの例
Case:1 ZAHA Mobile Art Pavillion

2012年

Case:2 仮想のスタジアム

2013年

Case:3 未来の住宅 IERR2040

2019年

アルゴリズムを利用した意匠検討と意思決定
Case:4 NURBSの特性を意識したコンピュテーショナルモデリング
本日の主題

Rhinoceros

AppliCraft

Case:1 ZAHA Mobile Art Pavillion■2011年、慶應義塾大学SFC授業でプロセス公開
全てRhinoのみでモデリング

Rhinoceros

AppliCraft

Grasshopperを使用しない従来のモデリングによるZAHA Mobile Art Pavillion■トリムサーフェスを含む複合曲面の集合体

Rhinoceros

AppliCraft

Case:2 仮想のスタジアム■2013年、Rhinocerosで極めるデジタルモデリングより
Rhinoで基本形状生成；Grasshopperでパターン・パネリング生成
背景景観モデル：株式会社ジオ研究所様提供

Rhinoceros

AppliCraft

■主要3次元カーブは全て手書き■パターン生成、パネリング等でGrasshopperを使用■基本形状の修正に、連動してアルゴリズム

Rhinoceros

AppliCraft

Rhinoceros

AppliCraft

VectorWorks で図面化

Rhinoceros

AppliCraft

VectorWorks で図面化

Rhinoceros

AppliCraft

VectorWorks で図面化

Rhinoceros

AppliCraft

Case:3 未来の住宅 IERR2040
アルゴリズムを利用した意匠検討と意思決定■2019年、“コンピュテーショナルモデリング入門から応用”出版記念セミナー
プロダクトデザイナー・澄川伸一氏 デザインのアルゴリズム担当
SUDARE・丹野氏、竹中工務店・林氏 設計・施工モデル担当

Rhinoceros

AppliCraft

シンプルなHexaパターンから、Voronoiパターンを利用した意匠検討
初期段階、ありふれてつまらないので没Rhinoceros

AppliCraft任意の直線群からパターンからアルゴリズムによる意匠検討
デザイナーが自由に、インタラクティヴにパターン創生のアルゴリズムでデザイン支援

Rhinoceros

AppliCraft

操作イメージ

Rhinoceros

AppliCraft

操作イメージ

Rhinoceros

AppliCraft

完成イメージ

Rhinoceros

AppliCraft

完成イメージ・レンダリング

Rhinoceros

AppliCraft

レンダリング・Twinmotion

Rhinoceros

AppliCraft

最終パターンの決定

アルゴリズムによって生成されたパターンは最終ではない。

人間系の編集を加えることにより洗練させていく。

Rhinoceros

AppliCraft

Rhino/Grasshopper スキル別マップ

理想系

無敵Rhinoモデリング

プロダクト系に多い集団
増えて欲しい集団

建築系に多い集団Grasshopperアルゴリズム

Rhinoceros

システムエンジニア系
集団

Script・C++等

AppliCraft

Case:4 NURBSの特性を意識したコンピュテーショナルモデリング
本日の主題

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン■習熟したモデリングスキルを必要としない造形■“ｔ”パラメーターをフルに利用する■トリムサーフェスの生成を極力さける

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン■地形データと平面上に配置された、7つの点データのみ

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン■点データを読込、ポリカーブ間にブレンドカーブを生成

Rhinoceros

AppliCraft

ブレンド機能を使用したカーブの生成（Rhinoコマンドによる）Rhinoceros

AppliCraft

ブレンド機能を使用したカーブの生成（Grasshopperアルゴリズムによる）

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン■点データを読込、ポリカーブ間にブレンドカーブを生成

Rhinoceros

AppliCraft

Appndix; Modeling example, product model.

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン

Rhinoceros

AppliCraft

後工程を意識したコンセプトデザイン

Rhinoceros

AppliCraft

3Dデジタルモデリングを阻むハードル
1.ジオメトリー表現の知識の欠如
特にNURBSの知識、出来れば熟知しておいた方が良い

2.コンピュテーショナルモデリングに必要な知識の欠如
アルゴリズムを構築できる論理性、データ構造の知識
建築情報学会のメンバーは恐らく習得済み

3.“0”から立体を創生するスキルの欠如
自由曲線・曲面の造形スキル
プロダクト系も含め多くの分野で望まれるイントロダクション・終了

Rhinoceros

AppliCraft

3Dデジタルモデリングの基礎知識
1.Polygon and Geometry
ポリゴンと形状表現（ジオメトリー）

2. Geometry expression type
形状表現の種類

3. 3D digital model with NURBS
NURBSによるデジタルモデル

4. Surface model and Solid model
サーフェスモデルとソリッドモデル

5. Data format
データフォーマット

Rhinoceros

AppliCraft

1. ポリゴンと ジオメトリー（NURBS）表現

NURBS による球27個の制御点で形状を定義

Rhinoceros

Polygonsによる球676 の多角形で表現

Polygonsによる球38024 の多角形で表現

AppliCraft

2. ジオメトリー表現の分類

Rational B-Spline

Rhinoceros

AppliCraft

2. ジオメトリー表現の分類
パラメトリック表現
3次元自由曲線

1つのパラメーター“t”によって表現される

3次元自由曲面2つのパラメーター“u, v”によって表現される

SplineBezier

スプライン関数によって表現されるパラメーターの多項式

B-Spline“segmentation”の概念“weight”を導入し円の表現が可能に

Rational B-Spline

Non Uniform Rational B-Spline“segmentation”を非均等にRhinoceros

AppliCraft

2. 2次元の数学表現
2. 1)パラメトリック”t”によるカーブ

NURBS（Rhinoのジオメトリ）カーブは、一つの変数、“ｔ”の多項式で表現される。
2次元のカーブ（x,ｙ空間）、 3次元のカーブ（x,ｙ,z）も同様で、このようなカーブを変数“t”をパラメーターとするパラメトリックカーブと呼ぶ。

Rhinoceros

AppliCraft

2. 2次元の数学表現
2-2) 2次元のベジェカーブの方程式

カーブは“制御点の座標” と次数 “t”で表現される。

Rhinoceros

AppliCraft

2. 2次元の数学表現
2-3) パラメーターの正規化（Parameterrize）
パラメーター空間の範囲（Domain）を“0” to “1”に限定する。
正規化されたパラメーター“t”
始点位置: t = 0
終点位置: t = 1
正規化されていないパラメーター“t”
始点位置: t = 0（？）
終点位置: t = “カーブの長さ”

カーブは“t” の 始点 から 終点へ移動する軌跡.

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-1) 次数と制御点

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-2) ノットと曲率表示

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-3) Weight（重み）による形状

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-4) NURBS カーブの構造

3 degree, 4 points NURBS Curve

3 degree, Bezier Curve

Knot Vector[ 0, 0, 0, 1, 1, 1 ]Multiple Knot at the end point

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-4) NURBS カーブの構造

3 degree, 4 points NURBS Curve

3 degree, B-Spline Curve

Knot Vector[ 0, 0, 0, 1, 2, 2,2 ]Single Knot at the mid point

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-4) NURBS カーブの構造

3 degree, 5 points NURBS Curve

3 degree, B-Spline Curve

Knot Vector[ 0, 0, 0, 0.5, 1, 1, 1 ]Knot domain normalized(reparameterized)

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-4) NURBS カーブの構造

3 degree, 8 points NURBS Curve

3 degree, Non uniform B-Spline Curve

Knot Vector[ 0, 0, 0, 0.108, 0.167, 0.215, 0.667, 1, 1,]
Knot1interval
non uniform

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-4) NURBS カーブの構造

2 degree, 9 points NURBS Curve

2 degree, Rational B-Spline Curve

Knot Vector[ 0, 0, 0.25, 0.25, 0.5, 0.5, 0.75, 0.75, 1,]
Knot1,interval
even and multiple

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-5) 次数と連続性
次数 1; ライン、ポリライン
次数2; 円、円弧、楕円、パラボラ
ノット位置において、接線連続を保つ
次数3; 自由曲線
ノット位置において、接線連続を保ち、曲率の値も同じ
次数4; 自由曲線 よりスムースな自由曲線
ノット位置において、接線連続を保ち、曲率の値、曲率の変化の値（3階微分値）も同じ
次数5;自由曲線 よりスムースな自由曲線
ノット位置における隣り合うセグメントの4階微分値も同じ
次数11; RhinoのNURBSの上限値（Rhino1.0 では64次も可能、必要がないので上限値を設定）

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-6) 制御点、ノット 、weight

制御点の数; 数の最小値は、次数＋１

ノット; 始点・終点に存在制御点の数が次数＋１より、増加するとノットが追加されセグメント化される

Weight; 全ての制御点は“Weight値（重み）”を持つ
初期値は、”1”.

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-7)3次元曲面

NURBSサーフェスカーブは、パラメトリック空間において直交する2つのパラメトリックカーブの軌跡と考えられる。
サーフェスを定義する2つのカーブの変数は、“u”パラメーター、“v”パラメーターと呼ばれ、サーフェスが持つ2次元の内部空間を“UV”空間と呼ぶ。
※パラメーターは増加する値である。（正規化した場合、0~1に増加）
パラメーターの最低値：カーブの始点、最大値：カーブの終点

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-7)3次元曲面

上記2つのサーフェスは、形状は異なるが、同じ数の制御点、次数を持つ

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-7)3次元曲面

上記3つのサーフェスは、同じ数の制御点、次数を持つ。制御点の位置が異なるが、形状は同じ全く同じである。

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-7)3次元曲面

オブジェクトをモーフイング配置した結果

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-8)3次元曲面における“u” and “v”

3D free form Surface is trace of parameter “u” and “v” from the beginning to the end.

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-8) 3次元曲面が持つ次元のUV パラメーター空間

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-8) 3次元曲面が持つ次元のUV パラメーター空間

Texuture mapping

Rhinoceros

AppliCraft

3. RhinoによるNURBS表現
3-9) トリムサーフェス

Case 1; 任意のカーブで分割した場合トリムサーフェスとなる

サーフェスの分割

Case 2; ISOカーブで分割した場合非トリムサーフェスとなる（要ShrinkSrf）

Rhinoceros

AppliCraft

4. サーフェスモデルとソリッドモデル
4-1) TOPOLOGY & GEOMETRY (位相と幾何情報)
TOPOLOGY(位相)GEOMETRY(幾何形状)

VOLUME(or Solid)
SHELL
FACE

SURFACE

LOOP

Rhinoceros

COEDGEUV-CURVE

EDGE

CURVE

VERTEX

POINT

AppliCraft

4. サーフェスモデルとソリッドモデル
4-2) ソリッドモデルの構造

Rhinoceros

AppliCraft

4-2) ソリッドモデルの構造VOLUME(or Solid)

Assembly

Sub Assembly
Sub Assembly

SHELL

FeatureFilletFACE

SURFACE

Chamfer
Hole

Reference Surface

Round

LOOP

OthersCOEDGEUV-CURVE

EDGE

CURVE

VERTEXPOINT

Rhinoceros

AppliCraft4-3) サーフェスモデルの構造
VOLUME(or Solid)

SHELL

FACE

SURFACE

LOOP
COEDGEUV-CURVE

EDGE

CURVE

VERTEXPOINT

Rhinoceros

AppliCraft

4-4） Rhinoモデルの構造
VOLUME(or Solid)

Open Single Surface

SHELL
Open Poly Surface

FACE

SURFACE

Brep Solid
Boundary Representive
Closed Single Surface

LOOP
COEDGEUV-CURVE

Closed Poly Surface

EDGE

CURVE

VERTEX

POINT

Mass property
Boolean operation
available

RhinocerosAppliCraft

3D 自然界

分子・原子の配列
3D 人間による

3D ジオメトリー表現による数学表現、NURBS等

3D

Rhinoceros

CGによるAppliCraft

5. データフォーマット
5-1) 2D
2D Data format

PostScript

2D
DXF/DWG

Rhinoceros

Adobe Illustrator(AI）PDF

AppliCraft

5. データフォーマット
5-2) 3D
3D Data Format
Surface/Solid model
Wireframe
DXF
DWG
ASCII or Binary

Neutral file format
IGES (ASCII)
STEP(ASCII)
IFC(2X3, 2X4)

Native file format(Binary)

PolygonsOBJ
STL
XVL/XV33ds
LWO
DXF
ASCII or Binary

Rhinoceros

UG
SolidWorks
SolidEdge
othersGeometry Kernel
ParasolidACISAutoCAD(.dwg)
CATIA(.prt)
Pro-E()
Rhino(.3dm)
othersAppliCraft

NURBSモデリングの要素■幾何要素としてはポイント（点）、カーブ（直線、円弧、自由曲線）、サーフェスの３種類しか存在しない。

■3次元の立体を表現するには、一枚もしくは複数のサーフェスから構成されるモデルを作る。
（1枚または、複数のサーフェスが３次元的に閉じた状態をソリッドと呼ぶ）■カーブやサーフェスは、コントロールポイントの数と位置と次数によって定義され、コントロールポイントの数や位置、次数の上げ・下げ（Rhinocerosでは1次～11次）によって編集することが出来る。
またコントロールポイントは必要に応じて追加、削除する事が出来る。

■これらの要素を、準備された手続きでオブジェクトを作成し、オブジェクト同士の関連付けをコントロールするものがRhinoceros（やNURBSをベースとしたCADやCG）のコマンド。

■デザイナー、クリエーター、設計者の意図が最適の状態で反映されたものがデジタルモデルとなる。

Rhinoceros

AppliCraft

Rhinoceros

AppliCraft

3次元カーブの作成（MPサイドサーフェス中央カーブ）

PictureFrame
Curve 5次
15ポイントMove, Nudgeキー

Rhinoceros

AppliCraft

3次元カーブの作成（MPサイドサーフェスの全てのカーブ）

PictureFrame
Curve 5次
15ポイントMove, Nudgeキー

Rhinoceros

AppliCraft

3次元カーブの作成（MPサイドサーフェスの全てのカーブ）

PictureFrame
Curve 5次
15ポイントMove, Nudgeキー

Rhinoceros

AppliCraft

3次元カーブの作成（平面との交差上にカーブを生成）

ExtrudeCrv；カーブの押し出しで平面作成
Intersect；カーブと平面の交差を取り交点生成
InterpCrv 3次；カーブの交点上を通るカーブ作成

Rhinoceros

AppliCraft

3次元カーブの作成（平面との交差上にカーブを生成）

ExtrudeCrv；カーブの押し出しで平面作成
Intersect；カーブと平面の交差を取り交点生成
InterpCrv 3次；カーブの交点上を通るカーブ作成

Rhinoceros

AppliCraft

3次元サーフェスの生成（サイドサーフェス）

NetworkSrf；サーフェスを生成

RhinocerosAppliCraft

3次元カーブの作成（ルーフ中央部分）

Curve 内側窓 3次 9ポイント
Curve ルーフ部分 5次 15ポイント

Rhinoceros

AppliCraft

3次元サーフェスの作成（ルーフ中央部分）

Loft；サーフェスを生成

Rhinoceros

AppliCraft

3次元サーフェスのトリム（ルーフ中央部分）

Split

Rhinoceros

Top面から窓部を分割

AppliCraft

3次元サーフェスの厚み付け（ルーフ中央部分）

ExtrudeSrf

Rhinoceros

サーフェス押し出し厚み付け

AppliCraft

3次元サーフェスの厚み付け（ルーフ中央部分）

ExtrudeSrf
FilletEdge

Rhinoceros

サーフェス押し出し厚み付け面から窓部を分割
フィレット作成

AppliCraft

3次元カーブの作成（ルーフ部分 – 検討段階 ）Rhinoceros

AppliCraft

3次元カーブの作成（ルーフ部分 – 決定 ）Rhinoceros

AppliCraft

3次元サーフェスの作成（ルーフ部分 – 基本サーフェス ）Split

Rhinoceros

オプション：アイソカーブでサーフェス分割

AppliCraft

3次元カーブの作成（ルーフ部分 – バリエーション ）Curve

Rhinoceros

3次AppliCraft

3次元カーブの作成（ルーフ部分 – バリエーション ）Curve

Rhinoceros

3次AppliCraft

3次元サーフェスの分割

Split

Rhinoceros

オプション：アイソカーブでサーフェス分割

AppliCraft

3次元サーフェスの作成（ルーフ部分 – バリエーション ）Rhinoceros

AppliCraft

3次元サーフェスの作成（ルーフ部分 – 最終 ）Rhinoceros

AppliCraft

3次元サーフェスの作成（ルーフ部分 – 最終 ）Rhinoceros

AppliCraft

3次元サーフェスの分割（サイド部分 ）Split

Rhinoceros

AppliCraft

3次元サーフェスの作成（ルーフ部分 – 最終 ）コントロールポイントの移動で面変形

Rhinoceros

AppliCraft

3次元サーフェスの作成（スカラプティングによる編集 ）Split
オプション：アイソカーブでサーフェス分割
InsertKnot

Rhinoceros

AppliCraft

Rhinoceros

AppliCraft

Rhinoceros

AppliCraft

ダウンロードモデル
Case:1 ZAHA Mobile Art Pavillion
2012年
https://rutles.co.jp/download/390/3dm/5/MobileARTPV2013.zip
Case:2 仮想のスタジアム2013年
https://rutles.co.jp/download/390/3dm/5/Stadium2013ALL.zip
Case:3 未来の住宅

IERR2040

2019年

https://www.applicraft.com/upload/book/kj_1.zip
Case:4

NURBSの特性を意識したコンピュテーショナルモデリング（本日の主題）
後日、アプリクラフトホームぺージスキルアップ集中講座にアップロード予定
https://www.applicraft.com/2020spring/
デモ途中で使用したNURBS関連のGrasshopperアルゴリズム
https://www.applicraft.com/cms/wp-content/uploads/2019/08/4-2_Nurbs.zip
書籍モデルデータは下記からダウンロード可能
https://www.applicraft.com/bookdata-download/
サンプルモデル・アルゴリズム
https://www.applicraft.com/samplemodel-download/

Rhinoceros

AppliCraft