Metapost:获取圆形框的半径

Metapost:获取圆形框的半径

接下来是一小段代码。我想获取圆形框的半径。如果我将最后一句放在 drawboxed 命令之前,编译会失败,原因是unknown pair。看起来只有在绘制圆形框后我才能获取圆形框的半径。但我想将框绘制在与半径相关的某个地方,B而不是示例中的原点。所以,

1)我可以在绘制盒子之前获取半径吗?

2) 或者我可以move在该框绘制之后再使用它吗?drawboxed (bulb) shifted p3不起作用。

请帮忙。谢谢。

outputtemplate := "%j-%c.eps";
prologues := 1 ;
input boxes
verbatimtex
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\begin{document}
etex

beginfig(1)
  pair A;
  circleit.bulb(btex foo etex);
  bulb.c = origin;
  drawboxed(bulb);
  B = abs(bulb.e - bulb.w);
endfig;

答案1

不知道 1),但你可以通过将整个盒子保存为图片(使用图像命令)并将该图像移动到您想要的位置。

outputtemplate := "%j-%c.eps";
prologues := 1 ;
input boxes
verbatimtex
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\begin{document}
etex

beginfig(1)
  circleit.bulb(btex foo etex);
  %bulb.c = origin; % not needed, it's the default location
  picture p; p = image(drawboxed(bulb));
  B = abs(bulb.e - bulb.w);
  draw p;
  draw p shifted (2B, 0);
endfig;

end.

在此处输入图片描述

相关内容