计算几何
计算几何
lainegates
think more, code less.
展开
-
计算二维空间点到线段距离
计算二维空间点到线距离,如下图,求p1到线段p2p3的距离按行列式计算三角形面积可得Δ=0.5∗∣1x1y11x2y21x3y3∣=0.5∗∣1x1y10x2−x1y2−y10x3−x1y3−y1∣=0.5∗[(x2−x1)∗(y3−y1)−(y2−y1)∗(x3−x1)]\Delta = 0.5*\begin{vmatrix}1 & x_1 & y_1 \\1 & x_2 & y_2 \\1 & x_3 & y_3 \\\end{vmatri原创 2020-05-10 13:15:46 · 1112 阅读 · 0 评论 -
判断线段相交
先判断两条线段是否不平行(最好同时判断是否有交点并且不平行,因为浮点运算不精确),然后计算两条线段的交点。以下是C语言代码:#include#include#define eps 1e-8#define zero(x) (((x)>0?(x):-(x))<eps)struct point{double x,y;};//计算交叉乘积(P1-P0)x(P2-P0)double xmu转载 2013-05-09 13:50:35 · 1232 阅读 · 0 评论 -
判断点在多面体内外
点在多面体内外的算法结常会被用到。这里总结下自己的方法1.寻找一个四面体,包含这个点。因为小的四面体包含这个点,包含这个四面体的多面体一定包含这个点。四面体包含点的判断办法(方法2)2.从这个点往多面体每个面投影。设定点在面法向一侧,距离为正,否则为负。之后判断所有距离的纯对值,最小的距离的正负决定了点在多面体内或外。因为假定点在多边形内,不可能存在一个距离为正且值最小的面,因为点在多原创 2015-12-07 15:24:06 · 6608 阅读 · 4 评论