Matlab绘制双纽线、莫比乌斯环,双纽线公式、重积分

1. 引言:

今天在做一道二重积分时遇到了这样一个问题,看题:

D = { ( x , y ) ∣ ( x 2 + y 2 ) 2 ≤ 4 ( x 2 − y 2 ) } D = \{(x,y) | (x^2+y^2)^2 \leq 4(x^2-y^2)\} D={(x,y)(x2+y2)24(x2y2)} ,则区域D的面积为?

当时我还不知道这是双纽线的公式,就直接这样做了:

算出来面积怎么等于0呢?

原因就在于没有准确考虑 r 和 θ r和\theta rθ的取值;如果知道这个积分区域就是双纽线的内部,会更容易理解计算过程。

2. 双纽线公式:

伯努利双纽线:

r 2 = a 2 s i n 2 θ r^2=a^2sin2\theta r2=a2sin2θ r 2 = a 2 c o s 2 θ r^2=a^2cos2\theta r2=a2cos2θ
在这里插入图片描述
Matlab绘制代码:

clc,clear,close all;
theta=0:0.001:2*pi;
subplot(121)
r=sqrt(sin(2*theta));  
polarplot(theta,r,'r','linewidth',1.5);
title('r^2=sin2\theta')
subplot(122)
r1=sqrt(cos(2*theta));   
polarplot(theta,r1,'b--','linewidth',1.5);
title('r^2=cos2\theta')

将公式稍微修改一下,还可以得到其他有趣的图形:
在这里插入图片描述

clc,clear,close all;
theta=0:0.001:2*pi;
subplot(221)
r=sin(3*theta);  
polarplot(theta,r,'r','linewidth',1.5);
title('r=sin3\theta')
subplot(222)
r1=cos(3*theta);   
polarplot(theta,r1,'linewidth',1.5);
title('r=cos3\theta')
subplot(223)
r=sin(2*theta);  
polarplot(theta,r,'g','linewidth',1.5);
title('r=sin2\theta')
subplot(224)
r1=cos(2*theta);   
polarplot(theta,r1,'c','linewidth',1.5);
title('r=cos2\theta')

这里看子图中最经典的伯努利双纽线,是不是有点似曾相识的感觉呢?
在这里插入图片描述
诶对了,其实伯努利双纽线非常像一个二维的对称式双螺旋-莫比乌斯环,类似于极限的符号,本身也是永恒的象征;

在很多软件的logo、影视造型里也用到了莫比乌斯环,和双纽线的效果,比如…童年熟悉的梦比优斯奥特曼(实际上名字就是源于莫比乌斯带)
在这里插入图片描述

以及前段时间很火的美剧《洛基》中,时间管理局的侦探角色-莫比乌斯:
在这里插入图片描述
当然还有复联4中唐尼随手一个建模成功就摆出来了莫比乌斯环,作为穿越量子宇宙回到过去时间点…(此处省略三千个…)

甚至Zhi乎上还有各路神仙对此展开了详细的原理解释,有空闲时间的同学可以去围观:
在这里插入图片描述

3. 双纽线二重积分计算:

回过头来看看引言中的那道题,
在这里插入图片描述
θ \theta θ 转到 π / 4 \pi/4 π/4时半径 r r r 已经为0,故外层积分上限不应直接对 θ \theta θ ( 0 , π / 2 ) (0, \pi/2) (0,π/2) ( 0 , 2 π ) (0, 2\pi) (0,2π),那样是错误的,且根据对称性,可以通过以下方法计算出D的面积:

再看一道例题:

设区域D由双纽线 ( x 2 + y 2 ) 2 = x 2 − y 2 (x^2+y^2)^2=x^2-y^2 (x2+y2)2=x2y2 围成,则 I = ∫ ∫ D x 2 + 2 y x 2 + y 2 d x d y = I = \int\int_{D}\frac{x^2+2y}{x^2+y^2}dxdy= I=Dx2+y2x2+2ydxdy=

解:

首先根据对称性,被积函数分子中的2y是关于积分区域 x x x 轴上半部分和 x x x 轴下半部分奇对称的,故带 2 y 2y 2y 项积分为0,直接忽略,剩下的转极坐标,并化简后利用华里士公式计算:

4. Matlab绘制莫比乌斯环:

莫比乌斯带由德国数学家莫比乌斯(Mobius,1790~1868)和约翰·李斯丁于1858年发现。就是把一根纸条扭转180°后,两头再粘接起来做成的纸带圈,具有魔术般的性质。
普通纸带具有两个面(即双侧曲面),一个正面,一个反面,两个面可以涂成不同的颜色;而这样的纸带只有一个面(即单侧曲面),一只小虫可以爬遍整个曲面而不必跨过它的边缘。这种纸带被称为“莫比乌斯带”(也就是说,它的曲面从两个减少到只有一个)。

在这里插入图片描述
Matlab代码:

clc,clear;
k = 10000;
u = 0:pi/k:2*pi;
v = [-1 -0.5 0 0.5 1];
for j = 1:length(v)
for i = 1:length(u)
x(i,j) = (1+v(j)*cos(u(i)/2)/2)*cos(u(i));
y(i,j) = (1+v(j)*cos(u(i)/2)/2)*sin(u(i));
z(i,j) = v(j)*sin(u(i)/2)/2;
end
end
axis vis3d  %3维坐标系
mesh(x,y,z)
title("单螺旋莫比乌斯环")
c = autumn(256);
colormap(c);
shading interp;
for i=1:36
camorbit(10,0,'data',[0,0,1])%[0 0 1]表示按z轴旋转。36*10=360表示旋转一周
M=getframe(gcf);
nn=frame2im(M);
[nn,cm]=rgb2ind(nn,256);
if i==1
imwrite(nn,cm,'out.gif','gif','LoopCount',inf,'DelayTime',0.1);%说明loopcount只是在i==1的时候才有用
else
imwrite(nn,cm,'out.gif','gif','WriteMode','append','DelayTime',0.1)%当i>=2的时候loopcount不起作用
end
end

感兴趣的同学可以尝试用Matlab绘制出双螺旋的莫比乌斯环动画!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wayne_Fine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值