C++ 如何使用PhysX数据计算韦伯数?
我正在开发一个非照片级真实感水渲染演示,使用PhysX作为底层物理解算器(使用其SPH模拟),并希望添加泡沫和水滴渲染以增强其视觉效果 首先,我使用相邻粒子的数量作为阈值,将它们分为多个组(水、泡沫和液滴),并以不同的方式渲染每个组,但通过阅读一些研究论文,我得出结论,使用更基于物理的方法会更好,因此输入韦伯数 以下参数用于获取韦伯数,所有参数均与特定粒子或整个流体相关:C++ 如何使用PhysX数据计算韦伯数?,c++,physics,game-physics,physx,C++,Physics,Game Physics,Physx,我正在开发一个非照片级真实感水渲染演示,使用PhysX作为底层物理解算器(使用其SPH模拟),并希望添加泡沫和水滴渲染以增强其视觉效果 首先,我使用相邻粒子的数量作为阈值,将它们分为多个组(水、泡沫和液滴),并以不同的方式渲染每个组,但通过阅读一些研究论文,我得出结论,使用更基于物理的方法会更好,因此输入韦伯数 以下参数用于获取韦伯数,所有参数均与特定粒子或整个流体相关: 密度 相对速度(相对于周围空气) 特征长度 表面张力 密度和相对速度由PhysX提供,我已经得到了。密度是一个浮点值,而
- 密度
- 相对速度(相对于周围空气)
- 特征长度
- 表面张力
- 我相信韦伯数必须是一个浮点值,所以我可以使用它作为一个阈值,将粒子分成若干组。这里的第一个问题是,要得到它,我需要使用PhysX提供的相对速度,它是一个有3个浮点值的向量。我怎样才能得到这个向量的一个浮点值,并将其用于给出韦伯数的方程中
- 阅读了一些研究论文(特别是第3.2.1节),我决定对粒子特征长度和表面张力使用固定值。问题是,我应该使用哪些值,并且假设这些值有理想值,我如何才能得到这些理想值
- 对于速度,可以使用矢量的绝对值
- 对于特征长度,您可能应该使用液滴/泡沫大小,因为这似乎是模型中长度的唯一度量
- 在不太了解您的应用程序的情况下,通常使用像韦伯这样的无量纲数字将系统分为低值或高值状态。对于这些应用程序,精确值并不重要。关键是,高值表示该情况与低值情况在性质上不同。当然,当数字介于两者之间时,这就成了问题,例如,在统一附近。
对系统进行分类的好处是,它允许您进行近似计算,通常可以简化所涉及的公式之类的事情
既然你似乎只是把韦伯的数字用于分类,我想这也与你有关
因此,从物理背景回答您的问题,特别是考虑到您的目标不是现实主义,使用近似值对情况进行分类以简化计算似乎是对无量纲数字(如韦伯(可能还有其他)的一种很好的使用