【微分几何】怎么实现3D图形的旋转?

 时间:2026-02-13 01:50:28

1、首先,用参数方程来绘制一个3D曲面:

aa=ParametricPlot3D[{2 Cos[u], Cos[v], Sin[u] Sin[v]*7/10},

  {u, 0, 2 Pi}, {v, 0, Pi}, PlotRange -> All, Axes -> False, Boxed -> False, 

  ImageSize -> {365, 365}, PlotPoints -> 100]

这个曲面看起来像是一个枕头。

【微分几何】怎么实现3D图形的旋转?

2、查看曲面的时候,用Show来重新展示这个曲面:

Show[aa, ImageSize -> {365, 365}]

【微分几何】怎么实现3D图形的旋转?

3、让曲面绕着z轴旋转一周:

Manipulate[

 Show[aa, ImageSize -> {365, 365},

   ViewPoint -> 2 {Cos[u], Sin[u], 0},

   SphericalRegion -> True], {u, 0, 2 Pi}]

这里采用交互模式,展示动画效果。

【微分几何】怎么实现3D图形的旋转?

4、绕着y轴旋转一周,初步修改代码:

Manipulate[

 Show[aa, ImageSize -> {365, 365}, ViewPoint -> 2 {Cos[u], 0, Sin[u]},

   SphericalRegion -> True], {u, 0, 2 Pi}]

明显地,这个不是真正的旋转一周,中途,曲面发生了翻转。

【微分几何】怎么实现3D图形的旋转?

5、加入额外的观察限制条件:

Manipulate[

 Show[aa, ImageSize -> {365, 365}, ViewPoint -> 2 {Cos[u], 0, Sin[u]},

   ViewVertical -> {0, 1, 0}, SphericalRegion -> True], {u, 0, 2 Pi}]

这时候曲面不会发生翻转。

【微分几何】怎么实现3D图形的旋转?

6、ViewPoint指定的是观察点;

ViewVertical指定的是观察方向,这个方向始终是朝向正上方。

这两个观察限制条件,都可以用参数来表示:

Manipulate[

 Show[aa, ImageSize -> {365, 365}, ViewPoint -> 2 {Cos[u], 0, Sin[u]},

   ViewVertical -> {-Sin[u], 0, Cos[u]}, SphericalRegion -> True], {u,

   0, 2 Pi}]

【微分几何】怎么实现3D图形的旋转?

  • Autocad2014+vs2010+objectarx2014
  • 在CAD中调用【矩形】命令的三种方法?
  • AutoCAD怎么利用参考线实现定位及图形绘制操作
  • proe如何创建拉伸特征
  • CAD制图中如何在文字编辑中使用“堆叠特性”?
  • 热门搜索
    提拉米苏是什么意思 毅力是什么意思 闷骚是什么意思 mice是什么意思 600分能上什么大学 罗永浩是什么人 公摊面积是什么意思 什么工作工资高 什么是996 高血压是什么原因引起的