0
我使用Mayavi來繪製隱式3d表面,我想將這些表面組合成一個繪圖。然而,當我這樣做,我得到類似這樣的:Mayavi組合兩個隱式3d表面
我使用的代碼:
import numpy as np
from mayavi import mlab
A=0.24639243776
B=5.39100472027e-17
C=1.71555149594
D=1.72967325617
E=7.50535440036
F=-1.17072847143
G=1.0
x, y, z = np.ogrid[-3:1:100j, -10:1:100j, 0:3:100j]
def Fun (x,y,z, A,B,C,D,E,F,G):
F1 = (x - A + y - B)/2 + np.sqrt(((x - A - y + B)/2) ** 2 + C * z ** 2)
F2 = np.sqrt(x*((F*y)/2 + (E*x)/D) + y*((F*x)/2 + (D*y)/E) + G*z**2) - np.sqrt(D*E)
F1 [F1 < 0] = F2 [F1 < 0]
return F1
Fu = Fun (x,y,z,A,B,C,D,E,F,G)
mlab.contour3d(Fu, contours = [0])
mlab.show()
的問題是,無論我如何做到這一點的一個表面上是非常低聚!我曾策劃在數學相同,它產生一個完美的情節:
我不指望能得到相同質量的情節一樣數學是一個商業產品。但至少我希望兩面平滑。
如果Mayavi不是正確的工具,也許你可以推薦一些不同的東西來達到預期的效果。
提前致謝!