Javascript 有人能帮我解决一个几何变换问题吗?
我需要在两个给定点之间画一条圆弧。我还有弧的半径。我知道这可以使用标准的画布API来完成,但我也需要处理椭圆弧的情况。此代码是一个通用的解决方案。现在唯一的问题是它不起作用 此代码背后的数学概念位于 我的JS代码就是它的实现。我的JS代码可以在上找到。理想情况下,两个圆圈都应该穿过两个粉红色小点Javascript 有人能帮我解决一个几何变换问题吗?,javascript,canvas,geometry,transformation,geometric-arc,Javascript,Canvas,Geometry,Transformation,Geometric Arc,我需要在两个给定点之间画一条圆弧。我还有弧的半径。我知道这可以使用标准的画布API来完成,但我也需要处理椭圆弧的情况。此代码是一个通用的解决方案。现在唯一的问题是它不起作用 此代码背后的数学概念位于 我的JS代码就是它的实现。我的JS代码可以在上找到。理想情况下,两个圆圈都应该穿过两个粉红色小点 我希望有人能给我指出正确的方向。过去几天我一直在努力解决这个问题 修复了此问题。更正后的工作代码位于 注意那条线 var t = translate(-R1R2x, -R1R2y, IDENTITY_T
我希望有人能给我指出正确的方向。过去几天我一直在努力解决这个问题 修复了此问题。更正后的工作代码位于 注意那条线
var t = translate(-R1R2x, -R1R2y, IDENTITY_TRANSFORM());
在我以前的代码版本中,这一行是
var t = translate(-R1R2x, -R1R2y, sr);
所以当我用下面的代码计算C1和C2的值时
C1 = compose(vut, [[R1x],[R1y],[1]]);
C2 = compose(vut, [[R2x],[R2y],[1]]);
我还在R1x,R1y和R2x,R2y上应用sr合成,但这些点已经在sr坐标中了
这是一个我忽略了很长时间的严重错误。问题出在哪里?是计算错误,还是无法根据计算结果绘制圆弧?@Vlad我不确定,但我认为计算在某个地方出错。修复了它!更正的代码位于。请将您的解决方案作为答案发布,然后接受您自己的答案以将此问题标记为已解决。