2016-09-06 47 views
0

私は、楕円と平面の共通部分によって作成された曲線に沿って移動する点のアニメーション(Mathematicaで)を作成する必要があります。Mathematicaの曲線上の点の動き

私は以下のことをできる限りうまく行いましたが、私は立ち往生しています。

Image

楕円面と平面のための式(?):あなたは、曲線を生成するためにContourPlotを使用することができ

  • 楕円体表面x^2/4 + y^2/9 + z^2=1
  • 飛行機z=-x+2y
+0

'x'を代数的に解くと、yは' +/- 3 Sqrt [5/41] 'の範囲になければならず、ポイントの'テーブル 'を生成する必要があります。それは少し不器用に見えるかもしれませんが、私はよりエレガントなアプローチを見ていません。 – agentp

+0

私は、平面方程式「z = -x + 2 * y」は、むしろ「InfinitePlane [{{1、0、-1}、{0,0,0}、{0,1,2}} ] 'この形式では' InfinitePlane'は平面を定義する3つの点 – ewcz

答えて

2

を、曲線を表す点を抽出し、Manipulateを使用して生成するEアニメーション、すなわち、

P = ContourPlot[x^2/4 + y^2/9 + (-x + 2*y)^2 == 1, {x, -3, 3}, {y, -3, 3}]; 

(* let's (ab)use the points *) 
pnts = P[[1, 1]]; 

Manipulate[ 
    Show[ 
     P, 
     ListPlot[pnts[[i ;; i]], PlotStyle -> {PointSize -> Large, Red}] 
    ], {i, 1, Length[pnts], 1} 
] 

はその後、個々のフレームは次のようになります。さらに、1は

ここ
pnts3D = {#[[1]], #[[2]], -#[[1]] + 2*#[[2]]} & /@ pnts; 
Animate[ 
    Graphics3D[{Opacity[0.5], Ellipsoid[{0, 0, 0}, {2, 3, 1}], 
    Opacity[0.75], InfinitePlane[{{1, 0, -1}, {0, 0, 0}, {0, 1, 2}}], 
    Opacity[1], Red, PointSize[Large], Point[pnts3D[[i ;; i]]]}] 
, {i, 1, Length[pnts3D], 1}] 

として "3D" の試みを続けることができ

enter image description here

平面の方程式は、z座標を一意に生成するために使用されます。

関連する問題