Складывание листа бумаги (Computer Vision)

Я работаю над задачей, пытаясь преобразовать 2D-эскиз со складками в полное 3D-представление. Красными линиями будут долины, а Синими горами/вершинами. Я хотел бы рассчитать преобразованные/сопоставленные координаты {P1'...P8'}. Я не нашел хорошего программного обеспечения, которое могло бы сделать это автоматически, но был бы признателен за советы.

Folding Pattern

  • a- угол складывания
  • P- координата
  • E- элемент
  • синяя линия - складчатая гора
  • красная линия - складчатая долина

СложеннаяПри a1 = a2 = a3 = 90 град (пи/2 рад) (сложенный угол) и стрелки как нормали поверхности

Я использую Matlab, но я ищу общие алгоритмы для решения этой проблемы.

Предполагая, что точка P0зафиксирована в origo, а элемент E1не изменит свои координаты, как мне лучше всего описать преобразование? Должен ли я использовать неоднородные или однородные координаты, полярные координаты?

Например, точка P8 зависит от других координат, которые зависят от углов.

Я полагаю, что мог бы использовать какую-то матрицу смежности для Точек (Узлов) и/или матрицу, которая связывает каждый элемент с его Узлами. Например: [E1 P0 P4 P5 P1 ; E2 P1 P5 P6 P2 ; ...]

Преобразование для каждой координаты представляет собой преобразование + вращение, и преобразование зависит от координаты/элемента.Но это становится сложнее, когда несколько соединенных элементов...

Как я могу аккуратно преобразовать 2D-бумагу с шаблонами складывания в 3D-координаты?

6
задан wxffles 6 June 2012 в 20:53
поделиться