Make faces of cube transparent

7 Ansichten (letzte 30 Tage)
monkey_matlab am 22 Sep. 2017
Kommentiert: Ayush singhal am 26 Apr. 2021
Hello,
I have made a 3D cube but would like to have the faces appear transparent. How do I go about doing that? Thanks.
Here is my code:
vert = [0 0 0;1 0 0;1 1 0;0 1 0;0 0 1;1 0 1;1 1 1;0 1 1];
fac = [1 2 6 5;2 3 7 6;3 4 8 7;4 1 5 8;1 2 3 4;5 6 7 8];
patch('Vertices',vert,'Faces',fac,...
'FaceVertexCData',hsv(6),'FaceColor','flat')
view(3)
axis vis3d
rotate3d
xlabel('x')
ylabel('y')
zlabel('z')
0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jan am 22 Sep. 2017
patch('Vertices',vert,'Faces',fac,...
'FaceVertexCData',hsv(6),'FaceColor','flat', ...
'FaceAlpha', 0.5); % <== Add this
3 Kommentare1 älteren Kommentar anzeigen1 älteren Kommentar ausblenden
Steven Lord am 23 Apr. 2021
Draw a cube.
Go around one of the square faces and label the corners 1, 2, 6, and 5 in that order.
Find the other square face that has the line between 2 and 6 as one of its edges.
Label the corner of that square next to 2 with a 3 and the one next to the 6 with a 7.
This gives you the [2 3 7 6] face.
Find the square face that has points labeled 1, 2, and 3. Label the remaining corner 4.
This gives you the [1 2 3 4] face.
Continue until all the points have been labeled. For this simple shape there's only one point left, the 8.
Each face will consist of the points representing one of the rows in the fac variable and the edges between those points.
Ayush singhal am 26 Apr. 2021
Thanks I got it.
I have one more question.
[x y] = meshgrid(-6:1:6); % Generate x and y data
z = zeros(size(x,2)); % Generate z data
surf(x, y,z) % Plot the surface
view(2)
hold on
vert = [0 0 0;3 0 0;3 3 0;0 3 0;0 0 3;3 0 3;3 3 3;0 3 3];
fac = [1 2 6 5;2 3 7 6;3 4 8 7;4 1 5 8;1 2 3 4;5 6 7 8];
patch('Vertices',vert,'Faces',fac,...
'FaceVertexCData',hsv(6),'FaceColor','flat', ...
'FaceAlpha', 0);
view(3)
axis vis3d
rotate3d
xlabel('x')
ylabel('y')
zlabel('z')
In the above code, I have put the cube on image plane but how to centred the cube on the plane. Is it due to the lower face of cube of else?
could you modify it or give me some insight?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Surface and Mesh Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by