gpt4 book ai didi

c++ - 如何使用 PhysX 数据计算韦伯数?

转载 作者:行者123 更新时间:2023-11-30 05:48:02 33 4
gpt4 key购买 nike

我正在使用 PhysX 作为基础物理求解器(使用它的 SPH 模拟)开发一个非真实感水渲染演示,并希望添加泡沫和水滴渲染以增强其视觉效果。

首先,我使用相邻粒子的数量作为阈值将它们分成几组(水、泡沫和水滴),并以不同的方式渲染每组,但阅读一些研究论文后我得出结论,使用更多基于物理的方法会更好,因此输入韦伯数。

以下参数用于获取韦伯数,都与某个粒子或整个流体有关:

  • 密度
  • 相对速度(相对于周围空气)
  • 特征长度
  • 表面张力

密度和相对速度是PhysX提供的,我已经拿到了。虽然密度是一个浮点值,但速度是一个包含 3 个浮点值的 vector ,每个值对应 3D 空间的每个轴(x、y 和 z)。没有提供特征长度和表面张力,很硬(或者如果提供了我不知道如何得到它们)。

所以,我的问题是:

  • 我认为韦伯数必须是一个浮点值,所以我可以将它用作将粒子分成几组的阈值。这里的第一个问题是,要获得它,我需要使用 PhysX 提供的相对速度,它是一个具有 3 个浮点值的 vector 。我怎样才能得到这个 vector 的单个浮点值,以便在给出韦伯数的方程中使用它?
  • 阅读一些研究论文(特别是 this one,在第 3.2.1 节中)我决定对粒子特征长度和表面张力使用固定值。问题是,我应该使用哪些值,假设这些值存在理想值,我怎样才能达到这些理想值?

最佳答案

在不太了解您的应用程序的情况下,通常使用无量纲数字(如 Weber 的数字)将系统分类为低值(value)或高值(value)体系。对于这些应用程序,确切的值并不重要。关键是,高值表明情况与低值情况有质的不同。当然,当数字介于两者之间时,这就会成为问题,即。围绕团结。对系统进行分类的好处是它允许您进行近似,通常可以简化所涉及的公式等事情。

由于您似乎仅将韦伯数用于分类,因此我认为这也与您相关。

因此,从物理背景回答你的问题,特别是考虑到你在这里不是为了现实主义,使用近似值对情况进行分类以简化计算似乎很好地使用了无量纲数,如韦伯(可能还有其他人) ).

  • 对于速度,您可以使用 vector 的绝对值。
  • 对于特征长度,您可能应该使用液滴/泡沫气泡的大小,因为这似乎是您模型中唯一的长度度量。

特别是,我不太担心“理想值”。近似值适用于大值/小值(取决于所需的准确性/真实性,例如 >~10 和 <~0.1),因此 2 的因子不会对分类产生影响。如果是这样,则该近似值无论如何都无效。

关于c++ - 如何使用 PhysX 数据计算韦伯数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28395536/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com