Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Масштабирование и поворот модели (http://www.flasher.ru/forum/showthread.php?t=178013)

Srednas 13.04.2012 08:04

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

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

Но, не получается.
Длина модели не равна длине между точками (больше, чем нужно).
«Труба» поворачивается не в сторону второй точки.
Что сделано неправильно?


Часовой пояс GMT +4, время: 13:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.