
Estou obtendo imagens de saída diferentes ao usar coordenadas brutas nomeadas v/s no tikz-3dplot. Existe uma maneira de imprimir qual é o valor das coordenadas para ajudar a depurar ou verificar quaisquer arquivos de log. Exemplo mínimo abaixo:
\documentclass{standalone}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usepackage{calc}
\begin{document}
\tdplotsetmaincoords{70}{100}%right hand
\begin{tikzpicture}[scale=2]
\def\xmax{2}
\def\ymax{2}
\def\dz{0.2}
\coordinate (M) at (0.5*\xmax,0.5*\ymax,0);
\draw[fill=green!40!white, opacity = 0.5,tdplot_main_coords]
({0},{0},{0}) to [out=30,in=200]
({0},{\ymax},{0}) to
({\xmax},{\ymax},{0}) to[out=200,in=30]
({\xmax},{0},{0}) to
({0},{0},{-\dz}) to
(M) to
(0,0,0);
\end{tikzpicture}
\tdplotsetmaincoords{70}{100}%right hand
\begin{tikzpicture}[scale=2]
\def\xmax{2}
\def\ymax{2}
\def\dz{0.2}
\draw[fill=green!40!white, opacity = 0.5,tdplot_main_coords]
({0},{0},{0}) to [out=30,in=200]
({0},{\ymax},{0}) to
({\xmax},{\ymax},{0}) to[out=200,in=30]
({\xmax},{0},{0}) to
({0},{0},{-\dz}) to
(0.5*\xmax,0.5*\ymax,0) to
(0,0,0);
\end{tikzpicture}
\end{document}
Responder1
Você não usou tdplot_main_coords
ao definir a coordenada simbólica M
. Se você substituir
\coordinate (M) at (0.5*\xmax,0.5*\ymax,0);
por
\path[tdplot_main_coords] (0.5*\xmax,0.5*\ymax,0) coordinate (M);
ambos os resultados coincidem.
\documentclass{standalone}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{70}{100}%right hand
\begin{tikzpicture}[scale=2]
\def\xmax{2}
\def\ymax{2}
\def\dz{0.2}
\path[tdplot_main_coords] (0.5*\xmax,0.5*\ymax,0) coordinate (M);
\draw[fill=green!40!white, opacity = 0.5,tdplot_main_coords]
({0},{0},{0}) to [out=30,in=200]
({0},{\ymax},{0}) to
({\xmax},{\ymax},{0}) to[out=200,in=30]
({\xmax},{0},{0}) to
({0},{0},{-\dz}) to
(M) to
(0,0,0);
\end{tikzpicture}
\tdplotsetmaincoords{70}{100}%right hand
\begin{tikzpicture}[scale=2]
\def\xmax{2}
\def\ymax{2}
\def\dz{0.2}
\draw[fill=green!40!white, opacity = 0.5,tdplot_main_coords]
({0},{0},{0}) to [out=30,in=200]
({0},{\ymax},{0}) to
({\xmax},{\ymax},{0}) to[out=200,in=30]
({\xmax},{0},{0}) to
({0},{0},{-\dz}) to
(0.5*\xmax,0.5*\ymax,0) to
(0,0,0);
\end{tikzpicture}
\end{document}
A calc
biblioteca, que é carregada automaticamente por tikz-3dplot
, permite comparar as coordenadas da tela de nós/coordenadas nomeados. A biblioteca não oficial3dtools
permite recuperar as coordenadas que foram utilizadas para definir o nó/coordenada, mas neste ponto não armazena a informação em quais sistemas de coordenadas foram definidas.