Mathematica应用——变换图形

 时间:2024-11-11 20:58:32

本文介绍一下怎么把一个图形,经过连续图形,使之变成另一个图形。但是,这里不涉及高深的理论,仅仅是制作几个动态图。

Mathematica应用——变换图形

Mathematica应用——变换图形

工具/原料

电脑

Mathematica

方法/步骤

1、首先,绘制一个单位圆形和椭圆形。圆的方程是:x^2+y^2==1;椭圆的方程是:x^2/2^2+y^2==1。然后把单位圆形转化为椭圆形。不知道为什么,用网页版Mathematica导出的动态图就能播放一次呢?比如下面第三幅图。

Mathematica应用——变换图形

Mathematica应用——变换图形

Mathematica应用——变换图形

Mathematica应用——变换图形

2、下面用另一种方法,把单位圆变成椭圆,其实很简单,只要在方程里声矜檠鹣面填上参数就行。x^2/a^2+y^2==1当a从1变为2,就块吧吨翘是一个变形过程。而且代码也简单的多:Manipulate[ContourPlot[x^2/a^2+y^2==1,{x,-2.1,2.1},{y,-1.1,1.1},AspectRatio->Automatic],{a,0,1}]

Mathematica应用——变换图形

Mathematica应用——变换图形

Mathematica应用——变换图形

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

Mathematica应用——变换图形

Mathematica应用——变换图形

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

Mathematica应用——变换图形

Mathematica应用——变换图形

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

Mathematica应用——变换图形

Mathematica应用——变换图形

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

Mathematica应用——变换图形

光电效应为什么调零电流表 Visual Studio Code怎么设置自动折叠结果 C#控制台程序该如何实现输入输出 VS如何关闭自动检查更新#校园分享# Mathematica表格如何合并表格单元
热门搜索
过年的图片 卖萌图片 动漫设计与制作 动漫卡通 动漫头像图片