geometry相关内容

将 SVG 弧表示为一系列曲线

我试图将 SVG 路径准确地表示为 UIBezierPath 但遗憾的是 UIBezierPath 上的 addArc 不考虑椭圆,仅圆(半径只有 1 个值). bezierPath.addArc(withCenter:CGPoint 半径:CGFloat startAngle:CGFloat endAngle:CGFloat 顺时针:Bool) 我的想法是将弧线分解为 svg 曲线,但我不确 ..
发布时间:2022-01-14 15:45:06 其他开发

如何在 C、C#/.NET 2.0 或 Java 的所有情况下计算点和线段之间的最短 2D 距离?

可能重复: 点到线段的最短距离 我正在寻找一种方法来计算所有情况下的最小距离.我发现的解决方案的问题是: 具有图形概念图的解决方案显示点始终与线段垂直,因此它位于“线段端点之间".我的几何技能很糟糕,所以我无法验证这些解决方案是否适用于所有情况. 算法解决方案是:使用 fortran 或我不完全理解的其他语言,b:被人们标记为不完整,c:调用未以任何方式描述的方法/函数(被认为 ..
发布时间:2022-01-14 15:44:55 C#/.NET

3D 中的射线和正方形/矩形相交

嘿嘿.正在制作游戏,并且正在寻找仅在 3D 空间中与正方形或矩形相交的光线.在网上搜索并找到了许多解决方案,但我无法理解在 2D 中具有线段和线段相交脚本,但我无法弄清楚必须将其设为 3D.它从哪一侧与正方形或矩形相交并不重要,但它必须能够检索交点矢量,以便稍后可以测试它是否发生在同一光线交点上的其他交点之前或之后的距离. 非常感谢任何 Python 或其他类似脚本语言的示例 编辑:不 ..
发布时间:2022-01-14 15:44:38 Python

低多边形锥 - 尖端的平滑阴影

如果你将一个圆柱体细分为一个 8 面棱柱,根据它们的位置计算顶点法线(“平滑着色"),它看起来还不错. 如果您将一个圆锥体细分为一个 8 面金字塔,并根据它们的位置计算法线,您会卡在圆锥体的尖端(技术上是圆锥体的顶点,但我们称它为尖端以避免与网格顶点). 对于每个三角形面,您希望匹配两条边的法线.但是因为您只能在三角形的每个顶点指定一条法线,所以您可以匹配一条边或另一条边,但不能同时匹 ..
发布时间:2022-01-14 15:44:28 其他开发

Java中是否有像Rectangle类这样的circle类

嘿,我正在编写一个快速程序,但遇到了一些需要使用圆圈进行碰撞检测的地方.但据我所知,只有 Rectangle 类具有 .intersects(Point p) 方法.有没有类似圆圈的东西可以用同样的方式使用? 解决方案 有一个类叫Ellipse2D 在您可以使用的 java.awt.geom 包中,因为它有一些看起来像您的方法重新寻找.宽度等于高度的椭圆是圆. contains 的其 ..
发布时间:2022-01-14 15:44:20 Java开发

计算列表中两点最大距离的最有效方法是什么?

我有一个 L 点列表 (x, y) 和通常的欧几里德距离度量 如何在此列表中找到两点的最大距离?或者,更正式地说:我如何找到 简单的方法 解决这个问题最简单的方法似乎是尝试一切: def find_max_dist(L):max_dist = d(L[0], L[1])对于范围内的 i (0, len(L)-1):对于范围内的 j (i+1, len(L):max_dist = ..
发布时间:2022-01-14 15:44:10 其他开发

Code Golf:为我打造一条弧线

挑战 接受X-Y R形式的标准输入的按字符计数最短的程序,具有以下保证: R是小于等于8的非负十进制数 X 和 Y 是非负角,以十进制表示,为 45° 的倍数.(0、45、90、135等) X 小于 Y 如果 X 是 0 ,则 Y 不是 360 并在标准输出上生成一个从起始角度 X 到半径 R 的结束角度 Y 的 ASCII“弧",其中: 圆弧的顶点用o 表示0和 ..
发布时间:2022-01-14 15:44:01 其他开发

如何获得 4D 网格的 3D 横截面?

我有一个 polychoron 表示为一个四维网格,与面部一起存储-顶点法.所有的面都是三角形.怎样才能得到图形的三维横截面? 我发现的最接近的是这个问题,但它是一维短的. 解决方案 使用 4 个维度有点困难. 解决问题的唯一方法是找到维度类比. 让我们从二维开始 凸二维多边形具有凸一维边:线段. 填充的凸多边形的横截面是一条线段. 计算你的 polig ..
发布时间:2022-01-14 15:43:54 其他开发

重心坐标三角点试验的数值稳定性

在查看三角点测试(2D 案例)的各种方法时,我发现使用重心坐标的方法是最常用的一种.这里是解释它的 StackOverflow 答案. 为什么这种方法是最受欢迎的方法?这可能与减少计算有关,但数值稳定性呢?对于点特别靠近边界的情况,这种算法是否比“同侧"技术更适合? 解决方案 如果你解决了: p = p0 + (p1 - p0) * s + (p2 - p0) * ts = ..
发布时间:2022-01-14 15:43:45 其他开发

快速线路查询的数据结构?

我知道我可以使用 KD-Tree 来存储点并快速迭代其中靠近另一个给定点的一小部分.我想知道线条是否有类似的东西. 给定 3D 中的一组行 L(要存储在该数据结构中)和另一个“查询行"q,我希望能够快速遍历 L 中的所有行与 q “足够接近".我打算使用的距离是两点 u 和 v 之间的最小欧几里得距离,其中 u 是第一行的某个点,v 是第二行的某个点.计算该距离不是问题(有一个涉及叉积的好技 ..
发布时间:2022-01-14 15:43:28 C/C++开发

如何将点映射到扭曲的网格上

假设您有一个坐标在笛卡尔坐标系上的点的集合. 您想绘制另一个点,并且您知道它在同一个笛卡尔坐标系中的坐标. 但是,您绘制的情节与原始情节有所不同.想象一下,将原始平面打印在橡胶纸上,并以不对称的方式(没有重叠或任何复杂的方式)在某些地方拉伸它并在其他地方捏合它. (来源) 您知道每个点集的拉伸和未拉伸坐标,但不知道底层的拉伸函数.你知道一个新点的未拉伸坐标. 如何根据 ..
发布时间:2022-01-14 15:43:04 其他开发

如何用 CSS 绘制一个不完整的圆圈以及如何在其中放置图片?

如何使用 CSS 和图像创建一个带有切口的圆圈?我想要的示例如下所示.需要一个跨浏览器解决方案,并且使用 css 而不是 html. 解决方案 您可以通过使用伪元素创建圆然后使用 overflow: hidden 倾斜容器来做到这一点. 子伪元素被反向倾斜,使其看起来好像根本没有倾斜. .shape {位置:相对;高度:100px;宽度:120px;溢出:隐藏;-webkit ..
发布时间:2022-01-14 15:42:45 前端开发

Sphere - 球体碰撞检测 ->反应

我需要制定一个算法来检测两个球体何时发生碰撞,以及碰撞后一个球体的方向. 假设,想象一下,当您在一场台球比赛中打开桌子时,所有的球都“随机"地相互碰撞. 所以,在开始自己编写代码之前,我在想是否已经有这样的实现. 提前谢谢! Cyas.- 解决方案 碰撞部分很简单.检查球心之间的距离是否小于它们的半径之和. 至于反弹,您需要交换对垂直于球体碰撞的总速度有贡献的 ..
发布时间:2022-01-14 15:42:21 其他开发

如何在Java中绘制一个实心圆?

我有一个带有网格布局的 JPanel.在网格的“单元格"中,我可以放置不同的元素(例如 JButtons).没有问题.但现在我想在一些单元格中放置一个实心圆圈.我还想将 ActionListener 与这些圈子联系起来.更详细地说,如果我单击圆圈,它将从当前单元格中消失并出现在另一个单元格中.我怎样才能在Java中做到这一点?我正在使用 Swing. 解决方案 public void pa ..
发布时间:2022-01-14 15:42:05 Java开发

将 n 个点均匀地分散在球面上

我试图在一个球体上分散 n 个点,这样每个点都有“围绕"它的“相同"区域.基本上,我试图通过评估 n 个点并假设每个区域元素相同(并且等于 4pi r^2/n)来在球体上集成一个函数. 我的问题与这个非常相关,但我似乎无法同意“已接受"答案中提供的代码按预期工作(参见附图,通过选择 R = 1000,nx = ny = 40 生成).显然,我的观点更集中在两极,而在赤道沿线非常不集中. ..
发布时间:2022-01-14 15:41:58 其他开发

GNUPLOT:在球体表面上绘图

我有一个依赖于 phi 和 theta 的函数,我想将其绘制在球体的表面上.日期存储在带有列的 .txt 文件中: 1: x = R*sin(theta)*cos(phi)2:y = R*sin(θ)*sin(phi)3:z = R*cos(θ)4:密度 我使用以下 gnuplot 代码进行绘图: 设置终端 wxt 大小 800,800设置映射笛卡尔设置视图等于 xyz设置 xlabel ' ..
发布时间:2022-01-14 15:41:52 其他开发

用有限数量的线段和圆弧逼近曲线

是否有任何算法允许在 x-y 平面(即由 x 和 y 定义的有序点集)上用有限数量的线段和圆弧(恒定曲率)来近似路径?生成的曲线需要为 C1(斜率连续性). 最大数量或段和弧可以是一个参数.另一个有趣的约束是防止两个连续的圆弧没有中间线段连接它们. 我没有看到任何方法可以做到这一点,我认为不存在实现它的方法,但欢迎对此目标的任何暗示. 示例: 此处提供示例文件 考虑这 ..
发布时间:2022-01-14 15:41:44 其他开发

圆-圆碰撞预测

我知道如何检查两个圆是否相交.但是,有时圆圈移动得太快,最终会避免在下一帧发生碰撞. 我目前对该问题的解决方案是检查前一个位置和当前位置之间的任意次数的圆-圆碰撞. 有没有一种数学方法可以计算出两个圆相撞所需的时间?如果我能够得到那个时间值,我可以将圆圈移动到当时的位置,然后在那个点碰撞它们. 编辑:恒速 解决方案 我假设圆的运动是线性的.假设圆 A 的中心位置由向量方程 ..
发布时间:2022-01-14 15:41:31 其他开发

点相对于贝塞尔曲线的位置

我有一条由 4 个点指定的贝塞尔曲线.我需要知道一个点是在贝塞尔曲线的左侧还是右侧.能给我推荐一个算法吗? 编辑:我确定我生成的方式贝塞尔曲线不会形成循环. 稍后编辑 我意识到我最初的问题可以在不使用相对位置的情况下解决.当我发布这个问题时,我在想有一个相对位置的数学公式,类似于检查一个点是否在圆的内部.似乎这是不可能的.所以我会接受答案,这将提出一个省时的解决方案. 解决方案 ..
发布时间:2022-01-14 15:41:22 其他开发

在 3D 空间中的点之间进行插值以形成光滑表面的简单方法

我试图想出一种简单而有效的方法来创建一个与多个给定“样本"点相交的光滑表面. 对于表面上的任何 X、Y 点,我在 4 个方向中的每个方向(X 轴上的下一个较高点和较低点,然后是 Y 轴)中识别出最多 4 个采样点.鉴于这一点,我想要一种方法来计算在 4 个样本点之间插值的 Z 值. 当然,在给定 4 个采样点中任何一个的 X、Y 位置的情况下,该算法应该输出该点的 Z 值.另请注意,样 ..
发布时间:2022-01-14 15:41:15 其他开发