阅读本篇的时候, 可以尝试 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` 曲线

[百度百科] 斜环索线 (oblique strophoid) 是指与自身有一个交点的平面三次曲线. 它可以用几何方法构造: 给定直线 `l` 与直线上一点 `Q` (结点), 直线外一点 `O` (极点). 又令 `P` 为 `l` 上的动点, 以 `P` 为心, `PQ` 为半径作圆, 交直线 `OP` 于 `M, N` 两点. 当 `P` 沿 `l` 运动时, `M, N` 两点的轨迹即为斜环索线. 从图像看出, `O, Q` 两点均在曲线上, `Q` 是曲线与自身的交点, 而 `M` 与 `O` 重合时, `OP` 正好是曲线在 `O` 处的切线.
斜环索线
以 `O` 为原点, 平行 `l` 的方向为 `y` 轴方向建立坐标系, 记 `Q` 的坐标为 `(a, b)`. 则斜环索线的方程为 极坐标: `r = a(sec theta + tan theta) - b`,
直角坐标: `(x^2 + y^2)(x-a)^2 = (ay-bx)^2`,
或约去因子 `x` 得到 `(x^2+y^2)(x-2a) + (a^2-b^2)x + 2a b y = 0`.
特别当 `OQ _|_ l` 时, 令 `b = 0` 就得到环索线方程.

记直线 `OP` 的倾角为 `theta`, 注意图中 `theta lt 0`, `b lt 0`, 于是 `OP = a sec theta`, `quad PQ = -a tan theta + b`. 不妨设 `M, N` 中, `N` 是离 `O` 较远的一点, 则 `ON = OP + PQ = a(sec theta - tan theta) + b`,
`OM = OP - PQ = a(sec theta + tan theta) - b`.
规定 `M` 的极角为 `theta`, 极径为 `OM`; `N` 的极角为 `theta + pi`, 极径为 `-ON`, 则 `-ON = a(sec(theta + pi) + tan(theta+pi)) - b`. 可以看出 `M, N` 均满足极坐标方程 `r = a(sec theta + tan theta) - b`.

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))`.

    切线与渐近线
  1. `f(x, y)` 的最低次项刻画了它在原点附近的形态. 例如双纽线 `(x^2+y^2)^2 - 2(x^2-y^2) = 0` 的最低次项 `x^2 - y^2 = 0` 恰好是它在原点的切线. 同样 `alpha` 曲线 `y^2 = x^2(x + a)` (`a gt 0`) 的最低次项 `y^2 = a x^2` 也是它在原点的切线. 最后, 若 `f(x, y)` 的常数项不为零, 则曲线不过原点.
  2. `f(x, y)` 的最高次项刻画了它在无穷远点附近的形态 (即渐近线). 例如双曲线 `x y = 1` 的最高次项 `x y = 0` 就给出它的渐近线. 又如, 曲线 `x(y-x)(y-2x) = x + y + 1` 的渐近线是 `x=0`, `y=x` 和 `y=2x`. 最后, 若 `f(x, y)` 的最高次项没有零点, 比如 `(x^2+y^2)^m`, 则曲线是有界的.

渐开线 直线 `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` 为二元多项式.

视 `x, y` 为常数, 考虑多项式 `P(t) = p(t) - x` 和 `Q(t) = q(t) - y`. 若它们有公共根, 则结式 `"Res"_t(P, Q) = 0`. 例如, 当 `p(t) = 3t^2+t+1`, `q(t) = t^4-4t^3-5` 时, 用计算机得到对应的隐方程:
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`.