Mathematica应用——变换图形
来源:网络收集 点击: 时间:2024-04-03首先,绘制一个单位圆形和椭圆形。
圆的方程是:x^2+y^2==1;
椭圆的方程是:x^2/2^2+y^2==1。
然后把单位圆形转化为椭圆形。
不知道为什么,用网页版Mathematica导出的动态图就能播放一次呢?比如下面第三幅图。




下面用另一种方法,把单位圆变成椭圆,其实很简单,只要在方程里面填上参数就行。
x^2/a^2+y^2==1
当a从1变为2,就是一个变形过程。而且代码也简单的多:
Manipulate,{a,0,1}]



圆的参数方程是:{Cos,Sin};
椭圆的参数方程是:{2 Cos,Sin};
试图用参数方程实现图形的转化。
同样是有两种转化方法,第一种方法是:
(1-a)*{Cos,Sin}+a*{2 Cos,Sin},其中a从0变为1;
第二种方法是:
{a*Cos,Sin},其中a从1变为2。


这一次,把圆变成正方形,同时要求圆和正方形的面积都是1。
其中,正方形的方程是:
Abs+Abs==1/Sqrt;
圆的方程是:
Abs^2+Abs^2==1/Pi。
不过,转化过程就只能使用第一种方法了,因为我没有求出Abs^a+Abs^a==1的面积公式,所以无法用第二种方法。
这个“化圆为方”是不完美的,中间过程并没有保持图形面积不变,好在首尾的正方形和圆形的面积都是1。
要想获得保持面积始终相等的变形过程,看看大家有没有好的办法?


再来一个三维的例子,把球形变成正八面体。
不过,这一次不去刻意追求面积或体积相等,而是放宽限制,便于用第二种方法进行变形。
正八面体的方程是:
Abs+Abs+Abs==1
于是,Abs^a+Abs^a+Abs^a==1,当a从2变为1,就实现了球到正八面体的转化。
网页版Mathematica执行不了这个互动代码,因为用时间太长?


最后,请大家思考结合问题:
正方形的参数方程是什么?
正方体的隐函数方程和参数方程是什么?
正八面体的参数方程是什么?
上面第四步“化圆为方”的过程中,如果要求变形过程里所有的图形都保持面积不变,能实现吗?

在以后的文章里,会陆续提及共形变换等更高明的几何变换方法。
如果本文对你有所帮助,请把它推荐给你的朋友!
MATHEMATICA几何图形变换版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_409547.html