红星闪闪放光彩,红星灿灿暖胸怀。红星是咱工农的心,党的光辉照万代。
1974年老电影《闪闪的红星》,介绍了在1930年至1939年艰难困苦的环境中成长起来的少年英雄潘冬子的故事。机智的潘冬子与大地主胡汉三周旋,体现出的勇气和正义影响了一代人。
你知道吗?任意一个星形,五个三角形,外接圆交于五点。总有:这五点共圆。
那么,试着把这个圆算出来吧!
五个坐标,共10个浮点数,分别是五角星五个顶点的坐标。每个坐标的横坐标在前,纵坐标在后。坐标按照顺时针或者逆时针转一圈的方式给出,即假如给出坐标顺序是12345,则星形一笔连线顺序是13524。
一个方程,即待求的圆的标准方程,只需要输出一次项与常数项系数即可。系数保留5位小数,系数之间各有一个空格。
例如,假如待求的圆的方程是 $x^2+y^2-x-y-1=0$ ,就需要输出后三项系数 $-1$, $-1$, $-1$,并且都要保留 $5$ 位小数。
每个点横纵坐标的绝对值在 $10$ 之内。输入样例保证构成合法的五角星。
0.0 1.0
0.951056516295153572 0.309016994374947424
0.587785252292473129 -0.809016994374947424
-0.587785252292473129 -0.809016994374947424
-0.951056516295153572 0.309016994374947424
0.00000 0.00000 -0.38197
这个样例是正五角星。
eps可以取1e-12。
求解过3点的圆可以考虑Cramer's Rule:圆的标准方程是
$$x^2+y^2+Dx+Ey+F=0$$
假如通过某三点,根据Cramer's Rule,可以解得相应系数:
$$D=\frac{\left|\begin{array}{l} -({x_1}^2+{y_1}^2) & y_1 & 1 \\ -({x_2}^2+{y_2}^2) & y_2 & 1 \\ -({x_3}^2+{y_3}^2) & y_3 & 1 \end{array}\right|}{\left|\begin{array}{l} x_1 & y_1 & 1 \\ x_2 & y_2 & 1 \\ x_3 & y_3 & 1 \end{array}\right|}$$
对于两圆的交点,既可以靠解二次方程计算解出,也可以使用韦达定理等巧妙的方法。
注意:四舍五入到0可能会出现-0.00000,那么这个时候应该怎么办?
Author:助教LCY