问题标签 [geometry]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
28105 浏览

algorithm - 你如何在给定的垂直距离上找到一个点?

我在窗口中画了一条线,让用户拖动它。所以,我的线由两点定义:(x1,y1) 和 (x2,y2)。但现在我想在我的线的末端画“帽子”,即在我的每个端点处画短垂直线。大写字母的长度应为 N 个像素。

因此,要在端点 (x1,y1) 处绘制我的“帽”线,我需要找到两个点,它们形成一条垂直线,并且每个点距点 (x1,y1) 的距离为 N/2 像素。

那么如何计算一个点 (x3,y3),因为它需要与已知线的终点 (x1,y1) 相距 N/2 的垂直距离,即由 (x1,y1) 定义的线和(x2,y2)?

0 投票
5 回答
4773 浏览

algorithm - 如何将多项式转换为另一个坐标系?

使用各种矩阵数学,我求解了一个方程组,得到了“n”次多项式的系数

然后我在给定的 x 范围内评估多项式,基本上我正在渲染多项式曲线。现在这是问题所在。我在一个我们称之为“数据空间”的坐标系中完成了这项工作。现在我需要在另一个坐标空间中呈现相同的曲线。输入/输出与坐标空间之间的转换很容易,但最终用户只对系数 [A,B,....,Z] 感兴趣,因为他们可以自己重建多项式。如何呈现第二组系数 [A',B',....,Z'],它们在不同的坐标系中表示相同形状的曲线。

如果有帮助,我正在二维空间中工作。普通的旧 x 和 y。我也觉得这可能涉及将系数乘以变换矩阵?它是否会包含坐标系之间的比例/平移因子?它会是这个矩阵的逆矩阵吗?我觉得我在朝着正确的方向前进......

更新:坐标系是线性相关的。会有有用的信息吗?

0 投票
3 回答
9978 浏览

c# - 如何确定 GDI+ 中两条线的交点?

我正在使用 .NET 制作具有绘图表面的应用程序,类似于 Visio。UI 用 Graphics.DrawLine 连接屏幕上的两个对象。这个简单的实现效果很好,但是随着表面变得越来越复杂,我需要一种更健壮的方式来表示对象。这些强大的要求之一是确定两条线的交点,以便我可以通过某种图形指示分离。

所以我的问题是,任何人都可以提出一种方法来做到这一点吗?也许使用不同的技术(也许是 GraphViz)或算法?

0 投票
6 回答
20042 浏览

javascript - 圆坐标到Javascript中的数组

将圆的坐标添加到 JavaScript 中的数组的最佳方法是什么?到目前为止,我只能做一个半圆,但我需要一个将整个圆返回到两个不同数组的公式:xValuesyValues. (我正在尝试获取坐标,以便可以沿路径为对象设置动画。)

这是我到目前为止所拥有的:

0 投票
3 回答
178 浏览

algorithm - 接近检测点

我有一大组 3D 的三阶多项式。

矩阵形式

Pn = [1,t,t 2 ,t 4 ]*[An]

[Pn]分别[An]1xN4xN矩阵

每个函数都有一个权重 Wn。n, m, T对于某些人,我想t0找到第一个这样的t地方t>t0

(Wn*Wm) * |Pn-Pm| -2 > T

除了 O(n 2 ) “尝试一切”方法之外,我什至不确定从哪里开始,就此而言,即使对于已知的 n 和 m,我也不知道如何回答这个问题。

有任何想法吗

编辑:

  • 设置大小约为 10-1000
  • 权重是分布的〜对数(很少大,很多小)
  • 这个测试将在一个多体模拟器的内部循环中,所以它会运行很多
  • 在改变一条路径后,在找到新答案方面表现良好(摊销)的版本是一件好事。
0 投票
4 回答
558 浏览

c++ - 用于在给定轴上旋转点的 C++ 库?

有谁知道一个图形库,用于将一个点从一个坐标系简单变换到另一个坐标系,该坐标系旋转一个角度和一些点变换,仅用于 2d?以及任何用于在视觉上绘制和验证相同的绘图工具?

0 投票
4 回答
1008 浏览

algorithm - 从成对距离集中确定点

给定点之间的距离矩阵,是否有一种算法可以确定一组具有这些距离的 n 维点?(或至少最小化错误)

有点像收费公路问题的 n 维版本。

我能想到的最好的方法是使用多维缩放。

0 投票
5 回答
20421 浏览

math - 如何通过两个点和半径大小计算椭圆的中心

在为 Internet Explorer 开发基于其自己的 VML 格式的 SVG 实现时,我遇到了将 SVG 椭圆弧转换为 VML 椭圆弧的问题。

在 VML 中,圆弧由以下公式给出:椭圆上两点的两个角度和半径长度;在 SVG 中,圆弧由以下公式给出:椭圆上两点的两对坐标和椭圆边界框的大小

所以,问题是:如何将椭圆上两点的角度表示为两对坐标。一个中间问题可能是:如何通过椭圆曲线上一对点的坐标找到椭圆的中心。

更新:让我们有一个前提条件,即通常放置一个椭圆(其半径平行于线性坐标系轴),因此不应用旋转。

更新:这个问题与 svg:ellipse 元素无关,而是与 svg:path 元素中的“a”椭圆弧命令有关(SVG 路径:椭圆弧曲线命令

0 投票
5 回答
4879 浏览

graphics - 从多边形网格中寻找唯一边的算法

我正在寻找一种好的算法,它可以从一组多边形数据中为我提供独特的边缘。在这种情况下,多边形由两个数组定义。一个数组是每个多边形的点数,另一个数组是顶点索引列表。

我有一个正在运行的版本,但是当达到超过 500,000 个多边形时性能会变慢。我的版本遍历每个面并将每个边的排序顶点添加到 stl::set。我的数据集将主要是三角形和四边形,并且大多数边将被共享。

有没有更聪明的算法呢?

0 投票
3 回答
3991 浏览

3d - 如何从平面相交的 3D 几何图形中提取 2D 切片?

最近,我们的团队面临着在平面和一些 3D 几何体(三角形集)之间构建 2D 切片的任务。谷歌并没有像我们希望的那样有帮助,所以我们把注意力转向这里,看看是否有人遇到过这个问题并提供可能的解决方案。也需要链接。

找到交点本身并不是一项艰巨的任务,但确保正确生成三角形并使用正确的角构成是与我们一起玩艰难的游戏。我们只是缺乏从任意模型构建三角形的数学/理解。

如果您在理解我们正在尝试做的事情时遇到问题,请想象一下这种情况:

将兔子模型加载到程序中。接下来,“激光”穿过太空,将兔子切成两半。激光切割的那个薄片就是我们想要生成的切片。它应该是一个二维三角形集。如果激光不适合你(没有双关语),想想刀,飞机,任何能在飞机上切东西的东西。

提前致谢。