我决定创建一个简单的演示,将多边形划分为三角形集.到目前为止我得到的是:
给出顺序顶点列表(P1)形成多边形边缘(多边形在多数情况下不是凸面); 需要一个三角形集
遍历多边形P1内的所有顶点并找到一个(v),这将满足下一个子句:
从多边形中移除v并将新的一个保存到P2前一个顶点到v连接到它的下一个顶点,形成一条不穿过任何P2边的线
v不在P2内
如果满足这些,我们可以用(P2 + 三角形(prev(v),v,next(v))替换P1 并重复此动作,直到P1包含多于3个顶点.
所以,问题是:这个算法是否正确以及如何使用C/C++以最明显和最简单的方式实现它?
嗨,我正在尝试执行多边形三角剖分。我了解简单多边形( 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)
我无法理解这里有什么意义。
我正在尝试使用 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
任何帮助是极大的赞赏。
谢谢。
我遇到的问题是因为我无法确定三角形与一个实际上应该切断的耳朵的凹陷.
如何判断凸三角形和凹三角形之间的区别?
我在飞机上有三个坐标.我们称它们为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的确切位置?
对于一组3D点,所有的人都通过他们的直角坐标系中指定,CGAL其3D Delaunay三角及其权重(如图所示之间的主要区别是什么在这里)或常规3D三角测量?
免责声明:这是为了上课,但是我的想法是新鲜的,并且在正确的方向上轻推非常感激.此外,这需要在原始C中实现,因此不能使用任何花哨的库.
我必须为潜艇编写一个搜索和救援模拟器,它必须找到一个随机放置在MAX_XYZ(100000)网格中的3D空间中的探测器.我给出的唯一工具是"ping",它将给出某个子探针和探针之间距离的大小.目标是优化整个操作的成本,因此蛮力尝试(如查看每个单独的坐标)将不起作用.因此我在思考三角测量.
现在,它对我来说有意义,放置三个子,每个子使用他们的ping来获得它们和探针之间的距离.由于每个sub相对于彼此已知距离,因此很容易用它们构建四面体的底部,并且ping的结果将指向某个坐标,我遇到的问题是如何计算出高程,或四面体的高度.
所以我的数据如下:
我试着找到与四面体顶点之间的某种关系以及它们各自的相对角度,但是我发现所有这些都必须处理用等边三角形构成的四面体,这没有多大帮助.我的印象是这可以很容易地用trig解决,但要么我没有看到它,要么我需要更多的咖啡.
任何建议,将不胜感激!
我正在开发一种在室内定位iPhone的系统.我正在考虑使用基于信号强度的蓝牙三角测量.
这是一个餐厅类型的应用程序.餐厅想知道电话/应用程序所在的桌子.
我有两个相机旋转矩阵R1和R2.它们都是在参考系中计算出来的.
我的最终目标是使用这两个图像的相应特征来执行立体3D三角测量.
我的问题是,给定两个旋转矩阵R1和R2与某些参考系,我如何计算代表第一帧和第二帧之间旋转的矩阵"R"?
谢谢
我正在使用iBeacon,并使用三角测量和三边测量(或类似方法),希望能够找到iBeacon与用户设备之间的精确(或相当准确)距离(以英尺/米/等为单位)。最好的方法是什么,我将如何做?
我忘了提:我知道可以找到接近度(即,接近,立即,远等),但是如前所述,理想情况下,我希望找到准确的距离(可能是通过组合RSSI,准确性和接近度值) )。