Menu

Basic idea

Bits of cotton

Vector graphics are consisted from handle points.
If we don't have any connections of each points, and 3D points projected into 2D, then we can use this method:

For non same column size matrix A, B, C (A and B are same (rotations)), [[I O][O O]] * (A + PB) ~ C matching uses:
B^tP^t[[I O][O O]]PB~(C-[[I O][O O]]A)^t(C-[[I O][O O]]A)
~ CC^t + A^t[[I O][O O]]A - (C^t[[I O][O O]]A+A^t[[I O][O O]]C)
So rewritten form is:
B^t[[1 0 0][0 sin t cos t]]^t[[1 0 0][0 sin t cos t]]B ~ (CC^t+A^t[[I O][O O]]A)-(C^t[[I O][O O]]A+A^t[[I O][O O]]C).

  • Sort diagonal with: CC^t, and certain form of right other terms, and left term's product of sin t and cos t. We can match from diagonally first with ratio sum of 2 terms to 1 term.

  • If each points are connected with the reason of closed region or so, no sort needed and costs linear time to check.

  • This form only works with one rotation, multiple rotation makes this complex, so implementation aim to match each parts, then recreate entire part.

  • Firstly, move origin and rotate, then, rotate parts between 2 of them, then 3 of them, ... and statistical match.

  • This form matches very roughs, so implementation aims to match more detail and detail by previously prepared each models.

  • If we're dealing with same dimension each, we may be able to define normal rotation and will works, but now dealing with different dimension so hidden parts may exist.

Found another method:

P[[I O][O O]]Q(Delta A+Edge)~Delta C

leads us to:

(Delta A)^tB_0(theta)(Delta A)+Edge^tB_1(theta)(Delta A)+(Delta A)^tB_2(theta)Edge+Edge^tB_3(theta)Edge~C^tC

  • Delta is Delta A=[a_0-a_1,a_1-a_2,...,a_(n-1)-a_n], Edge=[0,...,0,edge_0,0,...,...,0,edge_m,0,...].

  • Edge is the delimiter decision.

  • Sum diag left_k=Sum diag right_l can be checked by making tree for O(m(n'^2+n'^2*m')) for certain n'=f(n)<O(n), m'=g(n)<O(n). (Because the points are ordered (3D to 2D are well).)

  • If using this method for checking 3D to 2D, an order is needed for original 2D points to points. So 2D vector graphics like edge detection is needed for using this method. (Like adaptive blur and unsharp mask. -> curvelet translation is better.)

  • If using this method, dense model are needed.

2D to 2D of hidden 3D model:

  • Per parts cyclic order may works if ordered well. (Because one side of 2D can be initialized as ||z||=0 .)

  • In this method, optimal matching leads us to quadratic programming problem. (complexity comes from many possible matches to handle on this method there.)

  • Though, possible matching works.

2D to 2D of 2D model:

  • extreme value of R interval optimized affined same R polygon may works with the method below with no omitted graphics.

Related

Wiki: Home