0

我需要在两个给定点之间绘制圆弧。我也有弧的半径。我知道这可以使用标准canvasAPI 来完成,但我也需要处理椭圆弧的情况。这段代码是一个通用的解决方案。现在唯一的问题是它不起作用!

此代码背后的数学概念位于https://math.stackexchange.com/questions/53093/how-to-find-the-center-of-an-ellipse

我的 JS 代码就是它的实现。我的 JS 代码可以在http://jsfiddle.net/BkEnz/2/找到。理想情况下,那里的两个圆圈都应该穿过两个粉红色的小点。

我希望有人能指出我正确的方向。过去几天我一直在努力解决这个问题!

4

1 回答 1

0

修复了这个问题。更正后的工作代码位于http://jsfiddle.net/ZxRBT

注意线

var t = translate(-R1R2x, -R1R2y, IDENTITY_TRANSFORM());

在我以前版本的代码中,这一行是

var t = translate(-R1R2x, -R1R2y, sr);

因此,当我计算 and 的值时C1C2使用以下代码

C1 = compose(vut, [[R1x],[R1y],[1]]);
C2 = compose(vut, [[R2x],[R2y],[1]]);

我也在 和 上应用sr构图R1x,R1yR2x,R2y但这些点已经在sr坐标上。

这是一个我忽略了很长时间的严重错误。

于 2011-09-23T07:11:41.497 回答