找到覆盖在 3D 高度图上的圆的一组点

2023-12-25

我有 NxN 值的高度图。

我想找到一个给定点 A(红点),其 x 和 y 坐标给定(并且 z 从数据中已知,因此 A 是曲面的顶点)位于圆周上的一组点以 A 为中心、以 R 为半径的圆的形状,它是覆盖在数据点描述的假想表面上的圆形“布”(灰色)的良好近似值。

采样,即我试图找到的点集之间的倒数距离,不需要是均匀的,但我仍然想至少找到网格边缘与网格边缘相交的所有点距 A 距离为 R 的圆。

如何找到这组点呢?

这是一个已知问题吗?

3d height map with circle draped
(source: keplero.com http://www.keplero.com/upps/grid.jpg)

-- edit

Jan 使用的假设是正确的:样本形成一个与 [0,0] 对齐的规则矩形或正方形网格(在 X-Y 平面中)。但我想考虑 Z 方向的位移来计算距离。您可以将高度图视为地形,而我正在寻找的算法作为向探险家提供的说明,该探险家仅在给定纬度或经度的路径上行进,标记距 A 距离为 R 的点。步行距离,这考虑了迄今为止完成的所有 Z 位移。探险家也在山谷中攀登和下山。

简单的算法是这样的。我们知道,给定 R,x 轴和 y 轴上的最大位移对应于完全平坦的表面。如果没有斜率,x、y 点将全部位于边界正方形 Ax-R

此时,它将开始行进到附近的单元格,因为如果周界进入网格的一个单元格的边缘,它也必须离开该单元格。


我认为以精确的方式解决这个问题非常困难,因此我建议尝试直接的方法来模拟探险家在地面上采取的路径。

鉴于你的出发点A和行驶距离d, 计算一个圆的点P在 XY 平面上d from A.

对于每个点p in P,与线段相交A-p与你的网格,这样你最终会得到一系列点,探险家从一个网格方块穿过到下一个网格方块,如果探险家从一个网格方块出发,则会发生这种情况A。然后,应通过网格数据插值为这些点指定 z 坐标。 因此,您可以前进通过此点序列并跟踪迄今为止行驶的距离。最终将达到目标距离 - 调整p就在此时。

P 现在包含您要查找的周长。调整样本保真度(大小P)根据您的需要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找到覆盖在 3D 高度图上的圆的一组点 的相关文章

  • 给定一个点向量(可能无序),找到多边形(不是凸包)

    我目前有一个点向量 vector
  • 加速球之间的碰撞检测

    我正在编写一个物理引擎 模拟器 其中包含 3D 太空飞行 行星 恒星引力 船舶推力和相对论效应 到目前为止 一切进展顺利 但是 我需要帮助的一件事是碰撞检测算法的数学 我使用的运动迭代模拟基本上如下 注意 3D 矢量全部大写 For eac
  • 直观地执行不同的排序算法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 有人知道如何在android中实现像Unfold(这是iphone中的应用程序)这样的效果吗?

    我怎样才能实现这个效果呢 任何建议都会对我有帮助 None
  • 图像算法上的物体计数

    我又接到学校任务了 这次 我的老师给我的任务是创建算法来计算图片上有多少只鸭子 该图与此类似 我想我应该使用模式识别来搜索上面有多少只鸭子 但我不知道每只鸭子适合哪种图案 我认为你可以通过分割鸭嘴并计算鸭嘴的数量来解决这个问题连接的组件 h
  • 基本的 Python OpenCV 裁剪和调整大小

    有人可以帮我一些裁剪算法吗 它的 openCV 我想弄清楚这一点 我知道方法是crop image y y1 x x1 如果我有一个带有 new dimensionXxnew dimensionY 像素的图像 并且我想将其裁剪为相同的宽度
  • 有效地合并两个数组 - 一个已排序,另一个未排序

    我正在解决一个问题 该问题有一个由 n 个元素组成的排序数组 后跟一个未排序的长度数组 O logn O 平方 n 如何最有效地对整个列表进行排序 在上述两种情况下我应该使用哪种排序 由于将单个元素插入数组并保持其排序是O n 你不可能变得
  • 如何在 R 中导入并绘制三角形网格?

    我想在 R 中绘制我的模型输出 它是格式为的三角形网格 x1 y1 z1 x2 y2 z2 x3 y3 z3 value 每行代表一个三角形 我想用以下方法绘制这些三角形value作为规模 mymesh lt structure c 0 9
  • 在 C 中如何安全地找到 2 个有符号整数之间的绝对差?

    绝对差是两个数字之间差的绝对值 假设我有 2int变量 x and y 我想找到绝对差异 一个简单的解决方案是 unsigned diff abs x y 然而 如果发生溢出 这些会调用未定义的行为并给出不正确的结果 例如x is INT
  • 检查有效的 IMEI

    有人知道如何检查有效的 IMEI 吗 我找到了一个可以检查此页面的功能 http www dotnetfunda com articles article597 imeivalidator in vbnet aspx http www do
  • Python Pandas:沿一列比较两个数据帧,并返回另一个数据帧中两个数据帧的行内容

    我正在处理两个 csv 文件并作为数据框 df1 和 df2 导入 df1 有 50000 行 df2 有 150000 行 我想将 df2 的 时间 与 df1 求时间差并返回所有列的值 对应相似的行 保存在df3中 时间同步 例如 35
  • javascript的随机实现在各种浏览器中的可信度如何?

    我想做一些关于 javascript 和加密的实验 我很好奇随机函数的实现是如何不可预测的 有人做过硬测试吗 显然 浏览器有能力生成强随机性 对于 ssl 问题是它们是否赋予 javascript 相同的强度 一般来说 随机函数在加密方面并
  • “包含字符串”的快速索引

    在我的应用程序中 我有多达数百万个短字符串 大部分短于 32 个字符 我想实现一个带有附加列表的搜索框 该列表仅包含包含在搜索框中输入的整个字符串的元素 如何预先建立索引来快速找到此类字符串 所有排序的 STL 容器都会检查整个字符串 对于
  • 什么是“朴素”算法,什么是“封闭式”解决方案?

    我有一些关于描述算法时使用的术语语义的问题 首先 朴素 算法是什么意思 这与给定问题的其他解决方案有何不同 解决方案还可以采取哪些其他形式 其次 我听到很多人提到 封闭式 解决方案 我也不知道这意味着什么 但在尝试解决递归关系时经常会出现
  • 坐标算法 - 绕中心旋转

    通过查看这张图片 我想您会很好地理解我的问题 图片已删除 网址不再有效 现在返回广告 所以基本上我想要一个函数 它接受一个对象作为参数 并根据我之前添加的对象数量为该对象提供正确的坐标 假设我将所有这些对象添加到一个数组中 objectAr
  • 如何在C中实现带连分数的自然对数?

    这里我有一个小问题 根据这个公式创建一些东西 这就是我所拥有的 但它不起作用 弗兰基 我真的不明白它应该如何工作 我尝试用一 些错误的指令对其进行编码 N 是迭代次数和分数部分 我认为它会以某种方式导致递归 但不知道如何 谢谢你的帮助 do
  • Java 2d 游戏中的路径查找?

    本质上它是我正在开发的一款吃豆人克隆游戏 我有一个 Enemy 类 并创建了该类的 4 个实例 它们都代表游戏的 4 个幽灵 所有幽灵都会在屏幕的随机区域启动 然后它们必须朝着吃豆人角色前进 当玩家控制吃豆人并移动它时 他们应该跟随它并尽可
  • 重写修改后的 goto 语义的算法

    我有一大堆使用旧的自行设计的脚本语言编写的遗留代码 我们将它们编译 翻译成 javascript 该语言有条件跳转 跳转到标签 与普通 goto 语句的区别在于 不可能向后跳转 该语言中没有嵌套的 if 语句或循环 由于 javascrip
  • 我应该对算法使用递归还是记忆化?

    如果我可以选择使用递归或记忆来解决问题 我应该使用哪一个 换句话说 如果它们都是可行的解决方案 因为它们提供了正确的输出并且可以在我正在使用的代码中合理地表达 那么我什么时候会使用其中一个而不是另一个 它们并不相互排斥 您可以同时使用它们
  • 石和磅的格式正确吗?

    我有一个图表 用于显示重量 以英石和磅 lbs 为单位 该图表由记录中的数据填充 对于权重 数据类型为 Double 记录数据是在运行时编辑的 我需要知道一种正确格式化输入数据的方法 为了更好地理解 首先看一下这些示例值 它们表示为石和磅

随机推荐

  • 跨 docker 容器共享内存

    如果使用 Java MQ 类 而不是 JTA 将 Websphere MQ 用作 XA 分布式事务 事务管理器 则 Java 应用程序和 WMQ 都需要驻留在同一主机上 有人告诉我这是因为共享内存被用作进程间通信机制 Java 应用程序和
  • 将 Iterator<(A,B)> 拆分为 Iterator 和 Iterator

    我想分割实现的对象的输出Iterator lt A B gt 分成两个实现的对象Iterator a and Iterator b 由于其中一个输出的迭代次数可能多于另一个 因此我需要缓冲Iterator lt A B gt 因为我不能依赖
  • 将 Patreon API 与 Flutter 应用程序链接

    我对使用 Flutter 很陌生 在没有帮助的情况下从未正确使用过 API 我想让我的应用程序免费 没有大量广告 所以我希望创建一个 Patreon 来支持它的维护 当在线寻找教程视频或任何可用于 Flutter 或我知道如何使用的其他语言
  • 解释错误:“构造函数……无法应用:实际长度和形式长度不同”

    请帮我修复这个错误 类 C10h1 CollegeMember 中的构造函数 CollegeMember 不能 适用于给定类型 必需 java lang String java lang String 发现 没有参数 原因 实际论证和形式论
  • 在 Javascript 中增加 CSS padding-top 属性

    我有一个 CSS 定义为div myDiv padding top 20px padding bottom 30px 在 JS 函数中 我想增加padding top by 10px function DoStuff var myDiv d
  • Pandas 中的固定宽度文件操作

    我有一个具有以下格式的固定宽度文件 5678223313570888271712000000024XAXX0101010006461801325345088800 0784001501 25abc yahoo com 56782233246
  • Spring Mongodb使用DBRef关联获取数据

    我有一个带有嵌套 dbref 地址的零售商类 我想根据属于地址类一部分的城市获取零售商 但我遇到了以下错误 org springframework data mapping model MappingException 路径无效 参考地址
  • 在 Doctrine 中向当前表添加虚拟列?

    我正在使用 Doctrine 1 2 和 Symfony 1 4 假设我有一个用户模型 其中有一个配置文件 这些定义为 User id username password 创建时间 更新时间 Profile id user id 名 姓 a
  • 网络基础设施发现

    我想执行彻底的 LAN 设备发现 以便我可以创建一个与所附图表类似的图表 但包含 IP 和 MAC 地址等附加信息 我尝试过 Torry 的代码 type PNetResourceArray TNetResourceArray TNetRe
  • java.time.format.DateTimeParseException:无法在索引 21 处解析文本

    我得到的日期时间值为 created at 2012 02 22T02 06 58 147Z Read only The time at which this task was created 这是由 Asana 给出的API https
  • 更改 MVC4 上的基本视图类型

    我从下面的链接读到了一篇关于更改 MVC 上的基本视图类型的文章 http haacked com archive 2011 02 21 changing base type of a razor view aspx http haacke
  • 通过main中的内部类对象访问外部类变量

    class Host int x 2 class Helper int x 7 public static void main String args Host ho new Host Helper he ho new Helper Sys
  • Power BI (Power Query) Web 请求导致“CR 必须后跟 LF”错误

    当您使用Web Page Web Contents url 函数从网页中读取表格时 某些网站会因换行不一致而导致错误 DataSource Error 服务器违反了协议 部分 响应标头详细信息 CR 后必须跟 LF 似乎没有任何选项可以传递
  • Ember-data 延迟加载与“links”属性的关联

    我有一位模范老师 他有很多学生 模型定义如下 App Teacher DS Model extend email DS attr string students DS hasMany student App Student DS Model
  • Spring MVC 和 JSP:如何将参数从控制器传递到 JSP?

    我有 2 个 JSP 页面 在第一个页面中我有输入文本表单 我想显示在另一个 JSP 页面中插入的值 使用 Spring MVC 将要传输到下一页的变量放在隐藏字段中 将字段放在与您进入下一页相同的表单中 然后通过 JSTL 获取参数 这是
  • Visual Studio 诊断工具不显示进程内存

    我有一个 VB NET 应用程序 带有 C 库 随着时间的推移 它会消耗大量内存 最终应用程序耗尽内存 我对使用这个词持谨慎态度leaking因为 GC 不应该允许内存泄漏 但也许某处有一个大的 NET 对象 如果是这样我需要识别它 不过
  • 如何使用箭头函数(公共类字段)作为类方法?

    我是在 React 中使用 ES6 类的新手 之前我一直将我的方法绑定到当前对象 如第一个示例所示 但是 ES6 是否允许我使用箭头将类函数永久绑定到类实例 作为回调函数传递时很有用 当我尝试像使用 CoffeeScript 一样使用它们时
  • Java 8 可选时间部分不起作用

    我正在尝试为可选时间部分创建日期时间格式 目前我实现了这个 import java time import java time format DateTimeFormatter import java time format DateTim
  • 为什么总是有 isEmpty 而我 99% 的时间都使用 !isEmpty [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 这个问题困扰了我好一阵子 在编程过程中 经常会出现这样的问题 对象中是否存在某些东西 正因为如此 当时isEmpty发明的方法 很好 但在实践中
  • 找到覆盖在 3D 高度图上的圆的一组点

    我有 NxN 值的高度图 我想找到一个给定点 A 红点 其 x 和 y 坐标给定 并且 z 从数据中已知 因此 A 是曲面的顶点 位于圆周上的一组点以 A 为中心 以 R 为半径的圆的形状 它是覆盖在数据点描述的假想表面上的圆形 布 灰色