LINUX.ORG.RU

Иллюстрация - пометить углы

 , ,


0

1

Помогите разобраться. вот нужно мне вот такую иллюстрацию нарисовать. Трёхмерная - три координатные оси, ox,oy,oz. Потом нарисовать два вектора k и k' с произвольными координатами. Отложить проекции этих векторов на плоскость oxy, ну и обозначить сферические координаты - угол phi и угол theta, то есть азимут и зенит, вроде так.

Вот вектора сами я нарисовал - вот они http://dl.dropbox.com/u/17976101/test3d.eps

import three;
import markers;

size(400);
currentprojection = oblique;

triple K = (0.4,0.8,0.3);
triple KXY = (0.4,0,0.3);
triple K1 = (0.7,0.6,0.3);
triple K1XY = (0.7,0,0.3);

// axis
draw(Label("x",0.99),O--X,blue,Arrow3);
draw(Label("y",0.99),O--Z,blue,Arrow3);
draw(Label("z",0.99),O--Y,blue,Arrow3);
// k
draw(Label("$\vec{k}$"),O--K,red,Arrow3);
// k'
draw(Label("$\vec{k'}$"),O--K1,red,Arrow3);
// kxy
draw(O--KXY,dashed+red);
draw(K--KXY,dashed+red);
// k1xy
draw(O--K1XY,dashed+red);
draw(K1--K1XY,dashed+red);

markangle("$\varphi_0$", KXY, O, Y);

Вот на последнюю строчку он и ругается (другие углы пока не пробовал подписать, думаю, там также). Взял из пакета markers markangle - по описанию вроде оно, но проблема в том, что работает с двухмерными точками :(

Как мне эту проблему обойти (нарисовать дугу, желательно со стрелочкой, и подписать буквой)?

P.S. Если есть другие исправления/предложения (например, наверное хорошо бы сетку нарисовать) - буду рад выслушать =) P.P.S. Инструмент только начал осваивать, в принципе если можно тоже самое сделать на metapost или чём-то ещё - тоже подойдёт.

Добавил я вот такие строчки

draw(Label("$\varphi_0$",black),arc(O,X/6,KXY/6),red);
draw(Label("$\varphi$",black),arc(O,X/4,K1XY/4),red);

draw(Label("$\theta_0$",black),arc(O,K/6,Y/6),red);
draw(Label("$\theta$",black),arc(O,K1/4,Y/4),red);

И, в общем-то, дуги нарисовались, и даже подписались. Результат приемлемый, но всё равно не очень красивый. Если кто подскажет, как лучше сделать, буду благодарен =)

Для тех, у кого не установлен asy - картинка - http://dl.dropbox.com/u/17976101/test3d2.eps для тех, у кого нет eps читалки, позже выложу png, чтоб понятно было...

BattleCoder ★★★★★ ()

Сам спросил @ сам ответил.

в общем, в принципе пойдёт то, что наваял. Помечу тему решённой. Странно, что никто не подсказал, вроде ничего сложного и не оказалось. =)

BattleCoder ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.