【发布时间】:2016-08-23 10:12:29
【问题描述】:
就像图片显示的那样,我有两个坐标,我想画一个长轴边缘匹配这两个点的椭圆。
我已经尝试获取这两个坐标之间的中点,并在这一个坐标上绘制一个椭圆。像这样的代码,下面的函数返回我想要的椭圆点数组:
function add_oval(centre, x, y) {
var assemble = new Array();
var angle;
var dot;
var tangent = x / y;
for (i = 0; i < 36; i++) {
angle = (2 * Math.PI / 36) * i;
dot = [centre.lng + Math.sin(angle) * y * tangent, centre.lat + Math.cos(angle) * y];
assemble.push(dot);
}
return assemble;
}
但问题是,这些只能画一个水平椭圆,我不知道如何改变角度。
有人知道如何解决我的问题吗?
【问题讨论】:
-
您还必须定义短轴,以便绘制ellipse。
-
@Teemu,我可以为短轴设置一个特定的值,没关系。
标签: javascript algorithm graphics 2d ellipse