有疑问或无法实现请留言或私信可以提供解答
背景介绍
计算几何是将几何体量化的手段。我们知道程序本质是依靠逻辑判断和循环两种方式来工作的。所以就需要有一种办法,将几何体量化,量化之后才能提供逻辑判断。对于几何体量化的手段并不多,常用的有 角度,大小,方向,共面等。对应的几何计算有,角度计算,叉乘,点积,投影,正交,共面等计算。本文只列出与算法相关的几种计算。如果想详细了解计算几何的相关知识,这里提供一份科普资料:计算几何 - 百度文库.可以作为参考。
点积
代数定义
几何定义
点积的几何意义表示两个向量的接近程度。在二维三维空间也可以当做投影公式来用。值为正则投影同向,值为负则投影不同向。
叉乘
叉乘这个东西很有意思。两个向量的叉乘几何上讲可以得到这两个向量组成平面的法向量。它的代数值等于这两个向量围成的平行四边形的面积。二维向量的叉乘又等于组成二维矩阵的行列式,其实行列式的几何意义就是矩阵的面积,体积等。二维向量的叉乘更神奇的是,代数值的正负可以来判别方向。
正交
正交就是说两个向量垂直,夹角为90度。他的公式就是, 点积=0。想知道为啥点积为0则两个向量正交可以参考
这个证明为什么两个向量垂直,点积为0_向量垂直数量积为0-CSDN博客
投影
这个x可以当做投影因子,它是用来衡量投影向量的大小的。它的正负代表了方向。正值代表同向,负值代表反向。想了解更多信息可以参考线性代数笔记18--投影矩阵和最小二乘 - 我是8位的 - 博客园
角度计算
这个很简单就是利用点积公式。解算出 𝑐𝑜𝑠𝜃 。但需要把这个 𝑐𝑜𝑠𝜃 映射成角度。
共面计算
共面计算很简单,就是把三个向量列一个方程组 𝑥𝐴+𝑦𝐵=𝑍 。看有没有解,有解必公共面。就是使用向量的线性相关性质来判断。