抱歉,如果这可能要求太多,但是是否有功能在下面和之后生成此序列?它们不是随机的,但它们的序列可能会稍微重新排列。
Origin
(0, 0, 0);
https://i.imgur.com/8k6407q.png
Layer 1;
(0, -1, 0);
(-1, 0, 0);
(1, 0, 0);
(0, 0, -1);
(0, 0, 1);
(0, 1, 0);
https://i.imgur.com/PmqYM0o.png
Layer 2;
(0, -2, 0);
(-1, 0, 1);
(1, 0, 1);
(-1, 0, -1);
(1, 0, -1);
(-2, 0, 0);
(2, 0, 0);
(0, 0, -2);
(0, 0, 2);
(-1, -1, 0);
(1, -1, 0);
(0, -1, -1);
(0, -1, 1);
(-1, 1, 0);
(1, 1, 0);
(0, 1, -1);
(0, 1, 1);
(0, 2, 0);
https://i.imgur.com/EVc0ZOW.png 第4层:https://i.imgur.com/70HyB7E.png
任何编程语言对我都没问题。
这是用于从原点生成3D网格图层。
答案 0 :(得分:3)
因此,您希望生成一系列与原点相同的曼哈顿距离的单元格坐标。
将距离D(1,2,3,4 ......)的DX12生成三部分(包括零部分)。对于D = 2个分区,sdkmesh
和(0,1,1)
然后,对于每个分区,在k个非零项(0,0,2)
之间生成2 ^ k个+/-符号分布
然后,为每个分布生成所有排列(0,1,1)=>(0,-1,-1),(0,1,-1),(0,-1,1),(0,1,1)
等
作为更简单的变体 - 生成分配项目顺序(partitions)的分区,然后分发符号。
注意 - (0,1,1) => (0,1,1), (1,0,1), (1,1,0)
方法(硬编码分区分为3个部分)非常好。