回帖0
精华
阅读权限70
在线时间 小时
听众
收听
好友
|
发表于 2017-10-17 22:12:00
|
显示全部楼层
以 $(\sin\theta,0,\cos\theta)$ 为法向量的平面截,然后从 $(\sin\theta,0,\cos\theta)$ 这个视角看截面,看到正圆。
在本地的文档目录下会生成一个 section.gif 的动画。
- {a, b, c} = {3, 4, 5};
- \[Theta] := ArcSin[Sqrt[(1/a^2 - 1/b^2)/(1/a^2 + 1/c^2)]];
- Export[
- "section.gif",
- Table[
- Show[
- ContourPlot3D[
- x^2/a^2 + y^2/b^2 - z^2/c^2 == 1, {x, -10, 10}, {y, -10,
- 10}, {z, -12, 12},
- RegionFunction ->
- Function[{x, y, z}, Sin[\[Theta]] x + Cos[\[Theta]] z <= t],
- ViewPoint -> {Sin[\[Theta]], 0, Cos[\[Theta]]}, PlotPoints -> 40,
- Boxed -> False,
- MeshFunctions -> {Sin[\[Theta]] #1 + Cos[\[Theta]] #3 &}],
- ImplicitRegion[{x^2/a^2 + y^2/b^2 - z^2/c^2 == 1 &&
- Sin[\[Theta]] x + Cos[\[Theta]] z == t}, {x, y, z}] //
- Region[#, ViewPoint -> {Sin[\[Theta]], 0, Cos[\[Theta]]},
- BaseStyle -> Directive[Blue, Thickness[0.008]]] &], {t, -4, 8,
- 0.5}]]
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?邀请
×
|