前言:
眼前同学们对“矩阵的坐标怎么求”都比较着重,各位老铁们都想要了解一些“矩阵的坐标怎么求”的相关文章。那么小编在网上搜集了一些关于“矩阵的坐标怎么求””的相关文章,希望朋友们能喜欢,同学们快快来了解一下吧!今天看到一位网友发的微头条,提到了在CAD软件中大量使用的解析几何题:
已知一个圆弧的起点坐标是(X0, Y0),终点坐标是(XE,YE),
圆弧的圆心角是 α/4(弧度),求圆弧的圆心坐标。
我想起了几年前设计眼镜模块化软件时,
也曾经使用了诸如旋转、放缩、投影、融合等图形图像处理算法。
也曾经利用解析几何、向量、矩阵运算等知识深入研究其中的数学理论。
采用 pascal、 actionscript、 php等语言实现算法。
今天闲来无事,花点时间求解此题,活动一下大脑。
一、旋转矩阵
在笛卡尔坐标系中的某个坐标点,表示为列向量(x,y)',其绕原点旋转得到的新坐标向量。
可以由旋转矩阵乘以原向量得到。
逆时针旋转θ的旋转矩阵为:
二、问题解答
假设圆心坐标为(XC,YC)', 以圆心为原点得到的圆弧起点和终点坐标可以表示为:
起点:(X0-XC,Y0-YC)'
终点:(XE-XC, YE-YC)'
终点由起点旋转α/4得到,
采用旋转矩阵表示为:
令
移项整理之后得到:
在等式的左右两边同时左乘以[E-M(α)]的逆矩阵,得到:
然后就可以通过ocata、python、C语言等的矩阵运算函数或者库就可以轻松算出圆心坐标[XC,YC];
三 、简单示例
如上图,起点为(2,0), 终点为(1,1),圆弧的角度为π/2。
在octave的在线工具的,通过矩阵运算,如下:
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-Ma*P0;PC=inv(Mb)*B;
算得PC=[1,0]
标签: #矩阵的坐标怎么求