Трансфорации
Не знал куда написать, сделал тему.
У меня такая задача: Есть openCV, которая распознает объект и выдает нам RotateRect, который имеет center, Size, angle, все относительно изображения (mat) openCV. Мне нужно трансформировать это все в глобальную область. Делаю так: PHP код:
Или нужен другой метод перевести ориентацию с учетом поворота.( С кватернионами плохо дружу, так что решил на векторах, но лучше наверное они) Поворот должен быть относительно screen.up вектора с учетом angle по оси Y. Как это? Картинка: |
Ответ: Трансфорации
Эти функции смотрел?
http://docs.unity3d.com/ScriptRefere...formPoint.html http://docs.unity3d.com/ScriptRefere...oRotation.html На счёт повёрнутости самого screen - можно rotatedrect приаттачить к пустышке, и далее 1. сбрасываем поворот пустышки в нули 2. поворачиваем прямоугольник в глобал (функция выше) 3. поворачиваем пустышку на угол как у screen. (Если я правильно понял суть задачи) |
Ответ: Трансфорации
Цитата:
Чуток другое. Как перевести текстурные координаты в Мировые, если текстура лежит на плейне (со скейлом и поворотом). UPD. Положение я определять научился. Осталось направление. Т.е cиняя стрелка кубика должна быть по красной стрелке элипса, как собственно и размеры. |
Ответ: Трансфорации
У OpenCV система координат отличается от юнити тем, что Y направлен вниз.
Для позиций трансформация очевидна - инвертируем Y и будет щастье. Для кватернионов, если правильно помню, трансформация требует инверсии .y и .w А вообще посмотри на EmguCV. C#-обёртка с нормальным интерфейсом под юнити, с уже готовыми конверсиями из Mat в массивы, текстуры; с конверсией систем координат. Правда, пребилт у них довольно старый, там OpenCV 3.x не было (а мне надо было), а чтобы руками это собрать я где-то с неделю посношался. Но оно того стоит :) |
Ответ: Трансфорации
Цитата:
|
Ответ: Трансфорации
Цитата:
|
Часовой пояс GMT +4, время: 10:51. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot