MATLAB绘制空间曲线和曲面图像
之前考研的时候做到2010年数一试卷第19题时,一直无法想象Σ\SigmaΣ的图像到底是什么样的。当时由于时间紧迫且不知道如何用MATLAB画图,因此就这么草草了事。现在正好学到了这方面的用法,而且时间也空,于是就准备尝试绘制一下这个图像。题目如下图所示:

若要得到Σ\SigmaΣ的图像,就需要先得到曲线C以及椭球面S的图像。其中,三维曲线可以通过fplot3()fplot3()fplot3()绘制,三维曲面可以通过fsurf()fsurf()fsurf()绘制。
1.绘制空间曲线C
根据上述解答,可以得到曲线C的曲线方程:
C={(x,y)∣2z−y=0&&x2+34y2=1}
C=\{ (x,y)|2z-y=0 \quad \&\& \quad x^2+\frac{3}{4}y^2=1 \}
C={(x,y)∣2z−y=0&&x2+43y2=1}
但在绘制之前需要做一下准备工作,即将曲线方程转换为参数方程:
C:{2z−y=0x2+34y2=1⟹{x(t)=sin(t)y(t)=cos(t)z(t)=13cos(t)
C: \begin{cases}
2z-y=0 \\
x^2+\frac{3}{4}y^2=1
\end{cases}
\Longrightarrow
\begin{cases}
x(t)=sin(t) \\
y(t)=cos(t) \\
z(t)=\frac{1}{\sqrt{3}}cos(t)
\end{cases}
C:{2z−y=0x2+43y2=1⟹⎩⎪⎨⎪⎧x(t)=sin(t)y(t)=cos(t)z(t)=31cos(t)
% 绘制曲线C
xt = @(t) sin(t);
yt = @(t) 2/sqrt(3)*cos(t);
zt = @(t) 1/sqrt(3)*cos(t);
fplot3(xt,yt,zt,"LineWidth",2,"Color","red")
hold on
2.绘制椭球面S
根据题干可知,椭球面S的曲面方程为:
S:x2+y2+z2−yz=1
S:x^2+y^2+z^2-yz=1
S:x2+y2+z2−yz=1
同样在绘制之前需要先转换成参数方程。由于曲面方程存在3个自变量,故需要两个参数表示。
S:x2+y2+z2−yz=1⟹{x(u,v)=±1+uv−u2−v2y(u,v)=uz(u,v)=v
S: x^2+y^2+z^2-yz=1
\Longrightarrow
\begin{cases}
x(u,v)=\pm\sqrt{1+uv-u^2-v^2} \\
y(u,v)=u \\
z(u,v)=v
\end{cases}
S:x2+y2+z2−yz=1⟹⎩⎪⎨⎪⎧x(u,v)=±1+uv−u2−v2y(u,v)=uz(u,v)=v
% 绘制椭球面S
% 由于不知道如何表示±,故只绘制了一半的椭球面
funx = @(u,v) sqrt(1+u*v-u.^2-v.^2);
funy = @(u,v) u;
funz = @(u,v) v;
fsurf(funx,funy,funz,[-2,2,-2,2])

本文详细介绍了如何使用MATLAB绘制2010年数一试卷第19题中出现的空间曲线C和椭球面S。首先将曲线方程转换为参数方程,然后利用fplot3()函数绘制曲线C,通过fsurf()函数绘制椭球面S。最终展示了完整的MATLAB代码实现过程,帮助读者理解并掌握空间图形的绘制技巧。
1022

被折叠的 条评论
为什么被折叠?



