2017-07-12 7 views
0

を取得し、私はこれでした:は、平面の交点と賢者の任意のボリュームを得るために計画の2D交差点と任意のボリューム

eq_object = -(cos(x) + cos(y) + cos(z)) 
eq_knife = 3*x+2*y+1*z 
object = implicit_plot3d(eq_object, (x,-4,4), (y,-4,4), (z,-4,4), color='orchid') 
knife = implicit_plot3d(eq_knife == 0, (x,-4,4), (y,-4,4), (z,-4,4), color='black') 

をしかしsolveによって与えられた交差点は、式であります自身:

intersection = solve([eq_object, eq_knife], [x, y, z]) 
intersection 

>> [3*x + 2*y + z, -cos(x) - cos(y) - cos(z)] 

どうすればよいですか?

答えて

0

あなたはこのことを思っていることがあります。これはあまりにも難しいですおそらくので、[]空のソリューションセットを提供します

solve(eq_object==eq_knife, [x, y, z]) 

。これらは、代数システムではなく、cosをそこに叩くと代数システムではありません。

この場合cos(x)=0x=0が一緒に不可能であるがあっても非常に簡単

solve([cos(x),x],[x]) 

は、応答のこの種を与えます。しかし、私たちは「本当に」欲しいもの、

solve([cos(x)==x],[x]) 

はこれを書くために何の「良い」方法はありませんので、オリジナルのバックを提供します。それは起こる。

編集:暗黙のプロットが必要だったのでしょうか?

var('y') 
implicit_plot(-(cos(x) + cos(y) + cos(-3*x-2*y)),(x,-5,5),(y,-5,5),figsize=4) 

enter image description here

私は、私はこの1つの権利をやったと思います。

+0

事はそれほど時間がかかりませんが、私はその例のために一般的な方法が必要です:球(原点を中心に半径2)と原点と法線ベクトル '[1,1,1]'である。交点の方程式は、(x + y)^ 2 + x^2 + y^2 == 4であり、これは円の方程式ではありません。 – Deewy

+0

なぜこれがいつもうまくいかないのか分かりません。暗黙的に何かをプロットすれば、それはうまくいくはずです。私はちょうど 'z'のために解決し、あなたが本当にする必要があれば' solve() 'を使ってそれを自動化することもできます。 – kcrisman

+0

方程式が正しいので[新しい質問](https://math.stackexchange.com/questions/2357188​​/intersection-of-a-sphere-and-plan-projected-on-the-plan)を開いた私は以前はあまりにも速かった。それはちょうど私たちが得る方程式は、xy計画の上に円を投影しているので、ときどき楕円が得られることです。 – Deewy

関連する問題