原文转自
https://blog.csdn.net/PengPengBlog/article/details/53213716
原椭圆方程是:x^2/a^2 + y^2/b^2 = 1,a b为长轴短轴
如果写成 原椭圆方程是:x^2/a^2+y^2/b^2=0.5^2,则a b分别为长轴短轴的1/2。
1. 旋转变换
有2个右手螺旋平面直角坐标系,UOV和XOY. 2坐标系共原点O。 U0V的U轴的正向和X0Y的X轴正向之间的夹角为θ。 则, 若平面上一点P在XOY坐标系下的坐标为(X,Y),在UOV坐标系下的坐标为(U,V)。 则: (UOV逆时针旋转到XOY) X = U*COS(θ) - V*SIN(θ) Y = U*SIN(θ) + V*COS(θ) U = X*COS(θ) + Y*SIN(θ) V = X*SIN(θ) - Y*COS(θ) 这样, 一个在XOY中的标准的椭圆 X^2/A^2 + Y^2/B^2 = 1 在UOV中满足的方程就变成了 [U*COS(θ) - V*SIN(θ)]^2/A^2 +[U*SIN(θ) + V*COS(θ)]/B^2 = 1
2. 平移变换
有2个右手螺旋平面直角坐标系,UO'V和XOY. 2坐标系的U,X坐标轴相互平行,V,Y坐标轴也相互平行。 UO'Y的原点O'在XOY中的坐标为(S,T)。 则, 若平面上一点P在XOY坐标系下的坐标为(X,Y),在UO'V坐标系下的坐标为(U,V)。 (UOV平移到XOY) X = U + S Y = V + T U = X - S V = Y - T 这样, 一个在XOY中的标准的椭圆 X^2/A^2 + Y^2/B^2 = 1 在UO'V中满足的方程就变成了 [U+S]^2/A^2 + [V+T]^2/B^2 = 1.
3. 把
平移和旋转
结合起来
有2个右手螺旋平面直角坐标系,UO'V和XOY. UO'Y的原点O'在XOY中的坐标为(S,T)。 U0'V的U轴的正向和X0Y的X轴正向之间的夹角为θ。 则, 若平面上一点P在XOY坐标系下的坐标为(X,Y),在UO'V坐标系下的坐标为(U,V)。 X = U*COS(θ) - V*SIN(θ) + S Y = U*SIN(θ) + V*COS(θ) + T U = (X-S)*COS(θ) + (Y-T)*SIN(θ) V = (X-S)*SIN(θ) - (Y-T)*COS(θ) 这样, 一个在XOY中的标准的椭圆 X^2/A^2 + Y^2/B^2 = 1 在UO'V中满足的方程就变成了 [U*COS(θ) - V*SIN(θ) + S]^2/A^2 + [U*SIN(θ) + V*COS(θ) + T]/B^2 = 1
反之:
一个在UO‘V中的标准的椭圆 U^2/A^2 + V^2/B^2 = 1 在XOY中满足的方程就变成了(O'在XOY中坐标(S,T,)): [(X-S)*COS(θ) + (Y-T)*SIN(θ)]^2/A^2 + [(X-S)*SIN(θ) - (Y-T)*COS(θ)]/B^2 = 1