Matlab - Dibujo de una cubeta en 3D

 
Vista:
sin imagen de perfil

Dibujo de una cubeta en 3D

Publicado por Leonardo (8 intervenciones) el 15/08/2017 02:43:02
Hola...!!
Quisiera saber si alguien me puede ayudar a crear una cubeta como las cubetas de huevo en 3 dimensiones como grafico en matlab o como podria poner varias piramides en la misma grafica hasta formar la cubeta
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Lindsey
Val: 419
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Dibujo de una cubeta en 3D

Publicado por Lindsey (119 intervenciones) el 15/08/2017 06:24:57
Hola, qué tal

Esto fue algo un poco largo de hacer, pero no complicado si se hace organizado.
Lo que hice fue juntar varios "planos" de tal modo que puestos juntos se asemejen a un cartón de huevos.
Para esto debes conocer la función patch. Lo que tienes que hacer es especificar los vértices de la figura que quieras graficar y el color con que la quieres rellenar.

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
huevo1.xdata=[ 2 2 2 4 2 1 1 5 1 0 0 0 5
        4 4 4 4 2 5 5 5 1 6 6 1 6
        4 5 5 5 1 5 5 5 1 6 6 1 6
        2 1 1 5 1 1 1 5 1 0 0 0 5];
huevo1.ydata=[ 2 2 4 2 2 1 5 1 1 0 5 1 1
        2 2 4 4 4 1 5 5 5 0 5 1 1
        4 1 5 5 5 1 5 5 5 1 6 5 5
        4 1 5 1 1 1 5 1 1 1 6 5 5];
huevo1.zdata=[ 0 0 0 0 0 2 2 2 2 4 4 4 4
        0 0 0 0 0 2 2 2 2 4 4 4 4
        0 2 2 2 2 4 4 4 4 4 4 4 4
        0 2 2 2 2 4 4 4 4 4 4 4 4];
patch(huevo1.xdata,huevo1.ydata,huevo1.zdata,'r')
 
huevo2.xdata=huevo1.xdata+6;
huevo2.ydata=huevo1.ydata;
huevo2.zdata=huevo1.zdata;
hold on
patch(huevo2.xdata,huevo2.ydata,huevo2.zdata,'r')
 
huevo3.xdata=huevo1.xdata;
huevo3.ydata=huevo1.ydata+6;
huevo3.zdata=huevo1.zdata;
hold on
patch(huevo3.xdata,huevo3.ydata,huevo3.zdata,'r')
 
huevo4.xdata=huevo3.xdata+6;
huevo4.ydata=huevo3.ydata;
huevo4.zdata=huevo3.zdata;
hold on
patch(huevo4.xdata,huevo4.ydata,huevo4.zdata,'r')
 
huevo5.xdata=huevo3.xdata;
huevo5.ydata=huevo3.ydata+6;
huevo5.zdata=huevo3.zdata;
hold on
patch(huevo5.xdata,huevo5.ydata,huevo5.zdata,'r')
 
huevo6.xdata=huevo5.xdata+6;
huevo6.ydata=huevo5.ydata;
huevo6.zdata=huevo5.zdata;
hold on
patch(huevo6.xdata,huevo6.ydata,huevo6.zdata,'r')
 
axis equal
xlabel('Este es el x')
ylabel('Este es el y')
zlabel('Este es el z')

Como ves, en huevo1 especifiqué todos los vértices que forman la canasta para 1 solo huevo, la cual está formada por 13 figuras (que son las trece columnas en xdata, ydata y zdata, las 4 filas son los vértices de cada figura), y puse esa información en la función patch para graficar con color rojo.

Los demás huevos son básicamente desplazamientos del primer huevo.

huevos

(Cuando matlab muestra la gráfica lo hace en 2D, así que no olvides en darle en Rotate 3D para que puedas girar la figura; los xlabel, ylabel y zlabel son opcionales).

Espero que te sirva, si no pues igual aprendí a hacer esto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
6
Comentar
sin imagen de perfil

Dibujo de una cubeta en 3D

Publicado por Leonardo (8 intervenciones) el 15/08/2017 06:37:23
Pues Muchas Gracias se asemeja bastante a lo que deseaba y me puede ser muy util tu información gracias... creo que debí haberlo posteado para que quede claro el diseño (mi error) la idea era poder graficar este objeto que es como se puede ver un origami que cumple la función de una cubeta de huevos pero esta formado por varias piramides de 4 lados... Pero muchas gracias voy a usar tu información para lograr este objeto
cubeta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar