已知一个圆弧的出发点坐标是(X0, Y0),终点坐标是(XE,YE),
圆弧的圆心角是 α/4(弧度),求圆弧的圆心坐标。
网友提出的问题

我想起了几年前设计眼镜模块化软件时,
也曾经利用了诸如旋转、放缩、投影、领悟等图形图像处理算法。
也曾经利用解析几何、向量、矩阵运算等知识深入研究个中的数学理论。
采取 pascal、 actionscript、 php等措辞实现算法。
试戴
本日闲来无事,花点韶光求解此题,活动一下大脑。
一、旋转矩阵
在笛卡尔坐标系中的某个坐标点,表示为列向量(x,y)',其绕原点旋转得到的新坐标向量。
可以由旋转矩阵乘以原向量得到。
坐标点的旋转
逆时针旋转θ的旋转矩阵为:
旋转矩阵
二、问题解答
假设圆心坐标为(XC,YC)', 以圆心为原点得到的圆弧出发点和终点坐标可以表示为:
出发点:(X0-XC,Y0-YC)'
终点:(XE-XC, YE-YC)'
终点由出发点旋转α/4得到,
采取旋转矩阵表示为:
旋转矩阵表示
令
定义M(α)
移项整理之后得到:
移项整理之后的表达式
在等式的旁边两边同时左乘以[E-M(α)]的逆矩阵,得到:
终极结果
然后就可以通过ocata、python、C措辞等的矩阵运算函数或者库就可以轻松算出圆心坐标[XC,YC];
三 、大略示例
示例2222
如上图,出发点为(2,0), 终点为(1,1),圆弧的角度为π/2。
在octave的在线工具的https://octave-online.net/,通过矩阵运算,如下:
format longMa=[cos(pi/2) -sin(pi/2); sin(pi/2) cos(pi/2)];Mb=eye(2,2)-Ma;P0=[2;0];PE=[1;1];B=PE-MaP0;PC=inv(Mb)B;
算得PC=[1,0]