我需要在图像上画圆弧,我知道半径(r),中心点(x0,y0),起点(x1,y1)和角度(a,b => y)。我需要计算终点(x2,y2)的位置。我想这是用椭圆弧完成的,但我还没有成功。
我已从评论中提到的链接(How to calculate the SVG Path for an arc (of a circle))中获取示例,我的代码如下:
var radius = Math.sqrt(Math.pow(circleCenter.getY() - corner.getY(), 2) + Math.pow(circleCenter.getX() - corner.getX(), 2));
计算上述opsb示例中的点数
var start = this.polarToCartesian(circleCenter, radius, angleB);
var end = this.polarToCartesian(circleCenter, radius, angleA);
polarToCartesian(center: Coordinate, radius: number, angle: number): Coordinate {
// zero angle is in 9 o'clock, angle in radian
var xDiff = radius * Math.cos(angle - Math.PI / 2)
var yDiff = radius * Math.sin(angle - Math.PI / 2)
var x = center.getX() + xDiff;
var y = center.getY() + yDiff;
return new Coordinate(x, y);
}
我最终得到的是,这里(箭头点不符合线条):
我也尝试过wdebeaum的例子并且非常接近,但并非一直如此。终点很少。