平面和圆环面的一种特殊交线: Villarceau circles


在Mathematica 10.0+中开始支持 CripPlane, CripPlaneStyle 这类新特性(这里有例子);

https://mathematica.stackexchange.com/questions/59279/excluding-a-region-in-parametricplot3d/59284#59284

这用于研究圆环面和平面的交线并动态演示很方便.


看到 @万精油墨绿 等人正在讨论这个奇妙的交线:

这个V圆也不是那么容易想到的,难为这个本科生了。 [微笑] // @华山派小6: 今年一个本科生论文就是让他研究各种截口以及平面移动时截口的形变,这学生竟然漏掉了V圆。刚刚当她面翻出万精油的V圆贴,让她回去脑补
前两天与 @数学文化 说起立体几何可以培养学生的空间想象能力。一个很好的例子是Villarceau园。一个环面,竖切一刀切出两个小圆。横切切出两个同心圆。沿一定的方位斜切可以切出两个相交圆,这就是Villarceau园。附图是我用MATLAB透明图做的,依稀可以看到V园。没有很好的空间想象力是想不到V园的。

Villarceau circles

http://en.wikipedia.org/wiki/Villarceau_circles

维基上的图片演示和公式及描述都生动而详细,:

如果先看到维基的GIF,我可能会从另外角度入手做演示; 不过我是看了@万精油墨绿 的图之后偷笑

所以就有了下面的代码和图片:


h = ContourPlot3D[(16 + x^2 + y^2 + z^2)^2 == 100 (x^2 + y^2), {x, -8,
    8}, {y, -8, 8}, {z, -6, 6}, PlotPoints -> 60, 
  PlotTheme -> "Classic", AspectRatio -> 1/2, ImageSize -> 400, 
  Mesh -> None, ViewPoint -> {-1.1864142385985619`,-2.0392613066826653`,2.425661678288525`}]

list=Table[Show[h,ClipPlanes->{{3 a,0,-4,0}},ClipPlanesStyle->{Directive[Opacity[0.35],Cyan]},ImageSize->400,ViewPoint->{-1.1864142385985619`,-2.0392613066826653`,2.425661678288525`},Boxed->False,Axes->None],{a,{0.1`,0.16`,0.22`,0.28`,0.33999999999999997`,0.4`,0.45999999999999996`,0.52`,0.58`,0.64`,0.7`,0.7599999999999999`,0.82`,0.88`,0.94`,0.9999999999999999`,1,1,1,1,1,1,1,1.`,1.06`,1.12`,1.18`,1.24`,1.3`,1.3599999999999999`,1.42`,1.48`,1.54`,1.6`,1.66`,1.72`,1.78`,1.8399999999999999`,1.9`,1.96`}}];

Export["testTorusCircles.gif", list]


如果想有如同维基的GIF效果,需要做多个GIF文件,然后拼接,或者多个List直接在Mathematica中拼接并导出即可.



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值