You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修正一维索引转3D坐标的函数?Python CPU体素光线追踪

解决方案

修正后的index_vec3函数如下,仅需调整Y轴的计算逻辑即可:

def index_vec3(i: int, width: int, height: int):
    x = i % width
    y = (i // width) % height
    z = i // (width * height)
    return x, y, z

逻辑说明

  • X轴:保留原逻辑i % width,每width个索引X值会从0到width-1循环,延续2D版本的正确映射规则。
  • Y轴:先通过i // width得到X轴循环后的累计计数,再对height取模,确保每个Z层内的Y值都会从0重新开始计数,避免跨Z层后持续递增。
  • Z轴:保留原逻辑i // (width * height),每width*height个索引对应一个完整的XY平面,此时Z值递增1。

验证示例

以4x4x4立方体为例,遍历range(0,64)时,i=16会返回(0,0,1),i=17返回(1,0,1),以此类推,每个Z层的Y值都会从0到3循环,完全符合空间坐标映射需求。

内容的提问来源于stack exchange,提问作者MirceaKitsune

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 08:00:09