跳到主要内容

§1.5 直线相交时的坐标处理原则

在有垂直像格子一样的图上解析会好一点,是因为坐标可以直接读取。而由于两个坐标如果能够被刻画——这个点在一条线上,总可以用一个坐标去表示另一个坐标。

公式卡片 最常见的设法是 (t,kt)(t, kt).

如果两条直线都很简单,就直接解出显式表达式。

公式卡片 BF:yx=b+f;CE:cy+x=c+eBF: -y - x = -b + f;\quad CE: cy + x = -c + e BFCE=A=[becfb+c, 1+e+fb+c]BF \cap CE = A = \left[\frac{be-cf}{b+c},\ -1 + \frac{e+f}{b+c}\right]

如上复杂度是可以写显式表达式(不设坐标变量)的极限,也是唯一一种情形。 超过这个复杂度就应该溢出设变量。

用简单直线的结构设坐标,用复杂直线形成约束。

公式卡片 N=L1L2,L1:y=t(x2),L2:Ax+By+C=0N = L_1 \cap L_2,\quad L_1: y = -t(x-2),\quad L_2: Ax+By+C=0 N=(2t1n, n),n=(2A+C)tABtN = \left(2 - t^{-1}n,\ n\right),\quad n = \frac{(2A+C)t}{A-Bt}

其中 A,B,CA, B, C 都是复杂的超代数直觉系数,强行设出系数多项式(层层设变量!)。

如果有简单的直线约束,用 ddkdkd 的形式,不要设两个独立字母。

公式卡片 O(d,h),h=k1dO(-d, h),\quad h = k_1 d

原因:两个独立字母你容易忘了它们之间的线性关系,导致后面遇到 2mhd12mk12mhd^{-1} - 2mk_1 时,很容易注意不到它等于 00