Coordenadas absolutas da página de figuras metapost usando luamplib/lualatex

Coordenadas absolutas da página de figuras metapost usando luamplib/lualatex

Como desenhar/colocar elementos de figura metapost (usando luamplib em lualatex) como se a página pdf fosse um papel milimetrado? Então existe origem: (xorigin, yorigin), e todos os elementos são colocados em relação à origem ou em relação uns aos outros? Por exemplo, coloque um círculo de diâmetro 2 em (3,4). Onde (3,4) é uma posição absoluta na origem da página (xorigin=0pt,yorigin=0pt significaria o canto superior esquerdo da página). Além disso, os números 2,3,4 são dimensionados por escala/escala x/escala y, que pode ser em pt/cm/polegada. Eu sei que é possível fazer isso com o tikz, embora não tenha encontrado um post que se aprofunde em como alguém poderia fazer isso no metapost (o manual do metapost/luamplib não se aprofunda muito na origem e no posicionamento absoluto da página). Eu tentei usarposição de texto, embora essa não seja uma solução real, digamos que se eu adicionar rótulos na parte superior/esquerda do círculo, o centro do círculo se afasta de (xorigin+3*xscale,yorigin+4*yscale) na página pdf; porque está tentando alinhar o limite esquerdo/superior da figura ao ponto de ancoragem de textpos (em vez de ancorar o centro do círculo ao ponto de ancoragem de textpos). E fazer ajustes manuais seria um pesadelo se o número mudasse no futuro. Uma solução forneceria/demonstraria uma maneira sistemática de colocar qualquer/todos os elementos da figura em locais absolutos/relativos na página.

Uma especificação mais formal com um exemplo: Por exemplo, depois de colocar o círculo em algum local absoluto na página do pdf: (xorigin+X*xscale,yorigin+Y*yscale) com um diâmetro de D*xscale ou D*yscale; Eu também gostaria de posicionar outros elementos, como rótulos, em relação a este círculo em um deslocamento de (Xoff*xscale, Yoff*yscale). O tempo todo especificando apenas X/Y/D/Xoff/Yoff, ou menos preferencialmente (mas ainda aceitável) com as escalas multiplicadoras *(x|y).

Aqui está uma figura simples + código para usar:

exemplo de figura metapost

% Command: >> lualatex abspicture.tex
\documentclass{article}
\usepackage[paper=letterpaper,left=0in,right=0in,top=0in,bottom=0in]{geometry}
\usepackage{luamplib}


\begin{document}
\thispagestyle{empty}

\begin{mplibcode}
beginfig(1)
u=50;
draw fullcircle scaled u;
pickup pencircle scaled 2;
draw (u/2,0); draw(0,u/2); draw(-u/2,0); draw(0,-u/2);
label.rt(btex $\theta = 0$ etex scaled .5, (u/2,0));
label.top(btex $\theta = \displaystyle{\frac{\pi}{2}}$ etex scaled .5, (0,u/2));
label.lft(btex $\theta = \pi$ etex scaled .5, (-u/2,0));
label.bot(btex $\theta =\displaystyle{\frac{3\pi}{2}}$ etex scaled .5, (0,-u/2));
endfig;
end;

\end{mplibcode}

\end{document}

informação relacionada