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)给出。我编辑了我的问题我编辑了我的问题