推导点到直线(平面)的距离公式

本文利用了点和直线、平面的齐次坐标表示方法,来推导2维点到直线距离,3维点到平面距离的公式。用齐次坐标表示方法推导比较简洁。

2维点到直线

令2维点: A ( x 0 , y 0 , 1 ) (x_0,y_0, 1) (x0,y0,1), 2维直线方程: a x + b y + c = 0 ax+by+c=0 ax+by+c=0

2维直线 ( a , b , c ) (a,b,c) (a,b,c)中 a 2 + b 2 = 1 a^2+b^2=1 a2+b2=1

直线上的任意点: B ( x ′ , y ′ , 1 ) (x',y', 1) (x′,y′,1)

那么向量 A B → \overrightarrow{AB} AB 与直线法向量 ( a , b ) (a,b) (a,b)的点积就是A到直线的距离
d = ∣ ( x 0 − x ′ ) ∗ a + ( y 0 − y ′ ) ∗ b ∣ = ∣ x 0 ∗ a + y 0 ∗ b + c ∣ d=|(x_0-x')*a+(y_0-y')*b| =|x_0*a+y_0*b+c| d=∣(x0−x′)∗a+(y0−y′)∗b∣=∣x0∗a+y0∗b+c∣

3维点到平面

推导跟2维一样,A ( x 0 , y 0 , z 0 , 1 ) (x_0,y_0,z_0,1) (x0,y0,z0,1), 3维平面 a x + b y + c z + d = 0 ax+by+cz+d=0 ax+by+cz+d=0
a 2 + b 2 + c 2 = 1 a^2+b^2+c^2=1 a2+b2+c2=1

B ( x ′ , y ′ , z ′ , 1 ) (x',y',z',1) (x′,y′,z′,1)
d = ∣ ( x 0 − x ′ ) ∗ a + ( y 0 − y ′ ) ∗ b + ( z 0 − z ′ ) ∗ c ∣ = ∣ x 0 ∗ a + y 0 ∗ b + z 0 ∗ c + d ∣ d=|(x_0-x')*a+(y_0-y')*b+(z_0-z')*c| =|x_0*a+y_0*b+z_0*c+d| d=∣(x0−x′)∗a+(y0−y′)∗b+(z0−z′)∗c∣=∣x0∗a+y0∗b+z0∗c+d∣

相关推荐
Σίσυφος19002 小时前
PCL 法向量估计-PCA邻域点(经典 kNN 协方差)的协方差矩阵
人工智能·线性代数·矩阵
Σίσυφος190012 小时前
PCL法向量估计 之 RANSAC 平面估计法向量
算法·机器学习·平面
_OP_CHEN14 小时前
【算法基础篇】(五十七)线性代数之矩阵乘法从入门到实战:手撕模板 + 真题详解
线性代数·算法·矩阵·蓝桥杯·c/c++·矩阵乘法·acm/icpc
芷栀夏15 小时前
CANN ops-math:从矩阵运算到数值计算的全维度硬件适配与效率提升实践
人工智能·神经网络·线性代数·矩阵·cann
种时光的人1 天前
CANN仓库核心解读:catlass夯实AIGC大模型矩阵计算的算力基石
线性代数·矩阵·aigc
Zfox_1 天前
CANN Catlass 算子模板库深度解析:高性能矩阵乘(GEMM)原理、融合优化与模板化开发实践
线性代数·矩阵
lbb 小魔仙1 天前
面向 NPU 的高性能矩阵乘法:CANN ops-nn 算子库架构与优化技术
线性代数·矩阵·架构
劈星斩月1 天前
线性代数-3Blue1Brown《线性代数的本质》特征向量与特征值(12)
线性代数·特征值·特征向量·特征方程
池央2 天前
ops-nn 算子库中的数据布局与混合精度策略:卷积、矩阵乘法与 RNN 的优化实践
rnn·线性代数·矩阵
深鱼~2 天前
大模型底层算力支撑:ops-math在矩阵乘法上的优化
人工智能·线性代数·矩阵·cann