4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rhinoceros / Grasshopper Remap Numbers 数理的性質の考察

Last updated at Posted at 2019-04-11

#はじめに
本記事は、あるとき友人がRevitで立体トラスシェルの屋根をモデリングしていたのを見て、Grasshopperでやってみようとなったのがきっかけです。

その際に使用したRemapNumberコンポーネントの挙動があまりにもわからなかったため、一旦内部処理を考察してみました。

GHファイルをアップロードしました。実際にコードに触れながら読んでみてください。
https://drive.google.com/open?id=1ycWlJcnIkYT_OiGK9_DCXjkwYTy7jLQA

(add:20190413 15:32)
タイトル「Rhinoceros / Grasshopper Remap Numbers 内部処理の考察」を訂正し「数理的性質」です。
内部処理というとrhinocerosやgrashopper背後で動くコードなどを連想させてしまったかもしれません。
期待されてこられていた方、すみません!


#制作したもの
##パターン1
パターン1.jpg


##パターン2
パターン2.jpg


##パターン3
パターン3.jpg


#データやりとりの違い
これら3つは同じアルゴリズム(?)を採用していますが、一部データやりとりが違うため、3つの異なる形状が生成されています。
そのデータやり取りの違いが「Remap Numbers」(以下Remap)の入力の違いになります。


##パターン1のスケッチ
パターン1 ワイヤー.PNG

##パターン2のスケッチ
パターン2 ワイヤー.PNG

##パターン3のスケッチ
パターン3 ワイヤー.PNG

ぞれぞれ、RemapのValueにsinによる値を入力しているか、sin+sin(grafted)の値を入力しているか、そしてsin+sin(grafted)をflattenするかという
3パターンに分類されます。(もう1パターンがありますが、形状がパターン1と類似しているので省いています)


#単純にして考えてみる
ここから雑な手書きが入ります笑
##パターン1の処理
パターン1図解.PNG
「Remapは、ソースの配列の値の個数と変化率をそのままに、値の大きさの範囲だけがターゲットで指定した範囲に置き換わる」といえると思います。(間違っていたらコメントしていただけると助かります!)
数学的に正しい解説ではないと思いますが、図右下に書いたような処理が行われていると思います。


##パターン2の処理
パターン2図解.PNG
今度は、図で解釈してみました。
先ほどのパターン1で行ったように、valueのドメインと、ソースのドメインが一致していればいいのですが、
今回はboundsをflattenしたことで、これが一致していません。
その時には、図で考えたほうがわかりやすかったので書いてみました。


##パターン3の処理
パターン3図解.PNG
図的に考えると、どうして-1000が現れるのかがわかりやすくなったと思います。


#おわりに
今回は、sinに0からπを代入していますから、0や1、2という数値がでて、図を見ても半周期の形になっているのがわかります。
単純に考えるために、サーフェスをUVそれぞれ2分割して考えましたが、性質は3分割でも10分割でも以降同じです。(add:20190411 14:51)

以上で簡単にですが、RemapNumbersの数理的性質の考察を終わりにします。
図に関しては追々きれいなものに変えていきますが、ひとまず忘れないうちに雑記的にまとめておきました。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?