昨天画了一个已知五点坐标的椭圆,我是用计算的方法画的,不知道有没有其它的好方法。
已知五点坐标如下:
\coordinate (A) at (5/2,{sqrt(11)/3});
\coordinate (B) at (14/5,{-2*sqrt(29)/15});
\coordinate (T) at ({(160+sqrt(319))/53},{18/(14*sqrt(11)+5*sqrt(29))});
\coordinate (F_1) at (3/2, {3*sqrt(11)/7});
\coordinate (F_2) at (3/2, {-3*sqrt(29)/16});
我是用了一般方程$Ax^2+Bxy+Cy^2+Dx+Ey+1=0$求出所有系数,然后用公式$(\frac{BE-2CD}{4AC-B^2}, \frac{BD-2AE}{4AC-B^2})$算出中心坐标,是$(1.11,0.24)$,还有长轴的倾角为$\theta = \frac{1}{2}\arctan\frac{B}{A-C}$。再用这两个列了长轴的直线方程,与椭圆方程联立求出了长轴的顶点坐标,短轴的类似,就是斜率中把$\theta$加了$\frac{\pi}{2}$。求出长短轴的顶点坐标以后,再减去中心的坐标,得到长轴向量$(2.26,-0.24)$和短轴向量$(0.13,1.22)$,最后用pgf那个画椭圆的画出来:
\pgfpathellipse{\pgfpointxy{1.11}{0.24}}{\pgfpointxy{2.26}{-0.24}}{\pgfpointxy{0.13}{1.22}}
\pgfusepath{draw}
我在想能不能用的时候不做这些计算,有个什么包能自动算出它们来,最后方便地画出这个椭圆。 |