平面内点坐标的分解
看题目有点绕,但其实要做的事情很简单。
假设一个平面,由不共线三点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