椭圆(Ellipse)
中心在原点、两个半轴分别为a和b的椭圆的一般方程为:
参数方程为:
椭圆的图形:
with(plots):a:=2:b:=1.5:
curve:=plot([a*cos(theta),b*sin(theta),theta=0..2*Pi],thickness=2):
display(curve,scaling=constrained,tickmarks=[0,0]);
椭圆的定义:椭圆是到两个定点(称为椭圆的焦点)的距离之和为常数的动点的轨迹:
with(plots): with(plottools):
a:=4:b:=3:F:=sqrt(a^2-b^2):
jiaodian1:=circle([-F,0],0.1):jiaodian2:=circle([F,0],0.1):
x:=t->a*cos(t): y:=t->b*sin(t):
K:=80:for i from 1 to K do ti:=i*2*Pi/K:
tuoyuan[i]:=plot([x(t),y(t),t=0..ti]):
zuo[i]:=plot([[-F,0],[x(ti),y(ti)]],color=blue):you[i]:=plot([[F,0],[x(ti),y(ti)]],color=blue):
M[i]:=display(tuoyuan[i],you[i],zuo[i])od:
L:=display(seq(M[i],i=1..K),insequence=true):
display(L,jiaodian1,jiaodian2,scaling=constrained,tickmarks=[3,2],thickness=2);
椭圆的参数方程的动画(椭圆的参数方程中的角度 theta 就是图中绿色直线与 x 轴的角度):
with(plots): with(plottools):
a:=5:b:=3:
yuan_a:=circle([0,0],a,color=red,thickness=2):yuan_b:=circle([0,0],b,color=red,thickness=2):
x:=t->a*cos(t): y:=t->b*sin(t):
K:=80:for i from 1 to K do ti:=i*2*Pi/K:
tuoyuan[i]:=plot([x(t),y(t),t=0..ti],color=blue,thickness=3):
La[i]:=plot([[0,0],[x(ti),a*sin(ti)]], color=green,thickness=3):
Lb[i]:=plot([[x(ti),0], [x(ti),a*sin(ti)]], color=brown,thickness=2):
Lc[i]:=plot([[b*cos(ti),y(ti)], [a*cos(ti),y(ti)]], color=brown,thickness=2):
dian[i]:=circle([x(ti),y(ti)],0.1,color=blue,thickness=3):
M[i]:=display(tuoyuan[i],La[i],Lb[i],Lc[i],dian[i]) od:
L:=display(seq(M[i],i=1..K),insequence=true):
display(L,yuan_a,yuan_b,scaling=constrained,tickmarks=[3,2]);
评论