Mathematica: текст в Graphics3D относительно координат изображения - PullRequest
6 голосов
/ 14 июня 2011

Документация Mathematica гласит: «Текст в трехмерной графике размещается в положении, которое соответствует проекции указанной точки {x, y, z}. Текст рисуется перед всеми другими объектами».Как вы располагаете текст относительно размера изображения?

Вот как это можно сделать в 2D:

custumLabels = Graphics[{
  Text[Style["A", Red, Bold, 18], ImageScaled[{0.025, .95}]], 
  Text[Style["B", Red, Bold, 18], ImageScaled[{0.95, .05}]]}
];
Framed[Show[
  Plot[
    Sin[x] Exp[x], {x, 0, 10},
    Frame -> True,
    PlotRangeClipping -> False,
    FrameLabel -> {"x", "y"}
  ],
  custumLabels
 ],
 FrameMargins -> 0]

Output

Эти метки всегда будут отображаться в этой позиции, пока задано PlotRangeClippingдо False.Вопрос в том, как сделать так, чтобы эти ярлыки появлялись в этой конкретной позиции, если я переключаюсь на Graphics3D.Попробуйте с простым.

Framed[Show[
  Graphics3D[{Sphere[{0, 0, 0}, 1]}]
 ],
 FrameMargins -> 0]

1 Ответ

6 голосов
/ 14 июня 2011

Epilog и Prolog в 3D используют масштабированную 2D систему координат (для всех примитивов):

Graphics3D[{Sphere[]}, Epilog -> Text["abcdef", Scaled[{0.1, 0.1}]]]

enter image description here

...