常见曲线的极坐标方程
换坐标的收益要在具体曲线上兑现。本页列出直线、圆、圆锥曲线、玫瑰线与心形线在极坐标下的方程,并在每一族上指出一处只有在这套坐标里才会遇到的判据:直线在某些角上极径无界,圆的一般方程是关于极径的二次式,玫瑰线的花瓣数取决于曲线闭合所需的角区间。
1 · 直线与圆
直线分两类。过极点的直线上每一点的极角相同(或相差 ),方程就是
极径在这条方程里不出现,取遍全体实数。这也是负极径约定的用处之一: 允许取负时,一条方程画出的是整条直线而不是一条射线。
不过极点的直线由「极点到它的距离 」与「垂足的方向 」定出。设 在直线上,则 在垂足方向上的投影恒为 :
时余弦为零,那两条射线与直线平行,极径无界。实现里 lineRho 在这两个角上返回 null,交由调用方跳过。
圆的方程按圆心位置分三档。圆心在极点时最简,,极角完全自由。圆过极点、圆心在 时,极点、圆心与圆上任一点构成直角三角形(直径所对的圆周角是直角),于是
即圆心在极轴上,方程为 ; 即圆心在极轴的垂线上,方程为 。这条方程有半个周期给出负的极径,而那半圈画出的是同一个圆;单测把两段的去重点数比对,结果相等。
一般位置的圆(圆心 、半径 )由余弦定理给出
这是关于
的二次方程,不是
。原因在几何上很直接:一条从极点出发的射线可以与圆相交两次。所以核心模块里这一条给出的是 circleRhos,返回零到两个极径而不是一个。这一处是极坐标与直角坐标的一个结构差别:直角坐标下
关于
是二值的曲线很常见,而极坐标下「一条射线交曲线几次」这件事在方程的形状上直接可见。
2 · 圆锥曲线的统一方程
把极点取在焦点上、准线取在极点左侧且与极轴垂直、极点到准线的距离记作 ,则三族圆锥曲线共用
证明 设 在曲线上。 到焦点的距离就是极径 ;准线为 ,故 到准线的距离是 。焦点—准线定义要求两者之比为 ,即 ,整理得 。∎
落在哪一段决定分母何时取零,也就决定了曲线的形状。 时分母恒正,极角走满一圈得到闭合的椭圆; 时分母在 处为零,曲线在那个方向上跑向无穷,闭不上,是抛物线; 时分母在两个角上为零,那两个方向是渐近方向,且中间一整段角上算出的极径为负,那些点属另一支。取样时这一段必须整段丢掉:、 时 的那 全被丢弃, 个等距取样只剩 个。
三族合成一条方程这件事,与 离心率与三族的统一定义 §3 讲的是同一件事,只是那一页的准线取在极点右侧,方程写作 ,其中 是半通径。两套写法差一个 ,即整条曲线关于极点的竖直轴翻转。把两个实现按这条对应逐点比对过一遍: 时最大偏差 , 时 ,而 时跳到 。最后这一档看着刺眼,来历却不在公式上——两边跳过「分母趋零」的阈值定得不同,故保留下来的最靠近渐近方向的那个点,坐标已在 量级,相对偏差仍是 。
注 · 极坐标方程里的 是焦点到准线的距离,与抛物线标准方程 里的 同名不同物:后者是焦点到准线距离的两倍。这一处重名是历史包袱,两套记号在各自的语境里都已固定,改哪一边都会与教材脱节。
3 · 玫瑰线的花瓣数
玫瑰线是
定花瓣的长度, 定花瓣的个数。而「个数」这件事在 的奇偶上分岔: 为奇数时有 瓣, 为偶数时有 瓣。
这条结论的机制是曲线闭合所需的角区间不同,而不是花瓣本身有两种长法。 为奇数时 走过 曲线已经画完,后半圈是原路重描:第二圈的 与第一圈的 是同一批点。 为偶数时这种重合不发生,必须走满 才闭合,于是花瓣数翻倍。
核心模块把这条写成 roseSpec,而单测不重算公式,改用两个独立的量核对:一是数取样点上极径的峰(按极径的零点切段,每段一瓣,重描的段去重掉),二是求最小的
使
上的点集与
上的点集互相覆盖。实测两列与公式逐项吻合:
| 闭合区间(实测) | 花瓣数(数峰得到) | 上的花瓣数 | |
|---|---|---|---|
| 1 | 1 | 1 | |
| 2 | 4 | 2 | |
| 3 | 3 | 3 | |
| 4 | 8 | 4 | |
| 5 | 5 | 5 | |
| 6 | 12 | 6 | |
| 7 | 7 | 7 | |
| 8 | 16 | 8 |
最后一列是这件事最容易被误解的地方: 为偶数时只画半圈会得到一半的花瓣,图上看着像一朵完整的花,瓣数却是 而非 。写取样代码时把上限从 打成 , 那一档会安静地画出四瓣,不报任何错。
不为整数时曲线不再闭合,花瓣一圈圈叠着长,roseSpec 对这一档不给结论:它按
的整数奇偶分类,
落在分类之外。
4 · 心形线与蚶线
心形线是
处极径为零,曲线在极点上收成一个尖点; 处极径取到最大值 。它属于蚶线(limaçon)族 : 时曲线不过极点,是一条凸出的闭曲线; 即心形线; 时极径在一段角上为负,那一段在极点内侧画出一个小环。
心形线还有一个与本页无关、与下一页有关的来历:它是半径相等的两圆做外滚时的轨迹,即 的外摆线。把外摆线 、 的尖点平移到极点后逐点比对 ,最大偏差 。同一条曲线的两种写法就此对上,而两种写法分属两套坐标——极坐标那一边看到的是「极径随极角摆动」,参数方程那一边看到的是「一个圆在滚」。后者见 摆线与由运动定义的曲线。
5 · 参考文献
- Polar curve. Wikipedia. 极坐标方程给出的曲线族。https://en.wikipedia.org/wiki/Polar_curve
- Rose (mathematics). Wikipedia. 玫瑰线,以及花瓣数随 k 的奇偶而变。https://en.wikipedia.org/wiki/Rose_(mathematics)
- Cardioid. Wikipedia. 心形线的极坐标方程与它作为外摆线的来历。https://en.wikipedia.org/wiki/Cardioid
- Limaçon. Wikipedia. 蚶线族与三种形状的分界。https://en.wikipedia.org/wiki/Lima%C3%A7on
- Conic section. Wikipedia. 焦点—准线定义与统一的极坐标方程。https://en.wikipedia.org/wiki/Conic_section