![見出し画像](https://assets.st-note.com/production/uploads/images/137837223/rectangle_large_type_2_dba952699f2dfa91a0499f636f75a883.png?width=800)
Scale 拡大縮小は原点を指定しないと使いづらい
Grasshopperでオブジェクトを拡大縮小しようしたときのコンポーネントの候補にScaleコンポーネントが挙がってくる
ただ、このScaleコンポーネント
何も考えずにジオメトリと倍率を入力しただけだと使いづらい
![](https://assets.st-note.com/img/1713533704132-HKvjGEi8bd.png?width=800)
問題は入力端子のCenterだ
これはデフォルトだとXY座標の原点(0,0,0)を指定しているのだが
どうやら拡大・縮小の際、この原点を基点にしている
このせいで単純にオブジェクトの拡大縮小だけ行いたいところが、
倍率を調整したときにその倍率で原点から離れた位置に動いてしまう
![](https://assets.st-note.com/img/1713533651377-tc1zFvDoWU.png)
![](https://assets.st-note.com/img/1713533638368-eHksiO2CGy.png)
![](https://assets.st-note.com/img/1713533664691-gnBZNOzQrK.png)
Rhino上でモデル化したオブジェクトの位置で動いてほしくなかったら
このCenterの位置をこちらで指定してやればいい
例えばAreaコンポーネントで重心位置を取得し
これをScaleコンポーネントのCenterに入力すると
重心を基点に拡大縮小を行ってくれる
![](https://assets.st-note.com/img/1713534545004-Gg9gBqMXZC.png?width=800)
![](https://assets.st-note.com/img/1713534573492-WRBpgONaKO.png)
これならどれだけ拡大しても
元となるオブジェクトから勝手に離れていくことは無くなりそうだ
今回はAreaコンポーネントを使用したが
オブジェクトの中心を取得できるコンポーネントは他にもありそうだ
Areaコンポーネントについては以下の記事で少しだけ触れている
この記事が気に入ったらサポートをしてみませんか?