2011-05-31 9 views
5

Dejé de intentar comprender la configuración de los ejes 3D de Mathematica.Mathematica: Ayúdenme a entender el sistema de coordenadas 3D de Mathematica

Cuando hago un trazado en 3D, y etiqueto los 3 ejes para identificar qué ejes son los que, y luego hago puntos en estos ejes, los puntos aparecen en ejes diferentes a los que espero que muestren usando el comando Punto, que toma coordenadas {x, y, z}.

Aquí es un ejemplo

g=Graphics3D[ 
    { 
    {PointSize[0],Point[{0,0,0}]} 
    }, 
    AxesOrigin->{0,0,0}, PlotRange->{{-3,3},{-3,3},{-3,3}}, 
    Axes->True, AxesLabel->{"X","Y","Z"}, 
    LabelStyle->Directive[Bold,Red,16], 
    PreserveImageOptions->False, Ticks->None,Boxed->False] 

Los resultados anteriores en

enter image description here

lo tanto, ahora he añadido un punto en el en el extremo del eje x, y al final de la eje y, y al final del eje z. Hago que cada punto tenga un color diferente para ayudar a identificarlos en la trama.

g=Graphics3D[ 
{ 
    {Red,PointSize[.03],Point[{3,0,0}]}, 
    {Black,PointSize[.03],Point[{0,3,0}]}, 
    {Blue,PointSize[.03],Point[{0,0,3}]} 
}, 
    AxesOrigin->{0,0,0},PlotRange->{{-3,3},{-3,3},{-3,3}}, 
    Axes->True,AxesLabel->{"X","Y","Z"}, 
    LabelStyle->Directive[Bold,Red,16],PreserveImageOptions->False, 
    Ticks->None,Boxed->False] 

El resultado es este:

enter image description here

Se puede ver, el punto rojo, que esperaba que ir al final del eje X, muestra al final de la Eje Z. Y el punto Negro, en lugar de aparecer al final del eje Y, aparece en el eje X, y el punto azul, en lugar de mostrarse al final del eje Z, aparece al final de la Y- eje.

¿Las etiquetas son incorrectas? Puede ser que estoy mirando la imagen de la manera incorrecta?

Estoy muy confundido, ya que claramente no estoy entendiendo algo. Miré la documentación y no pude encontrar algo que me ayudara a ver lo que estoy haciendo mal. Estoy empezando a aprender gráficos en 3D de Mathematica.

EDIT: imagen adicional con garrapatas en él, respondió a Simon, no sabía cómo hacerlo la caja de comentarios:

g=Graphics3D[ 
{ 
    Cuboid[{-.1,-.1,-.1},{.1,.1,.1}], 
    {Red,PointSize[.03],Point[{2,0,0}]}, 
    {Black,PointSize[.03],Point[{0,2,0}]}, 
    {Blue,PointSize[.03],Point[{0,0,2}]} 
    }, 
    AxesOrigin->{0,0,0}, 
    PlotRange->{{-2,2},{-2,2},{-2,2}}, 
    Axes->True, 
    AxesLabel->{"X","Y","Z"}, 
    LabelStyle->Directive[Bold,Red,16], 
    PreserveImageOptions->False, 
    Ticks->True, TicksStyle->Directive[Black,8], 
    Boxed->False 
    ] 

aquí está el resultado: enter image description here

EDIT: OK, decidí olvidarme de usar AxesLabels, y los puse yo mismo. Mucho más claro ahora

m=3; 
labels={Text[Style["X",16],{1.2 m,0,0}],Text[Style["Y",16],{0,1.2 m,0}], 
     Text[Style["Z",16],{0,0,1.2 m}]}; 

g=Graphics3D[ 
{ 
    {Red,PointSize[.03],Point[{m,0,0}]}, 
    {Black,PointSize[.03],Point[{0,m,0}]}, 
    {Blue,PointSize[.03],Point[{0,0,m}]}, 
    labels 
}, 
    AxesOrigin->{0,0,0}, 
    PlotRange->{{-m,m},{-m,m},{-m,m}}, 
    Axes->True, 
    AxesLabel->None, 
    LabelStyle->Directive[Bold,Red,16], 
    PreserveImageOptions->False, 
    Ticks->True, TicksStyle->Directive[Black,8], 
    Boxed->False 
    ] 

enter image description here

Respuesta

3

Creo que las etiquetas están siendo colocados en lugares poco intuitivos. Reemplazar tus puntos con líneas de colores de diferente duración es más claro para mí. También eliminé el rango de trazado explícito que ayuda a Mathematica a colocar las etiquetas en lugares mucho más claros.

g=Graphics3D[ 
{ 
{Red,Thick, Line[{{0, 0, 0}, {1, 0, 0}}]}, 
{Black,Thick, Line[{{0, 0, 0}, {0, 2, 0}}]}, 
{Blue,Thick, Line[{{0, 0, 0}, {0, 0, 3}}]} 
}, 
AxesOrigin->{0,0,0}, 
Axes->True,AxesLabel->{"X","Y","Z"}, 
LabelStyle->Directive[Bold,Red,16],PreserveImageOptions->False, 
Ticks->None,Boxed->False] 

enter image description here

+0

Gracias, es algo más que un punto poco intuitivo :), está completamente apagado. Es por eso que pregunté en otra pregunta cómo poner las etiquetas 3D al final del eje. Si no hay forma, solo usaré el comando Texto para poner allí las etiquetas y no usar AxesLabel, ya que el algoritmo que se usa para colocarlas ahora parece no ser muy efectivo y confundieron más que solo la ayuda. – Nasser

5

Estoy de acuerdo con usted en que AxesLabel para gráficos 3D vale casi nada.Mira los efectos de un cambio pequeño punto de vista interactivo sobre su figura:

[enter image description here]

mi humilde opinión IRG realmente debería mejorar el funcionamiento de esta opción y, preferiblemente, proporcionar un poco más de control de la colocación demasiado (fin/mediados de los ejes, etc.)