【问题标题】:Index arithmetic - Fast converting index to 3D coordinates索引算法 - 快速将索引转换为 3D 坐标
【发布时间】:2015-10-05 00:24:50
【问题描述】:

在 C++ 中将具有这种格式的索引转换为 X、Y 和 Z 坐标并返回的最快方法是什么?

编辑

例如,我想为索引 15 获取数字 X=0、Y=1、Z=2,为索引 17 获取数字 X=2、Y=1、Z=2,为索引 22 获取数字数字 X=1,Y=2,Z=1。

我需要这个来模拟一个多维数组。

【问题讨论】:

  • 你想转换成什么?你尝试了什么?

标签: c++ indexing logarithm


【解决方案1】:

收件人:

x = index % 3;
y = index / 3  % 3;
z = index / 9;

返回:

index = ((z) * 3 + y) * 3 + x;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 2018-07-23
    • 2021-03-01
    • 2021-02-16
    • 1970-01-01
    相关资源
    最近更新 更多