見出し画像

つぶやきProcessing ellipsoid()活用術

こんにちは、AQUARING かに です。
今回は最近つぶやきProcessingでよくやっている、ellipsoid() (楕円体)を使った表現テクニックを紹介します。
調整できるパラメーターが多いため、ellipsoid() だけもでいろんな形状が作れます。そのため複数の関数を使わなくて済むのでつぶやきProcessingにおいては文字数削減にもなります。

ellipsoid() の書き方

ellipsoid(
  [radiusx],// X方向の半径
  [radiusy],// Y方向の半径
  [radiusz],// Z方向の半径
  [detailX],// X方向の分割数
  [detailY] // Y方向の分割数
)

基本的には sphere() (球体)と同じく半径とXY方向の分割数を指定しますが、ellipsoid() の場合はXYZ各方向に対しての半径の大きさをそれぞれ指定することができます。

ellipsoid(100);
radiusx のみ指定すると球体に。
ellipsoid(50, 100, 150);
radiusx,y,z それぞれ指定するとこんな歪(いびつ)な形にも。
ellipsoid(50, 100, 50, 4, 2);
detailx,y を小さくするとカクカクに。

作例

分割数の変更

中心から外に向かうにつれて radiusy を大きくしています。
宝石みたいでかわいいですね。

ellipsoid() の組み合わせで3Dの星

カクカクの ellipsoid() をXYZ軸方向に回転させて星形を作っています。

球体とカクカクの組み合わせ

ellipsoid() のパラメーター違いで球体とカクカクの2種類の形状を作っています。つぶやきProcessingだと文字数の関係で1つの形状だけの表現になりがちですが、複数の形状が作れるとより面白くなりますね。

花びら

中心から外側に向けての繰り返しで radiusy, radiusz を変化させることで、外にいくにつれて大きくなる花びらを作っています。これを sphere() でやろうと思うと scale() も必要になってくるので、かなりの文字数削減になっています。

丸みのあるペラペラ形状

detailx を小さく、detaily を大きくするとことで、plane() や box() とは一味違った丸みを帯びた平面になります。

まとめ

ellipsoid() だけでもパラメーターの組み合わせ次第でいろんな形状が作れるので、みなさんもぜひ使ってみてください〜!

この記事が気に入ったらサポートをしてみませんか?