mathematica画一个立体的旋转曲面

问题描述:

mathematica画一个立体的旋转曲面
要求旋转曲面的过程可以控制 也就是说旋转到任何时候都可以停.
我要的是直接能复制的代码 鼠标旋转都知道.要用manipulate控制的代码
1个回答 分类:综合 2014-10-07

问题解答:

我来补答
嘿嘿,我以前做过这个
转换公式:
x^2 - y^2 ==
z(*你要的式子*) /.{x -> Cos[\[Beta]]*(x*Cos[\[Theta]] - y*Sin[\[Theta]]) -
Sin[\[Beta]]*(z*Cos[\[Alpha]] +
Sin[\[Alpha]]*(y*Cos[\[Theta]] + x*Sin[\[Theta]])),
y -> (-z)*Sin[\[Alpha]] +
Cos[\[Alpha]]*(y*Cos[\[Theta]] + x*Sin[\[Theta]]),
z -> z*Cos[\[Alpha]]*Cos[\[Beta]] + Cos[\[Beta]]*Sin[\[Alpha]]*
(y*Cos[\[Theta]] + x*Sin[\[Theta]]) +
Sin[\[Beta]]*(x*Cos[\[Theta]] - y*Sin[\[Theta]])}
然后的出来的式子粘到manipulate里面:
Manipulate[
ContourPlot3D[(*粘到这里*),{x,-10,
10},{y,-10,10},{z,-10,10},Mesh -> None],{\[Theta],0,
2 \[Pi]},{\[Beta],0,2 \[Pi]},{\[Alpha],0,2 \[Pi]}]
例如:
Manipulate[
ContourPlot3D[-(-z Sin[\[Alpha]] +
Cos[\[Alpha]] (y Cos[\[Theta]] +
x Sin[\[Theta]]))^2 + (Cos[\[Beta]] (x Cos[\[Theta]] -
y Sin[\[Theta]]) -
Sin[\[Beta]] (z Cos[\[Alpha]] +
Sin[\[Alpha]] (y Cos[\[Theta]] + x Sin[\[Theta]])))^2 ==
z Cos[\[Alpha]] Cos[\[Beta]] +
Cos[\[Beta]] Sin[\[Alpha]] (y Cos[\[Theta]] + x Sin[\[Theta]]) +
Sin[\[Beta]] (x Cos[\[Theta]] - y Sin[\[Theta]]),{x,-10,
10},{y,-10,10},{z,-10,10},Mesh -> None],{\[Theta],0,
2 \[Pi]},{\[Beta],0,2 \[Pi]},{\[Alpha],0,2 \[Pi]}]
 
 
展开全文阅读
剩余:2000
上一页:例2的第一问