3d数学基础 直线的表示方法转换:隐式转成“标准向量 + 距离”

    技术2025-10-21  6

    在读几何图元的直线由隐式格式转成“标准向量+距离”的格式的时候有点困惑。已知直线方程是:ax + by = d。

    书上是这么写的:

    从直线的隐格式转换到“标准向量+距离”形式: \\ n = [ a      b ]   / a 2 + b 2 \mathbf{n} = [a\:\:\:\:b]\:/ \sqrt{a^2+b^2} n=[ab]/a2+b2 \\ d i s t a n c e = d   / a 2 + b 2 distance = d\:/\sqrt{a^2+b^2} distance=d/a2+b2

    上式中,n被加粗了,它代表的是一个单位向量(模是1),并且垂直于已知直线。distance代表的是从原点到直线的距离。当时看的时候,n是单位向量好理解,但是第二个式子从原点到直线的距离公式是怎么推出来的?

    其实,n所在的直线与给定的直线是垂直关系,那么原点到直线的距离所在的直线与n向量处于平行关系,如图:

    因此,过0点和A点的直线方程的斜率可根据n向量的坐标得到:

    y = b a x y = \frac{b}{a}x y=abx

    它与所给直线组成线性方程组,就交点坐标,再求距离: 求得:

    x = d ∗ a   / ( a 2 + b 2 ) x = d*a\ / ({a^2 + b^2}) x=da /(a2+b2) \\ y = d ∗ b   / ( a 2 + b 2 ) y = d*b\ / ({a^2 + b^2}) y=db /(a2+b2) \\ d i s t a n c e = x 2 + y 2 = d   / a 2 + b 2 distance = \sqrt{x^2+y^2}=d\:/\sqrt{a^2+b^2} distance=x2+y2 =d/a2+b2

    得证!

    Processed: 0.010, SQL: 9