向量和空间解析几何
高等数学中有一门课叫向量和空间解析几何,讲述了在同一个坐标系中,一个向量经过旋转,缩放和迁移之后,会变成一个新的向量。
上图是一个简单的实例,正方形ABCD经过缩放、旋转、迁移之后形成了A’B’C’D’,在高数里面,很容易根据相关公式求出一个矩阵,算出A’B’C’D’的坐标,这里并不科普矩阵的计算方式;
实际场景
现实生活中,存在虚拟世界坐标和现实世界坐标,虚拟世界的坐标很方便拾取,而现实世界的坐标取值却很苦难,例如,计算机上用一个8000*6000像素的图片表示一个标准体育场,对应现实世界中一个标准的体育场,这已经是虚拟现实能实现最标准最简单的场景了,在PC上,计算机很容易通过放大缩小,进行最精确的取点,但是在体育场之上,想描述一个具体的点,采用的一般是GPS定位(误差会在5米左右)。
对应上面的数学理论,在PC上任意取3到4个点,在体育场中对应取3到4个点,其根本无法通过数学公式直接求出一个矩阵计算对应方式,因为误差是存在的,概率学上,误差是没有规律的。
如何去解决?
既然无法通过数学公式直接来算,那么就只能通过假设理论来实现,取A B C三个点,计算机中也取出A’B’C’三个点,假定ABC是精确的,假设A’B’是精确的(C’作为参考),也可以反之,通过空间几何理论,找出C’'点,但是因为二维空间的存在,会找到两个点,即一个点对应着C点的对称点,这时候C’作为参考点就能取出对应的点了;
具体代码参考:
添加链接描述
https://github.com/gui0923/Math_Algor_Tools/blob/master/src/main/java/com/guilei/coordswitch/CommonMatrixSwitch.java
最后
由于误差的存在,选点的时候最好选的范围大一些,这样就能保证误差在接受范围之内。