Stats

Popular Posts

Followers

Mathematica 教學 兩個曲面交線的座標點

戴忠淵 於 2012年9月30日星期日 上午9:23 發表



我有兩個三元非線性方程式  用了ContourPlot3D畫了兩個曲面 我想要得到他們的交線座標點(把它存成List)  有試了幾種方法 可以在圖上只顯示他們的交線  可是當我存成List時 List的點卻還是整個曲面  請問有什麼方法可以只存他們的交線嗎




p1=With[{\[Nu]=1,f1=1},
ContourPlot3D[
Evaluate@{3\[Nu]*((s2+0.5s3)^2-(s1+0.5s3)^2)+
2f*Sinh[0.5(s1+s2+s3)]*((1+\[Nu])*(s1-s2))==0,
2*f*Cosh[0.5(s1+s2+s3)]+
2/3(s1^2-s1*s2+s2^2-s1*s3-s2*s3+s3^2)-1-f^2==0.5},
{s1,-1,1},{s2,-1,1},{s3,-1,1},
(* 第一個方程式邊界不畫,第二個方程式邊界不畫, 第一個方程式與第二個方程式的交界以綠色顯示 *)
BoundaryStyle->{{1,2}->{{RGBColor[0,1,0],PointSize[.1]}}}]
]

(* 將圖形的樣本點取出 *)
p2=Cases[p1,GraphicsComplex[pts__]:>pts,Infinity][[1]];

(* 將綠色的點取出,所得到的資料會以p2內的資料編號表示 *)
p3=Cases[p1,{RGBColor[0,1,0],PointSize[0.1],pts__}:>pts,Infinity][[All,1]]

(* 圖形輸出 *)
Show[{Graphics3D@Line@p2[[p3[[1]]]],Graphics3D@Line@p2[[p3[[2]]]]}]




Tags: , ,

讀者回應 ( 0 意見 )

發佈留言

Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.

如果這篇文章對你有幫助,那請留個訊息給我~