椭圆变换方程(平移+旋转等任意变换)

        写这篇博客的原因是做项目遇到了求图像中线与椭圆的交点的问题,考虑到用数学方法求解精度高一些,就想求一下像素坐标系下的椭圆方程,因此查阅了一些资料写了这篇:

椭圆标准方程

        这个高中的时候学过的,不做解释了

                               

                                   \frac{x^{2}}{a^{2}}+\frac{y^{2}}{b^{2}}=1

平移后的椭圆方程

        假设以平移后的椭圆圆心建立一个新的坐标系u-v,那么关系为(假设u-v坐标系的原点在xy坐标系的(m,n)点)

                                    u = x-m           

                                    v = y-n          

        然后将式子带入标准椭圆方程,求得平移之后的椭圆方程,即当标准椭圆沿x轴平移m,沿y轴平移n后方程为:

                                  \frac{\left ( x-m \right )^{2}}{a^{2}}+\frac{\left ( y-n \right )^{2}}{b^{2}}=1

旋转后椭圆方程

        假设标准椭圆沿原点旋转角度α,并建立一个新的坐标系u-v,那么关系为:

                                     u = x*cos(\alpha )+y*sin(\alpha )

                                     v = -x*sin(\alpha )+y*cos(\alpha )

        然后将式子带入标准椭圆方程,求得旋转之后的椭圆方程,即当标准椭圆沿O旋转α的时候:

                         \frac{\left ( x*cos\alpha +y*sin\alpha \right )^{2}}{a^{2}}+\frac{\left ( -x*sin\alpha +y*cos\alpha \right )^{2}}{b^{2}}=1

平移加旋转

        同上理可得:

                          u = \left ( x-m \right )*cos(\alpha )+\left ( y-n \right )*sin(\alpha )

                          v = -\left ( x-m \right )*sin(\alpha )+\left ( y-n \right )*cos(\alpha )

        然后将式子带入标准椭圆方程,求得旋转平移之后的椭圆方程:

                      \frac{\left ( \left ( x-m \right )*cos\alpha +\left ( y-n \right )*sin\alpha \right )^{2}}{a^{2}}+\frac{\left ( \left ( m-x \right )*sin\alpha +\left ( y-n \right )*cos\alpha \right )^{2}}{b^{2}}=1

        这里要注意,无论平移还是旋转都是针对原坐标系而言的,如果先旋转得到坐标系u-v,然后沿着u-v的轴再做平移是得不到这个结果的,这个其实就是绝对与相对的概念,写到这里突然发现,椭圆在一个二维平面上,其实这些无论是平移旋转等相似变换或者今后需要做投影变换单应性变换等等都可以用一个3*3的矩阵代替,这样一来其实任何的图像在平面甚至在空间的任何变换都可以被推导出来了,这个就不详细解说了,有兴趣的可以去看图像变换相关的资料。

发布了31 篇原创文章 · 获赞 38 · 访问量 5027

猜你喜欢

转载自blog.csdn.net/qq_41685265/article/details/104267256
今日推荐