阅读本篇的时候, 可以尝试 geogebra 在线绘图.
隐方程形如 `f(x, y) = 0` 的曲线称为平面代数曲线, 其中 `f` 是二元多项式.
叶形线 平面上原点关于抛物线 `y = -ax^2` 在 `x=t` 处的切线 `y + a t^2 = -2a t(x-t)` 的对称点为 `(2at^2)/(1+4a^2 t^2) (2a t, 1)`. 利用 `y = (2at^2)/(1+4a^2 t^2)` 解出 `t^2`, 代入 `x^2` 的表达式, 就可以消去参数 `t`, 得到: `y^3 = x^2(1-2a y)`.
`alpha` 曲线
Descartes 卵形线 是平面上到两个焦点距离 `r_1, r_2` 满足 `m r_1 + n r_2 = b` 的点的轨迹.
Cassini 卵形线
是平面上到两个焦点 `(+-c, 0)` 距离之积为定值 `a^2` 的点的轨迹.
当 `a = c` 时, 称为Bernoulli 双纽线. Cassini 卵形线的方程为
`((x-c)^2 + y^2)((x+c)^2+y^2) = a^4`,
或 `(x^2+y^2)^2 - 2c^2(x^2-y^2) = a^4-c^4`,
或 `r^4 - 2c^2 r^2 cos 2 theta = a^4 - c^4`.
特别令 `a = c`, `b = sqrt 2 a` 时, 双纽线方程为
`(x^2+y^2)^2 = b^2(x^2-y^2)`,
或 `r^2 = b^2 cos 2 theta`,
或 `|z|^4 = b^2 "Re"(z^2)`,
或 `(b (t^3+t)/(t^4+1), (b (t^3-t)/(t^4+1))`.
玫瑰线 极坐标方程为 `r = cos n theta`, `theta in RR`, `n in ZZ^+`.
`n` 为奇数时有 `n` 片花瓣, 周期是 `pi`; 偶数时有 `2n` 片花瓣, 周期是 `2pi`.
玫瑰线的第一片花瓣总是朝向 `x` 轴正方向; 如果把极坐标方程的 `cos` 换成 `sin`, 则图像整体旋转 90 度,
第一片花瓣朝向 `y` 轴正方向.
在 `r = cos n theta` 两边同乘以 `r^n`, 再平方, 得到玫瑰线的复方程
`|z|^(2n+2) = ("Re"(z^n))^2`.
极坐标下的切线方程 曲线 `r(theta)` 在点 `(theta_0, r_0)` 处的切线方程为 `(1/r("d"r)/("d"theta))(theta_0, r_0)` `= (r cos(theta-theta_0)-r_0)/(r sin(theta-theta_0))`. 如果记切线与 `Ox` 轴夹角为 `varphi`, 又有 `1/r("d"r)/("d"theta) = cot(varphi - theta)`.
由于 `dy/dx = "d"/dt (r sin theta) // "d"/dt (r cos theta)` `= (r' sin theta + r theta' cos theta)/(r' cos theta - r theta' sin theta)` `= (("d"r)/("d"theta) sin theta + r cos theta)/(("d"r)/("d"theta) cos theta - r sin theta)`, 故 `("d"r)/("d"theta) = (dy/dx r sin theta + r cos theta)/(dy/dx cos theta - sin theta)`. 如果记 `dy/dx = tan varphi`, 则 `1/r("d"r)/("d"theta)` `= (tan varphi tan theta + 1)/(tan varphi - tan theta)` `= cot(varphi - theta)`. 现在把曲线在直角坐标下的切线方程 `dy/dx(x_0, y_0) = (y-y_0)/(x-x_0)` 代入 得 `("d"r)/("d"theta)(theta_0, r_0)` `= (r_0 sin theta_0(r sin theta-r_0 sin theta_0) + r_0 cos theta_0(r cos theta - r_0 cos theta_0)) / (cos theta_0 (r sin theta - r_0 sin theta_0) - sin theta_0 (r cos theta - r_0 cos theta_0))` `= (r_0 r cos(theta-theta_0)-r_0^2)/(r sin(theta-theta_0))`. 整理即得结论.
以原点为一个顶点, 三边分别为 `r_0, r_0 + "d"r, r_0"d"theta` 作曲边三角形. 设 `P_0(theta_0, r_0)` 处的切线与 `P_0` 点处向径的垂线夹角为 `alpha`, 则 `(("d"r)/(r "d"theta))(theta_0, r_0) = tan alpha`. 延长向径 `r_0 + "d"r` 与切线交于 `(theta, r)`. 由几何关系又得到 `tan alpha = (r cos(theta-theta_0) - r_0)/(r sin(theta-theta_0))`.
渐开线 直线 `l` 在半径为 `R` 的圆 `O` 上滚动, 初始时刻直线上一点 `P` 位于 `A(R, 0)`, 正好是直线与圆的切点. 当直线转过一定角度后, 设新的切点为 `Q`, 记 `alpha = /_ POQ`. 则 `arc(AQ) = PQ = R tan alpha`, 点 `P` 的极坐标为 `{r = R // cos alpha; theta = tan alpha - alpha:}` 渐开线常见于齿轮的设计中.
参数方程与结式 [来自《A guide to plane algebraic curves》] 设曲线的参数方程为 `{x = p(t); y = q(t):}`, `p, q` 为多项式, 则我们总能得到隐方程 `F(x, y) = 0`, `F` 为二元多项式.
resultant(3*t**2+t+1-x, t**4-4*t**3-5-y, t) # x**4 - 56*x**3 - 18*x**2*y + 72*x**2 - 84*x*y - 580*x + 81*y**2 + 899*y + 2523现在考虑 Lissajous 曲线的参数方程 `{x = cos 3t; y = sin 2 t:}`. 令 `c = cos t`, 方程化为 `{x = 4 c^3 - 3 c; y = +-2 c sqrt(1-c^2) :}` 曲线关于 `x, y` 轴对称, 因此可以对第二式平方, 而不引入新的点: `{x = 4 c^3 - 3 c; y^2 = 4c^2 (1-c^2) :}` 现在计算结式:
resultant(4*t**3-3*t-x, 4*t**2*(1-t**2)-y**2, t) # -64*x**4 + 64*x**2 - 256*y**6 + 384*y**4 - 144*y**2从而隐方程为 `4x^4 - 4x^2 + 16y^6 - 24y^4 + 9y^2 = 0`.