计算几何相关
计算几何相关 向量表示法 这里最适合的就是用一个二维点对 \((a,b)\) 来表示了。 点积 \({a.x*b.x+a.y*b.y}\) 在向量的含义下: \(\vec{a}·\vec{b}=|\vec{a}||\vec{b}|cos<\vec{a},\vec b>\) 叉积 \({a.x*b.y-a.y*b.x}\) 这个东西很有用,首先这个东西的绝对值就是两个向量构成的三角形的面积的二倍。 证明的话只需要把图画出来,然后过向量端点的四条平行于坐标轴的直线将包含了整个向量的矩形分割成四个部分,然后割补法算一算就好了。 发现上面写面积的时候带了绝对值,当 \(b\) 在 \(a\) 的逆时针方向时,即 \(b\) 在 \(a\) 的左侧时,两者的叉积为正,否则叉积为负,所以通过叉积也可以很方便的计算向量之间的位置关系。 转角 把向量转动一个角度 \(\alpha\) 。 显然向量如果把它的模长变为 \(1\) ,就可以在单位圆上对应一个点,假设其模长为 \(R\) ,那么一个向量可以写为 \((R\cos\beta,R\sin\beta)\) ,那么转角只需要改变 \(\beta\) 即可。 再用三角函数的和角公式可以很容易拆分。 极角 其实就是如何计算上面那个 \(\beta\) ,直接 \(atan2(a.y,a.x)\) 就好了。 两条直线的交点