import math

计算两点之间的距离

def distance(p1, p2): return math.sqrt((p2[0]-p1[0])**2 + (p2[1]-p1[1])**2 + (p2[2]-p1[2])**2)

计算需要多少个立方体

def num_cubes(p1, p2): d = distance(p1, p2) return math.ceil(d)

计算每个立方体的最小值和最大值

def calculate_cube_bounds(p1, p2, num_cubes): bounds = [] dx = (p2[0]-p1[0]) / num_cubes dy = (p2[1]-p1[1]) / num_cubes dz = (p2[2]-p1[2]) / num_cubes

for i in range(num_cubes):
    min_x = p1[0] + i*dx
    min_y = p1[1] + i*dy
    min_z = p1[2] + i*dz
    max_x = min_x + 1
    max_y = min_y + 1
    max_z = min_z + 7
    bounds.append([(min_x, min_y, min_z), (max_x, max_y, max_z)])

return bounds

测试代码

p1 = (0, 0, 0) p2 = (10, 10, 10)

num = num_cubes(p1, p2) bounds = calculate_cube_bounds(p1, p2, num)

for i, b in enumerate(bounds): print(f"Cube {i+1}:") print(f"Min: {b[0]}") print(f"Max: {b[1]}") print()

panda3d计算从一个点000到另一个点101010之间从一个点000往另一个点101010的方向设置数个个数要根据长度计算不重叠连续的的长宽高为117的几个立方体到另一个点101010并把每个立方体的最小值和最大值打印在控制台出来不用真正创建出来立方体只是为了获取立方体的最小最大值完整代码

原文地址: https://www.cveoy.top/t/topic/i4Qx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录