Russian Qt Forum
Ноябрь 23, 2024, 11:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: Повернуть отрезок  (Прочитано 19123 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #15 : Октябрь 07, 2013, 04:45 »

Код
C++ (Qt)
   k;
   qDebug() << v_rot; // QVector3D(0.524257, 0.43411, 0.748715)
Давайте проверимся, здравый смысл говорит что после поворота длина вектора не должна измениться.

Было
0.4*04 + 0.5*0.5 + 0.7*0.7 = 0.16 + 0.25 + 0.49 = 0.9 (квадрат длины)

Стало
0.524257^2 + 0.43411^2 + 0.748715^2 = заметно больше 0.9, т.к каждая компонента больше
 
kambala, я уважаю когда доказывается делом/кодом (а не трепом как у предыдущих докладчиков). Но все-таки концы с концами должны сходиться. И хотелось бы понимать откудв эта формула взялась, почему так получается. Спасибо
« Последнее редактирование: Октябрь 07, 2013, 04:47 от Igors » Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #16 : Октябрь 07, 2013, 08:20 »

я уважаю когда доказывается делом/кодом
Да всем все равно, что вы уважаете, а что нет.

(а не трепом как у предыдущих докладчиков).
Ну так в теме трепла трепом и отвечают. Не?
И заметьте, мы более корректны чем вы, мы не посылаем вас читать школьный учебник математики, не сокрушаемся о том, что такие "профессионалы" заполнили планету и не призываем игнорировать такие не интересные темы.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #17 : Октябрь 07, 2013, 09:36 »

я немного невнимательно прочитал входные данные формулы: ось должна задаваться ортом. единственное изменение кода будет
Код
C++ (Qt)
k = (dir - p0).normalized()
и результат будет (0.475598, 0.417863, 0.706538).

я не являюсь специалистом в аналитической/компьютерной геометрии (даже пришлось лезть в вики вспоминать что такое векторное произведение), так что объяснить как выводится формула сейчас не смогу. из того, что я вижу, основная хитрость находится в самом начале выведения. может тут вам будет понятнее:
http://mathworld.wolfram.com/RodriguesRotationFormula.html
http://mathworld.wolfram.com/RotationFormula.html
« Последнее редактирование: Октябрь 07, 2013, 09:37 от kambala » Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #18 : Октябрь 07, 2013, 10:20 »

Задачка плюшевая..
... одна из немногих тем где уважаемый гуру может показать себя. Подмигивающий

Пожалуй может, но только там, где ещё не заканчивается его бытовой опыт.. т.е. критическая размерность D=3. 
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #19 : Октябрь 08, 2013, 12:50 »

Да всем все равно, что вы уважаете, а что нет.
Ну что же Вы прибегаете к таким дешевым приемам? Улыбающийся Пытаетесь задеть собеседника, раздражаетесь - а ведь никто в тему на аркане Вас не тянул

Пожалуй может, но только там, где ещё не заканчивается его бытовой опыт.. т.е. критическая размерность D=3.  
А Вы можете осознать что есть 4 и более измерений? Нет, ну тупо производить операции с векторами - ума много не надо, но чему это соответствует в реальном мире? Так чего "морщить носик" - отрезок от этого никак не повернулся, даже бытовой  Улыбающийся

я немного невнимательно прочитал входные данные формулы: ось должна задаваться ортом. единственное изменение кода будет
Код
C++ (Qt)
k = (dir - p0).normalized()
и результат будет (0.475598, 0.417863, 0.706538).
Хммм... ну опять-таки неясно почему так, откуда это взялось

я не являюсь специалистом в аналитической/компьютерной геометрии
Я тоже не являюсь, да и что значит "специалист в геометрии"? Это курс первого семестра первого курса (по крайней мере в мое время было так) который считается легким. В практической работе это почему-то не так  Улыбающийся

Ладно, вернемся к отрезку. Очевидно что если отрезок совпадает с осью вращения - он каким был таким и останется. И наоборот, перпендикулярный повернется полностью. Поэтому нам надо представить отрезок в виде суммы 2 векторов - проекцию на ось и на плоскость перпендикулярную оси. Первая компонента никак не меняется при вращении. Вторая вращается по тем же самым школьным формулам

cos(a + b) = cos(a) * cos(b) - sin(a) * sin(b)
sin(a + b) = cos(a) * sin(b) + cos(b) * sin(a)

C той лишь разницей что a и b - вектора. Наверняка в итоге и получится формула товарища Родригеса. Да, но такие выкладки - чисто для научных работников, поэтому я хотел бы послушать. Увы, пока с их стороны лишь дешевые понты, ничего более  Плачущий
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #20 : Октябрь 08, 2013, 13:00 »

Ну что же Вы прибегаете к таким дешевым приемам? Улыбающийся Пытаетесь задеть собеседника, раздражаетесь - а ведь никто в тему на аркане Вас не тянул
Вооот, будем как в детском саду учить на личном примере. Улыбающийся
Вас в раздел для новичков тоже на арканом не тянули, но вы пришли и спровоцировали конфликт.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #21 : Октябрь 08, 2013, 13:10 »

Вооот, будем как в детском саду учить на личном примере. Улыбающийся
Вас в раздел для новичков тоже на арканом не тянули, но вы пришли и спровоцировали конфликт.
И правильно сделал, т.к. не могу видеть жизнь столь унылой и серой. А Вы, мужчина, Вы сосредоточьтесь на поворте отрезка - может там какие скрипты помогут, ну и вообще, Ваш богатый опыт  Улыбающийся
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #22 : Октябрь 08, 2013, 13:13 »

А Вы можете осознать что есть 4 и более измерений? Нет, ну тупо производить операции с векторами - ума много не надо, но чему это соответствует в реальном мире? Так чего "морщить носик" - отрезок от этого никак не повернулся, даже бытовой  Улыбающийся

Осознать могу) Так же как могу осознать, что тела состоят из молекул, молекулы из атомов и т.д.. А Вы можете принять только то, что можете пощупать сами?
И для того что бы что-то предсказать совершенно не обязательно полагаться на бытовой опыт: более того скажу, с начала двадцатого века все наши теории, которые мы пытались строить из соображений бытового опыта - терпели неудачи и только там, где от этого бытового опыта мы отказывались в пользу больше аксиоматического подхода - то все концы с концами начинали сходиться)

ЗЫ По поводу реальной размерности нашего пространства - вопрос до сих под открытый..






    
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #23 : Октябрь 08, 2013, 13:15 »

А Вы, мужчина, Вы сосредоточьтесь на поворте отрезка - может там какие скрипты помогут, ну и вообще, Ваш богатый опыт  Улыбающийся
Это вам нужно сосредоточиться, что бы с этим разобраться. Улыбающийся
Вам уже все показали, но теперь вы требуете что бы еще и разжевали. Сам, все сам. Такая у нас профессия, долго на поверхностных знаниях из интернет-уроков не протянуть.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #24 : Октябрь 08, 2013, 13:35 »

Цитировать
Хммм... ну опять-таки неясно почему так, откуда это взялось
могу объяснить как я понимаю картинку на вики: переносим систему координат так, чтобы ось совпала с осью z; проектируем наш вектор в плоскость, перпендикулярную оси; поворачиваем его там; «поднимаем» вектор обратно. в математике конечно желательно понимать то, что используешь, но это не всегда обязательно. плюс изобретение велосипедов оправдано намного реже, чем в программировании.
Цитировать
Я тоже не являюсь, да и что значит "специалист в геометрии"? Это курс первого семестра первого курса (по крайней мере в мое время было так) который считается легким.
пишете программу, очень тесно связанную с геометрией, и не являетесь специалистом? печально.

да, в аналитической геометрии ничего сложного нету. но когда ею не пользуешься годами, то она постепенно забывается. специалист — тот, кто часто использует свои навыки и чувствует себя как рыба в воде в своей области.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #25 : Октябрь 08, 2013, 13:35 »

Осознать могу
Такая у нас профессия, долго на поверхностных знаниях из интернет-уроков не протянуть.
Мужчины, пожалуйста меньше лирики и больше дела/кода. От того что Вы умничаете - отрезок никак не повернется  Улыбающийся
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #26 : Октябрь 08, 2013, 13:54 »

Мужчины, пожалуйста меньше лирики и больше дела/кода. От того что Вы умничаете - отрезок никак не повернется  Улыбающийся
Что так и не повернулся?
Забейте, есть еще куча тем в интернете, где можно рассказать о своей "крутизне". Это у вас лучше получается. Улыбающийся
« Последнее редактирование: Октябрь 08, 2013, 13:55 от Old » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #27 : Октябрь 08, 2013, 14:44 »

Что так и не повернулся?
Забейте, есть еще куча тем в интернете, где можно рассказать о своей "крутизне". Это у вас лучше получается. Улыбающийся
Когда-то (давно) я работал в советской организации и меня (и еще 2 пацанов) послали в командировку в Узбекистан. Пошли на базар скупляться. Видим - отличная дыня, спрашиваем - цена норм, ну достаем деньги.. Возмущению продавца не было предела. " Почему ты говоришь "ну давай" - ты думаешь мне нужны твои деньги?. Я сюда поговорить с людьми пришел! А ты "ну давай" - зачем ты меня обижаешььь?, Бери бесплатно, кушай, русский" (восточный акцент передать не могу).

Напрасно Вы ищете "ловушки" в моих темах, типа "я, мол, знаю решение" - я его не знаю, правда. Конечно я реализовал поворот из тех соображений что я изложил выше. Но все-таки интересно а как грамотно/правильно?

Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #28 : Октябрь 08, 2013, 15:09 »

Напрасно Вы ищете "ловушки" в моих темах, типа "я, мол, знаю решение" - я его не знаю, правда. Конечно я реализовал поворот из тех соображений что я изложил выше. Но все-таки интересно а как грамотно/правильно?
Я уже давно в ваших темах ничего не ищу, да и что мне думать, если очевидно, что вы не знаете не только решения, а даже где его искать.
В общем, ничего кроме помпезных заявлений от вас никто не ждет. Улыбающийся
Записан
Bepec
Гость
« Ответ #29 : Октябрь 08, 2013, 15:33 »

Вау вау тише тише. Спокойнее!

Я понимаю, зима на носу, холодно и радости в жизни нет, но не стоит же фигней страдать.
Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.107 секунд. Запросов: 23.