文章

平面内点坐标的分解

看题目有点绕,但其实要做的事情很简单。

假设一个平面,由不共线三点OAB构成。设\vec{OA} = \vec{i}\vec{OB} = \vec{j}

则平面内任意一点P = O + \alpha\vec{i} + \beta\vec{j}

现在该平面内点P,O,A,B坐标,分解得到\alpha\beta

要求解两个参数,紧紧靠解方程是不能满足所有可能的,因为\vec{i}\vec{j}的坐标表示可能包含有0。

那要解出这两个参数,就需要将该平面内的向量根据法向量来建立关系。

先求解$\beta$。根据向量外积的分配律和数积的结合律有\vec{i}\times\vec{OP}=\vec{i}\times(\alpha\vec{i}+\beta\vec{j})=\beta(\vec{i}\times\vec{j})

则在数值上\left|\beta\right| = \frac{\left|\vec{i}\times\vec{OP}\right|}{\left|\vec{i}\times\vec{j}\right|}

由于\vec{i}\times\vec{OP}\vec{i}\times\vec{j}同方向。夹角为0或\pi。则可以计算

\beta = \frac{\left|\vec{i}\times\vec{OP}\right|}{\left|\vec{i}\times\vec{j}\right|}cos(\theta) = \frac{\left|\vec{i}\times\vec{OP}\right|}{\left|\vec{i}\times\vec{j}\right|}(\frac{(\vec{i}\times\vec{OP})\cdot(\vec{i}\times\vec{j})}{\left|\vec{i}\times\vec{OP}\right|\left|\vec{i}\times\vec{j}\right|}) = \frac{(\vec{i}\times\vec{OP})\cdot(\vec{i}\times\vec{j})}{\left|\vec{i}\times\vec{j}\right|^2}

同理可以计算\alpha的值。

许可协议:  CC BY 4.0