|
利用坐标变换,也可以简单的画出来,下面是 asy 代码及图
说明:
1. arc 是绘制圆弧的函数: arc(pair c, real r, real angle1, real angle2),绘制圆心在 c 半径为r,角度从 angle1 到 angle2 的圆弧,角度制.
2. xscale(real a) 和 yscale(real b) 分别是两个轴方向的拉伸变换,roate(real rangle) 是旋转变换,角度制
3. draw(path p, color cr) 是绘制曲线- import graph;
- import geometry;
- size(5cm,0);
- // x 轴与 y 轴
- xaxis("$x$", -5, 5, Arrow);
- yaxis("$y$", -5, 5, Arrow);
- real a = 3, b=2; // 椭圆长短半轴
- real r = 1; // 半径
- pair O = (0,0); // 圆心
- // 上半圆周
- path p = arc(O, r, 0, 180);
- // 利用旋转与拉伸得到两个椭圆弧.
- draw(rotate((pi/2-atan(b/a))*180/pi)*xscale(a)*yscale(b)*rotate(-135)*p, red);
- draw(rotate((atan(b/a)-pi/2)*180/pi)*xscale(a)*yscale(b)*rotate(135)*p, red);
Copy the Code
|
|