椭圆一般方程的推导 | 您所在的位置:网站首页 › 椭圆推导方程 › 椭圆一般方程的推导 |
1.推导部分 已知椭圆的标准形式为: 椭圆的焦点在所在的轴上,现将椭圆进行平移,变化前后有如下关系: 将x,y带回原式得: 其中可正可负且为常数。 将上式展开得: (3) 现将x轴和y轴以原点为旋转中心,旋转一角度。 分解坐标轴由上式可得新坐标与原直角坐标之间的关系: 将以上关系带入到(3)得: 将上式两边同乘并将平方展开得: 已知将该关系式代入第一项得: 将上式中含变量的平方项合并得: 整理得: 两端同除以得: 合并同类项得: 简化系数得: 该式即为椭圆方程的一般形式。 2.推导检验 通过使用Python对理论结果进行检验,经检验,该理论结果对平移效果较好,但对平移且旋转是椭圆会出现放大,明显这个结果不符合要求! 2.1平移: 将原点平移至(半长轴长,半短轴长)2.2仅旋转 绕原点逆时针旋转30°2.3平移且旋转 将原点移至(1,1)且逆时针旋转30°总结:这个结果并不符合预期要求,但它的形式和一般椭圆方程形式很像。 检验使用的程序源码如下: import sympy as sp from sympy import plot_implicit as plot x = sp.symbols('x') y = sp.symbols('y') a = 4 b = 2 theta = 0 e = sp.sqrt(a**2-b**2)/a dx = 0 dy = 0 eq = x**2*(1-e**2*sp.cos(theta)**2) + y**2*(1 - e**2*sp.sin(theta)**2)-\ e**2*2*x*y*sp.sin(theta)*sp.cos(theta) -2*((1-e**2)*dx*sp.cos(theta)+dy*sp.sin(theta))*x+\ 2*((1-e**2)*dx*sp.sin(theta)-dy*sp.cos(theta))*y + (1-e**2)*dx**2+dy**2 - b**2 plot(sp.Eq(eq,0),(x,-10,10),(y,-10,10)) |
CopyRight 2018-2019 实验室设备网 版权所有 |