Rhino,Grasshopper: 中心点と重心の違いについて

Rhinoでモデリングをする際、オブジェクトスナップ機能を使うことで、既存のモデルに対してズレがない精度をもったモデルを作成することができます。

オブジェクトスナップは、通常画面下部にある[Osnap]と、その上の各オブジェクトスナップのチェックボックスを組み合わせることで使用出来ます。
詳細はリンク(開発元ヘルプ)をご参照ください。

ここでは[中心点]オブジェクトスナップについて、確認してみたいと思います。[中心点]は、平面上の円や矩形、サーフェスやポリライン、球などのジオメトリの外周にカーソルを合わせることで、その中心にスナップしてくれるという機能になります。

円や矩形などであれば気にならないのですが、いびつな形状のポリラインの場合、中心と思えない個所を取得してしまうことがあります。これは[中心点]オプションが、制御点の座標値の平均値を取得しているためになります。この例では、左側に多く制御点が集まっているため、平均値である中心点が左に寄ってしまいます。

そういった時は、[AreaCentroid]コマンドを使うことで、サーフェス、メッシュ、閉じた平面曲線などのジオメトリの重心を求めることができます。詳細はリンク(開発元ヘルプ)をご参照ください。


補足:Grasshopperでも、同様に

  • [Area]コンポーネントのCenteroidと[Polygon Center]コンポーネントのCenter(A)からは重心
  • [Polygon Center]コンポーネントのCenter(V)と、[Discontinuity]で折れた点を求めて[Average]で平均点を求めたものからは、中心点と同じ個所の点

が出力されます。

また[Area]コンポーネントは曲線の場合、閉じた平面曲線しか入力に使うことができません。一度近しい平面を取得、平面に投影後、使用することになるので、とりあえず内側の点が欲しいという場合は、中心点を使う方法もあります。