相关疑难解决方法(0)

在MATLAB中用小方块填充整个立方体的体积

我在MATLAB中构建了一个空心立方体,我想用小立方体完全填充其体积.然后我想找到一种方法来访问这些立方体并通过它们制作路径,即如果当前访问了立方体x,应该有一种方法可以知道它的右边,左边,顶边,底边,前面和后面最近的邻居是什么(最近邻居=直接在当前立方体旁边的立方体).我想我们有6个邻居,因为我们有6个不同的立方体面.

通过知道每个方向上最近的立方体,可以将通过立方体的路径定义为一系列步骤(例如,右,左,左,顶,右,前).我认为能够访问每个小立方体并移动到附近我们需要在矩阵中表示小立方体(可能是3D),如果一个小立方体在其右边有一个邻居立方体x,那么在矩阵中,x将出现在小立方体的当前列旁边的列中.此外,如果在另一深度层存在直接邻居(相同的x,y坐标但不同的z坐标,例如,前邻居和后邻居),则应指示.是否有更简单的方法来识别邻居?

我已经通过rayryeng获得了一个代码(构建一个空心立方体并在MATLAB中用小立方体填充)以在大的立方体中随机填充许多小立方体并构建一个3D矩阵,其中矩阵的每个切片(深度)代表一个小立方体以及每个切片(8行和3列)的行和列表示每个小立方体的顶点的xyz坐标.请查看我提供的问题链接以查看代码.

我想对代码进行两次修改,

1-以有组织的方式用小立方体填充大立方体,而不是随机.

2-调整3D矩阵以表示小立方体如何彼此相邻.

我试图调整链接问题中的代码以有组织的方式填充多维数据集.这是我的试用版(我在for循环中添加了if else),

   clf;
figure(1);
format compact 
h(1) = axes('Position',[0.2 0.2 0.6 0.6]);

%These are the different 8 vertices of the cube, each is defined by its 3 x
%y z coordinates:
vert = [1 1 -1; 
        -1 1 -1; 
        -1 1 1; 
        1 1 1; 
        -1 -1 1;
        1 -1 1; 
        1 -1 -1;
        -1 -1 -1];
%These are the 6 faces of the cube, each is defined …
Run Code Online (Sandbox Code Playgroud)

3d graphics matlab matrix nearest-neighbor

4
推荐指数
1
解决办法
1733
查看次数

标签 统计

3d ×1

graphics ×1

matlab ×1

matrix ×1

nearest-neighbor ×1