在 3D 矩阵中的位置
Posted
技术标签:
【中文标题】在 3D 矩阵中的位置【英文标题】:Position in 3D matrix 【发布时间】:2013-02-04 14:44:27 【问题描述】:我有 3D 数据结构。其中我有值:0 - n^3。 例如:如果 n = 3,则 A[3][3][3] 将包含值 0 - 26。
现在我想知道 0 - 26 范围内随机值的位置(i,j,k from A[][][] -> 没有任何循环和迭代。
例如,如果我给出 1,函数应该返回 0,0,1。
谁能帮我解决这个问题?
【问题讨论】:
你可以用基本的算术计算出来。您可能缺少的唯一想法是模数%
运算符
我只是好奇你是如何拟合从 0 到 27 到 3x3x3 矩阵的值
这个数组数组中的值 [0,27) 的顺序是什么?你只是举了一个例子 1 -> 0,0,1 并没有很具体。
@user902383 :应该是 0 - 26 !我的错。
@sellibitze: A[][][] 看起来像这样:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 时我给出 0 - 26 之间的任何数字。它应该返回我在矩阵中的位置。
【参考方案1】:
提示:使用余数运算符 (%
)。 (例如5 % 3 == 2
、5 / 3 == 1
)
【讨论】:
感谢您的提示。必须对其进行改进以获得通用行为。但完全有帮助。以上是关于在 3D 矩阵中的位置的主要内容,如果未能解决你的问题,请参考以下文章
如何在opengl中计算给定3D点及其2D屏幕位置的投影/模型视图矩阵
使用 Python 从 3D 中的六个点确定齐次仿射变换矩阵