No More Retake

3DCG屋さん向けTips&Referenceサイト

メニュー

Houdiniレシピ:トロコイド曲線

前回、Attribute Wrangle(SOP)でPointを追加する方法をやりましたが、
今回はその亜種です。

唐突ですが、トロコイドというものをご存知でしょうか?
サイクロイドともいうそうですが、Wiki曰く、
円を、ある曲線(円や直線はその特殊な場合)にそってすべらないように転がしたとき、その円の内部または外部の定点が描く曲線」だそうです。

言葉だとよくわからないですねw
こういうヤツです。

PointWrangle_gif05

円の半径を変えていくと、いろんな模様が出来ます。
こういう曲線を描く、スピログラフという定規があるらしいですね。

pointwrangle_jpg

Wikiに数式が載ってるのでHoudini上で実装してみましょう。

c94a25ab532cb5c0b2ff725761a116a4

rc・・・赤い円の半径
rm・・・緑の円の半径
rd・・・描画半径

前回の記事で、Wrangleを使ったpointの作成方法をやったので、今回もそれを使います。
Pointの配置に上記の式を用いてみます。

VEX Expressionはこんな感じになりました。

float theta = radians(ch("theta"));
float interval = ch("interval");
float rc = ch("rc");
float rm = ch("rm");
float rd = ch("rd");

for(float i=0; i<theta; i=i+interval){
     float x = (rc - rm)*cos(i) + rd*cos((rc-rm)/rm*i);
     float z = (rc - rm)*sin(i) - rd*sin((rc-rm)/rm*i);
     addpoint(geoself(), set(x, 0, z));
}

円の半径等はパラメータとして予め用意してから、それを参照してます。
これで出来上がりです。
PointWrangle_06

こういった曲線の面白いところはパラメータをグリグリ変えると、作られる模様もどんどん変わること。

PointWrangle_gif06

今回はトロコイド曲線を作ってみましたが、数式で作れる図形はいっぱいありそうです。
例えば、super formulaなんてものもあます。きっと探せば他にもあるはずです。

今日はここまで!
変なところがあればご指摘を。
では、また次回!

サンプルファイルはこちら

「おまけ1」

アレンジ!!
PointWrangle_gif08

「おまけ2」
記事作成時のボツVer.
これはこれで。
式の+と-を変えたやつです。

PointWrangle_gif04




[おまけ3]

Houdiniのvimeoページんとこに、まんま同じのが載ってましたわ。
くっ、しかも2カ月前に。
次からは、ネタかぶってないかリサーチしよう。
ネタかぶった

関連記事

コメントをお待ちしております

このサイトについて

3DCG Tipsサイト。Houdiniの記事が多めです。

RSS

follow us in feedly

アンケート

記事の難易度についてどう思いますか?

View Results

Loading ... Loading ...

言語切り替え

  • English (United States)
  • 日本語

Archives

  • 2017 (1)
  • 2016 (36)
  • 2015 (64)
  • 2014 (54)
  • 2013 (60)
  • 2012 (54)

スポンサードリンク