![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
3D Math Base
qq_35267906
这个作者很懒,什么都没留下…
展开
-
3dmath 直线于圆柱的交点(无限长圆柱)
首先需要掌握,直线与直线的距离点的求解知识,可以查看: https://blog.csdn.net/qq_35267906/article/details/92795092 圆柱的表示方法是,圆柱中心轴方向,半径,原点到圆柱中心轴的距离。 附上代码: /// <summary> /// 线与圆柱的交点 /// </s...原创 2020-06-30 17:42:27 · 1711 阅读 · 3 评论 -
3dmath 直线与直线的距离点
这里推导直线与直线的最短距离点。 已知 直线(p1,p2),和(p3,p4)。 这里附上代码: public static int LineToLineDistancePoint(Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4, out Vector3 rp1, out Vector3 rp2) {...原创 2020-06-30 17:42:45 · 492 阅读 · 0 评论 -
3dmath 矩阵的逆矩阵求解
已知一个 M = [ -4,-3,4, 0,2,-2, 1,4,-1 ] 我们首先求出M的标准伴随矩阵: c11 = += 6 c12 = -= -2 c12 =+= -2 c21=-= 9 c22 =+= 1 c23 = -= 13 c31=+= 0 c32=-= -8 c33=+= -8 adjM === = ...原创 2020-06-30 17:44:59 · 166 阅读 · 0 评论 -
3dmath 镜像变化的矩阵推导
已知向量V,镜面n,n是法向量,求v' v2 = n * (v * n) vt = v - v2 vt' = -vt = v2 - v v' = v2 + vt' 然后我们更具X的基坐标求的矩阵的x向量 p = [1,0] p' = n * (p * n) +n * (p * n) - p = 2n*(p * n) - p = [2nx*nx - 1,2ny*nx] 通过Y...原创 2020-06-30 17:45:18 · 277 阅读 · 0 评论 -
3dmath 正交投影矩阵的推导
如图所示,我们通过2维来推导。 已知:向量V,投影到的平面n,n是单位向量。求投影向量V2。 我们可以根据向量的投影公式求得,v在n上的投影长度,也就是V2的模。 v2 = n * (v * n) 我们通过矩阵的x基坐标求得x向量。 p = [1,0] p' = n * (p * n) = [nx*nx,ny*nx] 通过y 的基准坐标求的y向量 q = [0,1] q' ...原创 2020-06-30 17:46:20 · 244 阅读 · 0 评论 -
3Dmath 推导沿任意过原点的轴方向缩放
已知向量v,方向向量n,v在n方向缩放k。 v = v2 + vt v2 = (v * n)*n vt' = vt = v - v2 = v - (v * n)*n v2' = k*v2 = k(v*n)*n v' = vt' + v2' = v - (v * n)*n +k(v*n)*n = v + (k - 1)*(v*n)*n 更具这个表达式,可以计算x基向量的 p ...原创 2020-06-30 17:47:08 · 122 阅读 · 0 评论 -
3Dmath 推导绕过原点的任意轴旋转矩阵
如下图: 已知:n,v。现在v围绕n旋转角变成V'。 V't = Vt cos+Wsin。 替换Vt和W V11 = (v*n)n Vt = V - V11 = v - (v*n)n w = n x vt = n x (v - v11) = n x v - n x v11 = n x v v't = (v - (v * n)n)*cos+ (n x v)sin 带入v...原创 2020-06-30 17:47:34 · 263 阅读 · 0 评论 -
3dmath 直线与圆锥的交点(无底面的圆锥)
里面大部分计算 与圆柱的交点类似,可以看下圆柱交点的推导过程: https://mp.csdn.net/postedit/92795146 点到直线的距离参考: https://mp.csdn.net/postedit/91954743 通过上面的公式求得k1,k2分别对于圆锥上的2点,但这个2点需要判断是不是到圆锥轴的距离小于等于底面圆的半径。 附上代码: /// <s...原创 2020-06-30 17:42:05 · 879 阅读 · 1 评论 -
3dmath 点到平面的距离点
平面是由平面的法线和到原点的距离表示 /// <summary> /// 点到平面的距离 /// </summary> /// <param name="a"></param> /// <param name="p"></param> /...原创 2020-06-30 17:43:08 · 155 阅读 · 0 评论 -
3dmath 空间2根直线的交点
首先具备点到直线的距离点的求解能力,不会点到直线的距离的请看 https://blog.csdn.net/qq_35267906/article/details/91954743 已知:直线p1p2,和直线p3p4求这2根空间直线的交点。 这里求证了2个直线的交点,但前提条件是2个直线必须在同个平面才有交点。 /// <summary> /// 线与...原创 2020-06-30 17:43:29 · 183 阅读 · 0 评论 -
3dmath 空间点到直线的距离与距离点
计算这个,我们首先要知道一点向量的基本知识,点乘和叉乘的几何意义。 点乘:求的一个向量到另一个向量的投影,结果是一个数。 叉乘:求垂直于2个向量的向量,结果是一个向量。 已知p1,p2 ,p 求p 到p1 p2上的距离点 px p1到px的距离为:k = (p- p1)*(p2 - p1).Normalized; px = p1 + k*(p2 - p1).Normalized;...原创 2020-06-30 17:43:48 · 168 阅读 · 0 评论 -
3dMath 三角形性质公式
已知一个三角形由3个顶点表示(v1,v2,v3) 边的表示: e1 = v3 - v2 e2 = v1 - v3 e3 = v2 - v1 边长: l1 = ||e1|| l2 = ||e2|| l3 = ||e3|| 周长: p = l1 + l2 + l3 面积: A = bh / 2 或 s = p / 2 A = 或 A = || e1 x e2 || /...原创 2020-06-30 17:40:57 · 424 阅读 · 0 评论