标签: triangulation

三角剖分算法

我决定创建一个简单的演示,将多边形划分为三角形集.到目前为止我得到的是:

给出顺序顶点列表(P1)形成多边形边缘(多边形在多数情况下不是凸面); 需要一个三角形集

遍历多边形P1内的所有顶点并找到一个(v),这将满足下一个子句:

  1. 从多边形中移除v并将新的一个保存到P2前一个顶点到v连接到它的下一个顶点,形成一条不穿过任何P2边的线

  2. v不在P2内

如果满足这些,我们可以用(P2 + 三角形(prev(v),v,next(v))替换P1 并重复此动作,直到P1包含多于3个顶点.

所以,问题是:这个算法是否正确以及如何使用C/C++以最明显和最简单的方式实现它?

c algorithm math triangulation computational-geometry

2
推荐指数
1
解决办法
8875
查看次数

多边形三角测量反射顶点

嗨,我正在尝试执行多边形三角剖分。我了解简单多边形( Concave 或 Convex )的剪耳方法。我一直在寻找顶点是否是反射。我在多个地方读到的是关于顺时针和逆时针方向的内容,我无法理解。简而言之,这些方向指的是什么,请给我一些关于检查顶点是否反射的提示。 这是我正在关注的一篇文章的链接:

这是他们使用的公式:

  // Input
    VECTOR a, b, c; // the parts of our triangle.
    // if (b.x - a.x) * (c.y - b.y) - (c.x - b.x) * (b.y - a.y) > 0
    // we are counter-clockwise
Run Code Online (Sandbox Code Playgroud)

我无法理解这里有什么意义。

triangulation computational-geometry

2
推荐指数
1
解决办法
1516
查看次数

需要帮助来理解 cv2.unactorPoints() 的错误

我正在尝试使用 OpenCV Python 中的结构光对投影仪和相机中的点进行三角测量。在此过程中,我有一个在相机和投影仪之间一对一匹配的元组列表。我将其传递给 cv2.un DistortedPoints() ,如下所示:

camera_normalizedPoints = cv2.undistortPoints(camera_points, camera_K, camera_d)

但是,python 抛出以下错误,我无法理解该错误的含义。

camera_normalizedPoints = cv2.undistortPoints(camera_points, camera_K, camera_d) cv2.error: /home/base/opencv_build/opencv/modules/imgproc/src/undistort.cpp:312: error: (-215) CV_IS_MAT(_src) && CV_IS_MAT(_dst) && (_src->rows == 1 || _src->cols == 1) && (_dst->rows == 1 || _dst->cols == 1) && _src->cols + _src->rows - 1 == _dst->rows + _dst->cols - 1 && (CV_MAT_TYPE(_src->type) == CV_32FC2 || CV_MAT_TYPE(_src->type) == CV_64FC2) && (CV_MAT_TYPE(_dst->type) == CV_32FC2 || CV_MAT_TYPE(_dst->type) == CV_64FC2) in function cvUndistortPoints

任何帮助是极大的赞赏。

谢谢。

python opencv computer-vision triangulation

2
推荐指数
1
解决办法
3568
查看次数

有耳剪的麻烦

我遇到的问题是因为我无法确定三角形与一个实际上应该切断的耳朵的凹陷.

如何判断凸三角形和凹三角形之间的区别?

polygon triangulation

1
推荐指数
1
解决办法
1157
查看次数

基于三个其他点的已知差异确定一个点的坐标

我在飞机上有三个坐标.我们称它们为X1,Y1,X2,Y2,X3 Y3.

我需要计算X4,Y4,但我所知道的是:

X1,Y1与X4相距350个单位,Y4 X2,Y2与X4相距200个单位,Y4 X3,Y3与X4,Y4相距50个单位

我知道X1,Y1,X2,Y2和X3,Y3的精确值

如何确定X4,Y4的确切位置?

algorithm geometry triangulation

1
推荐指数
1
解决办法
1166
查看次数

CGAL:正常和加权3D三角测量之间的差异

对于一组3D点,所有的人都通过他们的直角坐标系中指定,CGAL其3D Delaunay三角及其权重(如图所示之间的主要区别是什么在这里)或常规3D三角测量?

c++ geometry triangulation cgal

1
推荐指数
1
解决办法
827
查看次数

三维空间中的三角剖分

免责声明:这是为了上课,但是我的想法是新鲜的,并且在正确的方向上轻推非常感激.此外,这需要在原始C中实现,因此不能使用任何花哨的库.

我必须为潜艇编写一个搜索和救援模拟器,它必须找到一个随机放置在MAX_XYZ(100000)网格中的3D空间中的探测器.我给出的唯一工具是"ping",它将给出某个子探针和探针之间距离的大小.目标是优化整个操作的成本,因此蛮力尝试(如查看每个单独的坐标)将不起作用.因此我在思考三角测量.

现在,它对我来说有意义,放置三个子,每个子使用他们的ping来获得它们和探针之间的距离.由于每个sub相对于彼此已知距离,因此很容易用它们构建四面体的底部,并且ping的结果将指向某个坐标,我遇到的问题是如何计算出高程,或四面体的高度.

所以我的数据如下:

  1. 潜艇之间的距离(矢量格式)
  2. 每个潜艇之间的角度(非常容易计算)
  3. 每个子探针和探针之间的距离(从基部到峰的3个部分)
  4. 四面体的每个外3面内的角度.

我试着找到与四面体顶点之间的某种关系以及它们各自的相对角度,但是我发现所有这些都必须处理用等边三角形构成的四面体,这没有多大帮助.我的印象是这可以很容易地用trig解决,但要么我没有看到它,要么我需要更多的咖啡.

任何建议,将不胜感激!

algorithm triangulation

1
推荐指数
1
解决办法
5903
查看次数

是否有可能在iOS 6中获得蓝牙MAC和/或信号强度?

我正在开发一种在室内定位iPhone的系统.我正在考虑使用基于信号强度的蓝牙三角测量.

  1. 是否有可能在iOS 6上获得附近蓝牙设备的信号强度?
  2. 是否有可能获得手机的蓝牙MAC(所以我可以识别手机并从另一侧进行信号强度测量)
  3. 还有其他任何基于蓝牙三角测量来计算iPhone位置的想法吗?

这是一个餐厅类型的应用程序.餐厅想知道电话/应用程序所在的桌子.

bluetooth triangulation ios core-bluetooth

1
推荐指数
1
解决办法
2986
查看次数

旋转矩阵R1与另一个矩阵相对应,比如R2

我有两个相机旋转矩阵R1和R2.它们都是在参考系中计算出来的.

我的最终目标是使用这两个图像的相应特征来执行立体3D三角测量.

我的问题是,给定两个旋转矩阵R1和R2与某些参考系,我如何计算代表第一帧和第二帧之间旋转的矩阵"R"?

谢谢

opencv computer-vision triangulation stereo-3d

1
推荐指数
1
解决办法
578
查看次数

iBeacon的位置

我正在使用iBeacon,并使用三角测量和三边测量(或类似方法),希望能够找到iBeacon与用户设备之间的精确(或相当准确)距离(以英尺/米/等为单位)。最好的方法是什么,我将如何做?

我忘了提:我知道可以找到接近度(即,接近,立即,远等),但是如前所述,理想情况下,我希望找到准确的距离(可能是通过组合RSSI,准确性和接近度值) )。

bluetooth triangulation trilateration ios ibeacon

1
推荐指数
1
解决办法
1828
查看次数