GLSLでお絵描き【極座標系と周期関数】


gl-reactを使ってGLSLでお絵描きをしてみます。

以下と同じようなGLSLの練習メモです。

直交座標の三角関数

練習がてらsincostanを書いてみましょう。

座標をuv(0~1, 0~1)をxy(0~2π, -1~1)に変えて式との差を見ます。

diffの最大値を1.0にして累乗しまくればいいかと思いましたが、計算的にどうやってもぼやけるのと負荷が気になるところ。

step関数を使って書き直します。

step(th, x)なのでdiffが閾値で0.01>=diffなら1.0、小さければ0.0です。

式次第では面白いものもできるかもしれませんが、そんなに数学マニアでもないので回転対称な図形を書きやすい極座標系を用います。

極座標系

座標を角度と距離で表します。

適当な周期関数と比較することで回転対称な図形になります。

計算的に中央が疎になるのはちょっと補正したほうがよさそうな気もする。

単純な塗り絵ならこれだけでもそれっぽい画像になります。

 

この辺の周期関数を適当に弄れば花っぽいものも作れます。

試しにコスモスを作ってみましょう。

色々できそうで面白いけど実用的ではないかな。


コメントを残す

メールアドレスが公開されることはありません。