就像图片展示一样,我有两个坐标,我想绘制一个椭圆,主轴边缘与这两个点相匹配。
我尝试过这两个坐标之间的中间点并在这一个坐标上绘制一个椭圆。像这些代码,下面的函数返回我想要的椭圆点数组:
public boolean isEmpty(String... fields)
{
for (String string : fields)
{
if (null == string || string.trim().length() == 0)
{
// return true of filed is blank
return true;
}
}
return false;
}
但问题是,这些只能绘制一个水平椭圆,我不知道如何改变角度。
有人知道如何解决我的问题吗?
答案 0 :(得分:3)
<强>提示强>:
如果javascript中没有旋转的椭圆特征,则解决方法是使用Bezier三次近似。请参阅帖子How to create circle with Bézier curves?,了解如何使用四个贝塞尔曲线近似圆。然后椭圆只是一个拉伸的圆圈,它足以以相同的方式拉伸控制点。
从单位圆开始,按轴长度缩放控制点,应用所需的旋转并平移到所需的中心。缩放和旋转参数可以从给定的主轴(加上镜头的长度)中绘制。
另一种方法是使用椭圆的参数方程并将其绘制为折线。