Graphics AABBs不是我想要的吗?

Graphics AABBs不是我想要的吗?,graphics,rendering,physics,Graphics,Rendering,Physics,如果轴对齐的边界框轴必须与世界轴对齐,则它们可能不适用于旋转的框,因此它们不与世界轴对齐 我如何克服这个问题 编辑: 报纸上说: 每个模拟对象都表示为与轴对齐的边界框 所以每个碰撞对象都有一个位置,以及一个高度、宽度和长度。 这些轴依次考虑,如果所有三个轴都重叠,则为交点 已经发生了 我理解错了吗?您可以使用与任何坐标系对齐的边界框。只要它们都与同一系统对齐,就可以使用AABB方法 计算边界框相对较快。您可以根据对象中的点数在O(n)时间内完成此操作 min_x = min_y = min_z

如果轴对齐的边界框轴必须与世界轴对齐,则它们可能不适用于旋转的框,因此它们不与世界轴对齐

我如何克服这个问题

编辑: 报纸上说:

每个模拟对象都表示为与轴对齐的边界框 所以每个碰撞对象都有一个位置,以及一个高度、宽度和长度。 这些轴依次考虑,如果所有三个轴都重叠,则为交点 已经发生了


我理解错了吗?

您可以使用与任何坐标系对齐的边界框。只要它们都与同一系统对齐,就可以使用AABB方法

计算边界框相对较快。您可以根据对象中的点数在O(n)时间内完成此操作

min_x = min_y = min_z = MAX_NUMBER
max_x = max_y = max_z = MIN_NUMBER
foreach(point in object):
    // transform point to desired coordinate system
    p2 = transform(point)
    if(p2.x < min_x ):
       min_x = p2.x
    if(p2.x > max_x ):
       max_x = p2.x
    if(p2.y < min_y ):
       min_y = p2.y
    if(p2.z > max_z ):
       max_z = p2.z
    if(p2.z < min_z ):
       min_z = p2.z
    if(p2.z > max_z ):
       max_z = p2.z
min_x=min_y=min_z=MAX_数
最大x=最大y=最大z=最小数量
foreach(对象中的点):
//将点转换为所需的坐标系
p2=变换(点)
如果(p2.x<最小值x):
最小值x=p2.x
如果(p2.x>最大值x):
max_x=p2.x
如果(p2.y<最小值y):
最小值y=p2.y
如果(p2.z>最大值):
max_z=p2.z
如果(p2.z最大值):
max_z=p2.z

边界框将由(min_x,min_y,min_z)…(max_x,max_y,max_z)给出。

您可以使用与任何坐标系对齐的边界框。只要它们都与同一系统对齐,就可以使用AABB方法

计算边界框相对较快。您可以根据对象中的点数在O(n)时间内完成此操作

min_x = min_y = min_z = MAX_NUMBER
max_x = max_y = max_z = MIN_NUMBER
foreach(point in object):
    // transform point to desired coordinate system
    p2 = transform(point)
    if(p2.x < min_x ):
       min_x = p2.x
    if(p2.x > max_x ):
       max_x = p2.x
    if(p2.y < min_y ):
       min_y = p2.y
    if(p2.z > max_z ):
       max_z = p2.z
    if(p2.z < min_z ):
       min_z = p2.z
    if(p2.z > max_z ):
       max_z = p2.z
min_x=min_y=min_z=MAX_数
最大x=最大y=最大z=最小数量
foreach(对象中的点):
//将点转换为所需的坐标系
p2=变换(点)
如果(p2.x<最小值x):
最小值x=p2.x
如果(p2.x>最大值x):
max_x=p2.x
如果(p2.y<最小值y):
最小值y=p2.y
如果(p2.z>最大值):
max_z=p2.z
如果(p2.z最大值):
max_z=p2.z

边界框将由(min_x,min_y,min_z)…(max_x,max_y,max_z)给出。

我编辑了我的问题我编辑了我的问题