はじめに
Twitterにスーパーマリオのキノコの作り方をアップしたらさらに良い方法を教えていただきました。そこで使われていたノードをメモします。
Revolution Surface
参照元
sverchok/docs/nodes/surface/revolution_surface.rst at master · nortikin/sverchok
Sverchok. Contribute to nortikin/sverchok development by creating an account on GitHub.
機能
このノードにカーブを与えると設定した軸に沿って与えられたカーブを回転させサーフェスを生成します。スフィア(球)、円柱、円錐など多くの回転面はこのノードで作ることができます。
ノート: プロファイルカーブは平らである必要はありません。
サーフェスの領域:
- U方向 Profileカーブと同じ
- V方向 ノードの入力により定義される。Zero value の V はプロファイルカーブの初期位置に対応する。
入力
- Profile 必須プロファイルカーブ すなわち回転させる事によってサーフェスを作るためのカーブ
- Point回転軸上のポイント。初期値は(0,0,0)
- Direction 回転軸の方向。初期値は(0,0,1)
- AngleFormどこから回転を始めるかを示す角度。デフォルト値は0
- AngleToどこまで回転をするかを示す角度。デフォルト値は 2*pi(完全な円)
パラメータ
- Origin 生成されたサーフェスのオリジンをどこに作るかを設定する。つまり空間のどこに配置するかを決める。サーフェスの形状には影響を与えず、ただ位置のみを決める。使用可能なオプションは
- Global origin サーフェスの原点はグローバル原点(0,0,0)に置かれるので、サーフェスはグローバル原点を通る軸を中心に回転したように見えます(ただし、実際には指定された軸を中心に回転し、サーフェス全体がグローバル原点に移動するだけです)。
- Revolution axis 回転軸のオリジンに配置される。つまりPoint inputで与えられた点
初期値は Revolution axis
出力
このノードは下記の出力を持つ
- Surface 生成された回転面(サーフェス)
その他
使用例が公式ページにもあるので見てみてくださ
使ってみる
- A 図のような頂点と辺のみになるメッシュを作成しObjests Inから取得
- Vector Sortを行い接続順に頂点が並ぶように並び替えを行う
- B カクカクの頂点を丸みを帯びた曲線に変える為、CubicCurveノードで処理
- Evaluate Curve、Matrix In, Viewer Drawは見本の為に配置
- C Bのカーブをプロファイルカーブとしてサーフェスを回転
- プロファイルカーブがXY平面上にある為、回転軸は (0,1,0)としている
- 360度回転させるため、Angleは0~6.28(ラジアンでの360度)としている
- サーフェスを頂点、辺、面に変換する為にEvaluate Surfaceを行いMesh Viewerでモデル化
メモ
このノードを知った経緯