标签: computational-geometry

映射 3D 空间中两个三角形之间的点

编辑

我不知道它是否重要,但目标三角形角度可能与源三角形角度不同。这个事实是否使转换非仿射?(我不知道)

替代文字

我在 3D 空间中有两个三角形。鉴于我知道第一个三角形中点的 (x,y,z) 并且我知道向量 V1,V2,V3。我需要找到点 (x',y',z')。我应该用向量 V1,V2,V3 指向 (x,y,z) 进行什么变换才能得到第二个三角形中的变换点?

感谢帮助 !!!

math geometry computational-geometry

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

使用 cgal 计算两个多边形的交集面积

给定两个凸多边形的顶点,使用 cgal 计算它们相交面积的最简单方法是什么?

c++ cgal computational-geometry

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

为一些连接线绘制轮廓

我有一些在不同点连接的线。我想绘制这些线的轮廓,我还想处理连接点处的额外线。

我在这个网站上看到了两个类似的问题:这里这里

我通过偏移中心线然后更改线的起点和终点来处理正常情况。

但是当点彼此靠近时,我无法处理特殊情况。

不幸的是,我的声誉很低,我无法发布图片来更好地解释这一点。

我正在使用 Visual Basic .net 进行编码,并且正在为 Autocad 编写代码,但任何建议对我都非常有用。

vb.net autocad outline computational-geometry

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

计算两个未知点之间的俯仰和偏航

我一直在处理 3D 空间(X、Y、Z)中的点,并希望能够计算其中两个点之间的俯仰和偏航。

我目前的代码:

pitch = (float) (1/Math.tan((Y1 - Y2) / (Z1 - Z2)));
yaw = (float) (1/Math.tan((X1 - X2) / (Z1 - Z2)));
Run Code Online (Sandbox Code Playgroud)

其中 X1、X2、Y1、Y2、Z1、Z2 直到运行时都是未知的,此时它们是从两个随机生成的点中收集的。

但出于某种原因,我的结果完全错误,我尝试了许多不同的组合,并在谷歌上搜索了无数东西,但一无所获。

一些限制是:

  1. 音高只能小于或等于 90,或大于或等于 -90(90 => 音高 => -90)
  2. 从来没有一个卷所以不适用
  3. 在程序中声明之前,所有坐标都是未知的
  4. 俯仰沿 Z 轴开始,即向前/向后,向上俯仰为正
  5. Y向上,Z向前/向后,X向侧面
  6. 偏航开始直接面向 Z 轴

这是我第一次使用 3D 角度,我读过可以在两个不同的 2D 平面上分别计算俯仰和偏航,就像我的例子一样,但这不起作用。

非常感谢任何帮助。

java angle computational-geometry

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

多边形(或其部分)的圆形近似

我的问题的简短描述

我需要为 3D 打印实现从 G1 指令到 G2 和 G3(http://www.cnccookbook.com/CCCNCGCodeArcsG02G03.htm)的GCODE 自动重构。

G1 是直线运动并打印(路径用矢量描述)。

我正在寻找基于给定向量路径的算法来近似圆/弧(特别是它的中点)。请注意,G2 和 G3 无法打印不属于圆的曲线 - 因此并非每个向量路径都可以通过这种方式近似。

我的问题的详细描述

我正在寻找通过圆(弧)来近似部分(或全部)向量路径(可以是正多边形、它的一部分或不规则多边形部分)的方法。但是,让我们首先关注规则多边形。

在图片中,我绘制了这个问题的不同情况。 注意:每个多边形都是由向量构建的(如第 5 点)。 在此处输入图片说明

  1. 全 x 边形上的近似值。
  2. 一侧不同的部分 x 边形的近似值
  3. x-gon 的近似值,其中两侧不同但彼此相等
  4. x-gon 的近似值,其中两侧不同(彼此不相等)不相等
  5. 所有边都相等的部分 x-gom 的近似值

这不是故事的开始……有几个标准:

  • 圆的起点/终点必须在矢量路径的起点/终点。
  • 我需要知道圆圈的中点。

我发现的解决方案(好的和坏的):

1) 和 5) - 我的简单解决方案

这是最简单的情况。我可以计算共享一个观点的每一侧之间的半径。如果它们具有相同的长度和每个之间的角度相等,我可以计算圆的中点(作为属于垂直中线的点,每边一条中线),我有我需要的一切:起点,终点,中点观点。

但此解决方案仅适用于情况 1 和 5。

当我遇到案例 2,3,4 或不规则多边形的部分时,我真的不知道该怎么办

algorithm approximation computational-geometry g-code

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

检查 3D 点是否位于 3D 柏拉图立体内?

是否有任何已知方法可以快速有效地确定 3D 点是否位于已知大小的柏拉图体积内?

这对于立方体(六面体)或圆(椭圆体)来说似乎很容易。我似乎无法弄清楚四面体、八面体、十二面体或二十面体。我猜可能可以将形状分解成几个子实体,然后检查每个子实体,但如果可能的话,我想避免使用任何类型的迭代求解器。

c++ algorithm geometry computational-geometry

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

实现 delaunay 三角剖分的 Bowyer-Watson 算法

我正在尝试实现以下 Bowyer-Watson 算法来实现 Delaunay 三角剖分。

function BowyerWatson (pointList)
  // pointList is a set of coordinates defining the points to be triangulated
  triangulation := empty triangle mesh data structure
  add super-triangle to triangulation // must be large enough to completely contain all the points in pointList
  for each point in pointList do // add all the points one at a time to the triangulation
     badTriangles := empty set
     for each triangle in triangulation do // first find all the triangles that …
Run Code Online (Sandbox Code Playgroud)

algorithm geometry time-complexity computational-geometry

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

W/OpenGLRenderer:点相距太远

在构造椭圆向量时,我在 LogCat 中收到此警告消息:

W/OpenGLRenderer: Points are too far apart 4.000000
Run Code Online (Sandbox Code Playgroud)

我有兴趣知道这究竟意味着什么。我注意到在 AOSP 中有一个 drawArc 方法会引发此警告,但是,它并没有明确表示究竟是什么意思。我需要调整我的矢量可绘制对象吗?我是否会从这些警告中看到任何未来的错误或绘制错误?我怎样才能让这些警告消退?

AOSP 参考文件

java android opengl-es computational-geometry android-source

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

Bentley-Ottmann 算法:Java 中的交换操作

我正在尝试在 Java 中实现 Bentley-Ottmann 算法,但一直停留在实际实现处理交点时所需的交换操作(参见:维基百科上的 Bentley-Ottmann )。

如果我正确理解该算法,则有 3 种不同类型的事件点:

  1. 起点:这是线段的最左边的点,将此线段添加到树中并检查它是否与该线段正上方和下方的线段相交(如果存在)
  2. 终点:这是线段的最右边的点,从树中删除该线段并检查正上方和下方的线段是否彼此相交
  3. 交点:这是两个线段的交点,交换两个线段在树中的位置[...]

(我省略了很多细节,因为它们与这里不太相关)

我使用 aTreeMap作为我的数据结构来存储我的段。我不认为有一个swap操作TreeMaps可以让你只交换两个元素,所以这就是我陷入困境的地方。

java algorithm geometry computational-geometry

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

设A和B为平面上的两组点——判断A和B是否可以用圆盘分开

设 A 和 B 为平面上的两组点,每组由 n 个点组成。我试图找到一种有效的方法来确定 A 和 B 是否可以被圆盘分开 - 是否存在圆盘 D,使得 A 的所有点都位于 D 内部,而 B 的所有点都位于 D 之外?

还有一个提示:使用提升到三个维度。

任何帮助将不胜感激。

algorithm geometry computational-geometry

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