将模拟集中在[0.5,0.5,0.5]中,盒大小为1是否存在缺陷?
Is it a defect to center a simulation in [0.5, 0.5, 0.5] with a box size of 1?
我是一名数值物理学家,我在我的社区里看到过一些模拟代码,它们使用一个3D模拟盒,中心是[0.5, 0.5, 0.5]
,规范化长度是1
(所以盒子坐标从0.
到1.
)。在这个方框中进行了大量的物理计算,通常需要尽可能高的精度。
我认为做这样的事情可以被视为一种缺陷,但我想得到确认。我倾向于认为这是一个缺陷,因为我们在0.
附近有更多的数值精度,数值精度在整个框中没有很好地平衡。
要有一个好的平衡我认为这样的盒子:
- 应该以
0.
为中心(从-0.5
到0.5
),如果你想在框的中心获得对称精度 - 应该以
1.5
为中心(从1.
到2.
),如果你想在整个框 中获得准均匀的精度
你是对的。
从1.0到2.0的精度在整个表面上是均匀的,就像你在使用固定点一样。
从-0.5到0.5的精度在中心点附近最高,在边缘附近较低(但仍然很好)。
从0.0到1.0的精度将在(0.0,0.0)角附近最高,在(1.0,1.0)角附近最低,因此它将以稍微不均匀的方式表现
相关文章:
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- 是否可以从int转换为enum类类型
- 无论条件是否为true,if总是在c++中执行
- 检查 std::shared_ptr<> 的当前底层类型是否为 T
- gcc和clang在表达式是否为常量求值的问题上存在分歧
- 检查TCHAR数组输入是否为带符号整数C++
- 搜索一组点,其长度总和最小为矩形.算法是什么
- 检测几乎为零并将其替换为 0.0 或将它们保留为小数字是否更快?
- 内存管理 - 添加小部件是否分配父级
- 问题:如何检测小部件是否被选中
- 递归函数的最小空间复杂度是否为 O(N)
- 如何知道小部件是否只接受数字字符
- 将 size() 调整为较小的大小是否会丢弃早期 reserve() 所做的保留
- 为小部件存储画家是否有意义
- 当 A 和 B 没有共同祖先时,通过 dynamic_cast 从 A* 转换为 B* 是否有效?
- 如何决定是否为窗口的小部件创建一个单独的类
- 将模拟集中在[0.5,0.5,0.5]中,盒大小为1是否存在缺陷?
- 通过引用返回stl map的正确方法/此行为是否定义良好?
- "位字段类型对于位数来说太小"错误是否属于C++标准?
- 将函数的返回类型声明为 T&&& 是否毫无意义?