STROYKA

Текущее время: 16 дек 2017, 18:45

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Вращение за курсором
СообщениеДобавлено: 25 июл 2012, 08:29 
Не в сети
Новичок

Зарегистрирован: 11 янв 2012, 11:42
Сообщений: 21
Ребята уже несколько дней бьюся над тем,как вращать объект за курсором при помощи Ruby. Пните в нужном направлении :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вращение за курсором
СообщениеДобавлено: 28 июл 2012, 12:03 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 375
Вот скрипт от TIG http://forums.sketchucation.com/viewtopic.php?t=30380
в нём всё указано.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вращение за курсором
СообщениеДобавлено: 28 июл 2012, 14:50 
Не в сети
Новичок

Зарегистрирован: 11 янв 2012, 11:42
Сообщений: 21
Я смотрел коды подобных скриптов. Так вот там используется следующая трансформация:
Код:
Geom::Transformation.new(origin, zaxis)
. Как получать позицию курсора в виде Point3D объекта я знаю. В документации пишут, что zaxis это вроде как ось z так вот.Когда я пишу код, чтобы ось z была текущим вектором перемещения мыши т.е. вектором от начальной позиции объекта до текущего положения курсора(конвертированного в Point3D). Объект вращается но не так, как мне нужно. Фактически нужно, чтобы вектор перемещения мыши был сонаправлен с нормалью к поверхности, которую вращаем(некая любая плоская фигура). Не понимаю почему так :( . Хоть в документации вроде не двусмысленно все написано.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вращение за курсором
СообщениеДобавлено: 28 июл 2012, 15:48 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 375
tonyfull писал(а):
В документации пишут, что zaxis это вроде как ось z так вот.Когда я пишу код, чтобы ось z была текущим вектором перемещения мыши т.е. вектором от начальной позиции объекта до текущего положения курсора(конвертированного в Point3D). Объект вращается но не так, как мне нужно. Фактически нужно, чтобы вектор перемещения мыши был сонаправлен с нормалью к поверхности, которую вращаем(некая любая плоская фигура). Не понимаю почему так :( . Хоть в документации вроде не двусмысленно все написано.

Так вектор то не верно указываеш.
Если нужно вокруг z вектора вращать то либо создаём этот вектор vector = Geom::Vector3d.new 0,0,1 либо просто указываем Z_AXIS
а если относительно какой либо плоскости то указываем вектор этой самой плоскости vector = face.normal


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вращение за курсором
СообщениеДобавлено: 28 июл 2012, 17:32 
Не в сети
Новичок

Зарегистрирован: 11 янв 2012, 11:42
Сообщений: 21
Наверное я плохо объяснил. Надо поворачивать ось z у группы или компонента за курсором. Для наглядности: это используется в плагине coolpipe при построении трубы. Там как раз начальный круг как и вся труба вращается за курсором. именно так и мне надо вращать группу.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вращение за курсором
СообщениеДобавлено: 28 июл 2012, 18:47 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 375
tonyfull писал(а):
Наверное я плохо объяснил. Надо поворачивать ось z у группы или компонента за курсором. Для наглядности: это используется в плагине coolpipe при построении трубы. Там как раз начальный круг как и вся труба вращается за курсором. именно так и мне надо вращать группу.

Я и сейчас не чего не понял но всё же постараюсь пояснить.

@ip = Sketchup::InputPoint.new
point = group.bounds.center
point1 = @ip.position # начальная точка мышки
point2 = @ip.position # конечная точка мышки
vector1 = point - point1
vector2 = point - point2
angle = vector1.angle_between vector2
trans = Geom::Transformation.rotation point, vector, angle
group.transform!(trans)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вращение за курсором
СообщениеДобавлено: 29 июл 2012, 08:32 
Не в сети
Новичок

Зарегистрирован: 11 янв 2012, 11:42
Сообщений: 21
Вот на скринах обьясняю: Плоскость основания, выделенная красным кругом вращается за курсором (всегда обращена к курсору) вот именно это мне и нужно.


Вложения:
Безымянный.png
Безымянный.png [ 175.73 KiB | Просмотров: 3399 ]
Безымянный1.png
Безымянный1.png [ 162.35 KiB | Просмотров: 3399 ]
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вращение за курсором
СообщениеДобавлено: 31 июл 2012, 14:34 
Не в сети
Новичок

Зарегистрирован: 11 янв 2012, 11:42
Сообщений: 21
Документация сыровата конечно.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вращение за курсором
СообщениеДобавлено: 31 июл 2012, 16:19 
Не в сети
VIP

Зарегистрирован: 24 апр 2010, 20:43
Сообщений: 375
tonyfull писал(а):
Документация сыровата конечно.

это о чём? документация какая? эта https://developers.google.com/sketchup/ ... s?hl=ru-RU

а по моему всё там указано и всё верно.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вращение за курсором
СообщениеДобавлено: 31 июл 2012, 16:30 
Не в сети
Новичок

Зарегистрирован: 11 янв 2012, 11:42
Сообщений: 21
Geom::Transformation.new(origin, zaxis) creates
a Transformation where origin is the new origin,
and zaxis is the z axis. The x and y axes are
determined using an arbitrary axis rule. это дословно из документации. помоему четко написано, параметр zaxis это ось z.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вращение за курсором
СообщениеДобавлено: 04 авг 2012, 08:54 
Не в сети
Новичок

Зарегистрирован: 11 янв 2012, 11:42
Сообщений: 21
Понял я,в чем загвоздка. Проблема в том что в этой трансформации. Когда указывается новая Z ось у группы, то координаты нового вектора оси Z отсчитываютя внутри группы, а не снаружи, из-за этого и неправильный результат.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вращение за курсором
СообщениеДобавлено: 04 авг 2012, 13:11 
Не в сети
Новичок
Аватар пользователя

Зарегистрирован: 30 май 2012, 20:56
Сообщений: 39
Откуда: Калининград
ну конечно.. есть ось, непосредственно, группы-компонента - а есть ось родителя (вышестоящего по иерархии вложенности...
Если группа ВНЕ других грумп - то родителем является сама сцена - т.е. начало координат и оси - берутся с модели.

Так же реализовано в динамических компонентах.

_________________
Обучение Sketchup, графическим пакетам. Частное, для фирм, салонов интерьера.
Работа - на сделке. Подключение коллектива до 10 человек.
Коллекции моделей, материалов, библиотек, баз данных, каталогов и тп.
http://vk.com/sketchup


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB