我正在尝试制作魔方的 3d 模型。
我最初使用 patch 命令尝试过
vert = [0 0 0; 0 1 0; 1 1 0; 1 0 0 ; ...
0 0 1;0 1 1; 1 1 1;1 0 1];
fac = [1 2 3 4; ...
2 6 7 3; ...
4 3 7 8; ...
1 5 8 4; ...
1 2 6 5; ...
5 6 7 8];
k = patch('Faces',fac,'Vertices',vert,'FaceColor','r'); % patch function
material shiny;
alpha('color');
alphamap('rampdown');
view(30,30);
但是由于我可能需要为每个表面赋予不同的颜色,所以我不得不多次使用 patch 命令两次。因此,当我想引用整个多维数据集时,我无法引用
我发现的另一种方法是使用plot::Box
MuPAD中的命令
plot(plot::Box(0..1, 0..1, 0..1, Filled = TRUE,
FillColor = RGB::Red),
plot::Box(1..2, 0..1, 0..1, Filled = TRUE,
FillColor = RGB::Red),
plot::Box(2..3, 0..1, 0..1, Filled = TRUE,
FillColor = RGB::Red),
plot::Box(0..1, 1..2, 0..1, Filled = TRUE,
FillColor = RGB::Red),
plot::Box(0..1, 2..3, 0..1, Filled = TRUE,
FillColor = RGB::Red),
plot::Box(2..3, 1..2, 0..1, Filled = TRUE,
FillColor = RGB::Red),
plot::Box(1..2, 2..3, 0..1,Filled = TRUE,
FillColor = RGB::Red),
plot::Box(2..3, 2..3, 0..1, Filled = TRUE,
FillColor = RGB::RED,),
Axes = None, Scaling = Constrained)
但是在这里我不能给每个表面单独的颜色。我尝试使用FillColorDirection = [0, 0, 1])
但它不工作
使用 plot:Box 时是否可以为每个面提供单独的颜色,或者有更好的方法吗?