首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有限元着色机

有限元着色机
EN

Software Engineering用户
提问于 2015-09-29 16:42:57
回答 2查看 276关注 0票数 1

我正在为一个空间喷气式排气撞击解决器的几何包装工作。解决方案的一个关键部分是确定喷气式飞机能“看到”什么,从而击中什么。我的模型是分组的节点或网格排列在3或4个边元素,进一步分组为身体。对身体的阴影是通过外部的正面法线处理,运行非常快,即背面检测。当前,通过将所有可见点投影到元素的平面上,并对元素轮廓中包含的点进行阴影,以使z值大于到元素的距离来完成对体的阴影。这个手术很慢。

我目前的基准只处理大约每秒3000个元素。我知道我的代码中肯定有严重的低效率,但我觉得这是因为方法不太好。我基本上检查每个点,直到它是阴影或我用尽了元素,所以它是可见的。循环内循环和另一个循环检查,以进行自我跟踪。

我研究了三维凸起船体和点集的直接可见性。此外,我还研究了隐藏点清除。正如预期的那样,大部分讨论都是关于3D呈现的应用程序的。我没有这个。所有信息都由CPU处理,从未呈现。

我需要关于如何有效地建立/接近这样一个阴影的建议。什么事情做得好,什么事要避免。我无法访问将运行最终解决方案的计算机上的图形硬件。如果重要的话,我目前正在Linux系统上使用C/C++。

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2016-09-27 19:41:14

在研究了各种方法进行剔除和隐藏点清除,结果表明,我的方法是好的。问题是把空间划分成这样,我并不是不断地观察每一个表面的每个点。我决定使用的技术称为OctreeOctree适用于我的情况,因为我有一个大的中央模型是不变的,很少有小项目可以移动。大模型提前被划分为体积元素。如果在给定的体积中有足够的点和元素,则沿着中心平面再细分为8个卷。使用树只是从源到点跟踪射线的问题,并检查每个相交的卷中是否有阻止光线的元素。这就消除了绝大多数的计算。不相交的卷元素将被忽略。八叉树简介维基百科

票数 0
EN

Software Engineering用户

发布于 2015-10-05 17:32:49

我相信你会得到其他好的答案,但在我的经验(射线追踪),它总是有助于准确地看到什么需要时间,并它的技术,我和其他人使用。

除了消除不必要的内存管理等明显的修正之外,我发现从一条射线到另一条射线的决策和计算序列具有很强的相似性。这种相似之处可以被用来大大加快速度。在你的情况下,可能会有类似的事情发生。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/298561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档