matlab求支线与平面交点,直线和平面的交点

 

 

 

 

 

 

 

预备知识 高中解析立体几何,几何矢量

若平面上任意一点为 $ \boldsymbol{\mathbf{p}} = (p_x, p_y, p_z)$,法向量为 $ \boldsymbol{\mathbf{n}} = (n_x, n_y, n_z)$.直线上一点为 $ \boldsymbol{\mathbf{s}} = (s_x, s_y, s_z)$,方向为 $ \boldsymbol{\mathbf{v}} = (v_x, v_y, v_z)$,求射线与平面的交点.注意 $ \boldsymbol{\mathbf{n}} $ 和 $ \boldsymbol{\mathbf{v}} $ 不必是单位矢量.

平面方程为

\begin{equation}

( \boldsymbol{\mathbf{r}} - \boldsymbol{\mathbf{p}} ) \boldsymbol\cdot \boldsymbol{\mathbf{n}} = 0

\end{equation}

直线的参数方程为

\begin{equation}

\boldsymbol{\mathbf{r}} = \lambda \boldsymbol{\mathbf{v}} + \boldsymbol{\mathbf{s}}

\end{equation}

式 2 代入式 1 解得

\begin{equation}

\lambda = \frac{( \boldsymbol{\mathbf{p}} - \b

你可能感兴趣的:(matlab求支线与平面交点)