我使用StreamGeometry
对象来创建完整的数字。该图是一系列线条和弧线。圆弧全部由圆弧定义,由圆弧也经过的起点,终点和<冲击>中间点定义。如何将其转换为ArcTo
所需的内容。我整个上午都在寻找解决方案。我会尝试自己计算数学。
答案 0 :(得分:0)
1)找到具有普通几何的圆的半径
设A,B,C - 给出三个点(B是弧的中点),M是AC和弦的中点,然后
AM * CM = BM * B'M
,其中B'指向圆直径的另一端,由于“交叉和弦定理”。
AM=CM=AC/2, BM+B'M = 2R
,所以我们可以找到圆半径R
(2R-BM) * BM = AM^2
2R-BM = AM^2/BM
R = (BM^2+AM^2)/(2*BM)
2)现在可以找到带有矢量几何的圆心
O = B + uBM * R,其中 uBM = BM / |的 BM 强> |是单位矢量
3)ArcTo的大小参数设置为(R,R)
4)rotationAngle设置为atan2( OA x OC , OA * OC )(交叉产品和标量) OA和OC载体的产物)
5)根据需要设置其余的ArcTo参数