我正在研究joukowsky变换来绘制翼型,我正尝试用python来做这个,保角Map应该是非常直接的,但是似乎找不到一个如何在python上解决这个问题的指南。
根据数学计算:
z = x + y *1j ### j = sqrt(-1) as representation of complex number
xi = z + 1 / z**2
根据理论,通过绘制z i应该在那个平面上得到一个圆,而通过绘制xi应该是一个椭圆,然而我得到的结果只是一个随机的数字。不知道是数学上的错误还是程序缺少其他步骤来完成转换。
以防万一,我用的就是这种网格。
N = 50
x_i, x_e = -4.0, 4.0
y_i, y_e = -3.0, 3.0
x = np.linspace(x_i,x_e,N)
y = np.linspace(y_i,y_e,N)
X,Y = np.meshgrid(x,y)
3条答案
按热度按时间cwxwcias1#
为方便起见,朱可夫斯基变换是用复数表示法编写的。您仍然需要在z平面上定义要变换到$\zeta$平面的点。下面是一个圆的示例:
dkqlctbz2#
我不确定你的公式是否正确。如果我这样做:
那么XI看起来就像这样:
它的情节看起来像:
vyswwuz23#
joukowsky变换可以被看作是一个复变量的函数,并通过将其应用于圆或正方形,环形等来可视化。
https://github.com/im-AMS/Conformal-Maps
然后,例如,可以用相应的joukowsky变换将圆去模糊为机翼。