Здравствуйте.
Задача такая: есть плоскость, нужно на ней прокладывать что-то вроде труб (кликнул один раз, кликнул в другом месте второй раз, от первой точки до второй нужно нарисовать «трубу»), для трубы используется модель вроде цилиндра. Т.е., насколько я понимаю нужно взять координаты первого клика, координаты второго клика по плоскости, узнать расстояние между точками, увеличить модель до размеров этого расстояния и повернуть её в направлении от одной точки к другой (т.к. изначально модель ориентирована по оси Z).
Делаю так:

Код AS3:
// хочу увеличить «длину», для этого вычисляется расстояние между точками кликов
// и делится на «длину» модели (разница макс и мин границ баундбокса)
_model.scaleZ = Vector3D.distance(_p1, _p2)/(_model.boundBox.maxZ-_model.boundBox.minZ);
// затем нужно ориентировать модель в направлении от первого клика ко второму
_model.rotationZ = Vector3D.angleBetween(_p2, _p1);
Но, не получается.
Длина модели не равна длине между точками (больше, чем нужно).
«Труба» поворачивается не в сторону второй точки.
Что сделано неправильно?