ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

【Processing】ジューコフスキー変換で翼の形を計算

成果物

www.youtube.com

こちらは、Processingでリアルタイムに変換したものです。Pythonでも実装しています。

f:id:Nekodigi:20191212211051p:plain

綺麗な翼ですね。しかし、これは何と、円形を変形させたものなのです。元の円も同時に表示したものはこちらです。

f:id:Nekodigi:20191212211206p:plain

図を見てみると、円の中心が原点から離れていることがわかります。翼の形のジューコフスキー変換は、

円の半径(r)、X軸のオフセット(x)、Y軸のオフセット(y)の値だけで全て形を決めることができます。上の見本はr=1.2, x=-0.15, y=0.3です。

作り方・コード

数式は次のようになっています。

複素数が使える場合は、次のように計算します。

w=x+iy+\frac{1}{x+iy}

使えない場合は、次のように計算します。x,yが元の座標で、x1,y1が新しい座標です。

x_{1} =\left( x+\frac{x}{x^{2} +y^{2}}\right) ,\ y_{1} =\left( y-\frac{y}{x^{2} +y^{2}}\right)

主に参考にしたものはこちらです。

http://izumi-math.jp/M_Matumoto/Zhukovsky_ver2.pdf

ちなみに、英語のWikipediaも参考にしています。私には最近、英語を見ると急にひらめく法則があるみたいです。

 Processingのコードはこちらです。

Pythonのコードはこちらです。