Spatial Similarity Transformation

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Spatial Similarity Transformation as PDF for free.

More details

  • Words: 1,224
  • Pages: 8
-

Spatial Similarity Transformation By: Ahmad Yousef Barragán William Linag Zhang

June, 2005

-

Spatial Similarity Transformation The main purpose of this report is to summarize how to develop a direct solution for a spatial similarity transformation (absolute orientation).

Introduction Coordinate transformations are required when you need to register different sets of coordinates for objects in the same area that may have come from maps of different (and sometimes unknown) projections ,transformations may conveniently be performed using matrix arithmetic. For each transformation, there is a transformation matrix R such that Qb = RQa, where Qa is a vector in the first coordinate system, and Qb is the same vector in the second coordinate system. The transformation is thus described by the nine components of the matrix R. Usually the main component of transformation form system to another one contains the following : •

Translations Objects are usually defined relative to their own coordinate system. We can translate points in space to new positions by adding offsets to their coordinates.



Rotations Rotations in three-dimensions are considerably more complicated than twodimensional rotations. In general, rotations are specified by a rotation axis and an angle. In two-dimensions there is only one choice of a rotation axis that leaves points in the plane.

-2-



Scaling

Scaling also is important from system to system, since it maybe small or large one.

General Three dimensional Rotations A rotation matrix for any axis that does not coincide with a coordinate axis can be set up as a composite transformation involving combination of translations and the coordinate-axes rotations. There are 7 unknown required to transfer system to another system they are: o Shift [ Xo, Yo & Zo ] o Rotation [ omga, phi & kappa ] o Scale So get there unknown parameter the min number of ground control points required are three as minimum, the matrix below show the relation between all there unknown parameter

Where X, Y & Z are Ground Coordinates Xo, Yo & Zo are Coordinates Shift λ is Scale Factor R is Rotation Matrix x, y & z are Model Coordinates To solve a spatial similarity problem direct and iterative solutions have been worked our, here we describe the direct solution for absolute orientation.

-3-

Mathematical and algorithmic formulation •

Reduce the coordinates in both coordinates systems to the center of gravity; in this case the shift parameters are eliminated, as shown the center of gravity for each system equal to the sum divided by number of points.



Calculate the average distance of the points to its center of gravity in both coordinate systems, in this case the scale can be calculated.

After Appling the scale factor the final form will be as shown Where X” = λ . X’ Y” = λ . Y’ Z” = λ . Z’

-4-



Estimate the rotation parameters between the centered and scale adapted point coordinates of both coordinate systems.

As shown to find the value of a, b and c we use the least square method, also it is possible to find the standard deviation which represent the error in our results.

-5-

As a, b and c are found, using the equations above to find the S value and then calculate the rotation matrix, which represents the rotation in the three dimensions (X, Y and Z), as shown omega, phi and kappa can be calculated ( here the results are in Radian). From the above we know till now the scale factor and the Rotation matrix, we still looking to find the shift between the two coordinates, here we can use the COG as a given point using the original transformation matrix to find the shift (Xo, Yo and Zo) between the two systems.

The last step now is to use the calculated 7 parameters to transfer any given points, as shown above the solution for given (x,y,z) point.

Summary of MatLab Code

SST is the Running program, the main purpose of this file is to insert the coordinate that we need to transfer it and to get the final results which include the 7 unknown parameters ( Shift, Rotation and Scale, [+ sigma]) and the transfer points coordinates.

-6-

Spatail_similarity is the main function which get the given unknown ground control points coordinated and then it calculate the 7 parameter and send it to the SST file. To check our code we crate another code which crate a 7 parameter randomly and another 10 ground control points in the first system, which then transform by the random parameter to get their corresponding coordinate in the second coordinate system, as we have these parameters and points we run the SST code to get the results (the 7 parameters) and then we compare it with the random parameters the we used.

Example we generate a data set for 10 points in each coordinate system using random parameter, the data below show these data form a MatLab code prepare to do this step, here we have twenty points, ten of them will be uses as ground control points, and the rest ten points will be transform using our code and then compare the results with the same data set for the second system. omega = 8.7574 phi = 7.3731 kappa = 1.3652 Scale = 1.1757 XYZ0_coordenates = 2.7185 31.2685 1.2863

7.6037 5.2982 6.4053 2.0907 3.7982

7.8886 4.3866 4.9831 2.1396 6.4349

6.2989 3.7048 5.7515 4.5142 0.4390

XYZ_coordenates = 13.4032 40.2482 6.2991 37.5702 7.1687 35.4836 10.8922 37.4652 6.9364 39.3123 8.5757 31.7177 3.9699 37.5202 15.6330 30.6958 10.4272 35.1735 7.8908 34.6470 9.7507 40.1920 7.5556 30.4957 7.7530 40.1669 5.3950 42.2876 10.117941.9800 9.2506 12.3127 39.6948 9.3313 35.9724 10.9139 36.3577 5.7771 33.0573 7.0332 38.8544

xyz_coordenates = 8.9390 7.8333 3.2004 1.9914 6.8085 9.6010 2.9872 4.6110 7.2663 6.6144 5.6783 4.1195 2.8441 7.9421 7.4457 4.6922 0.5918 2.6795 0.6478 6.0287 4.3992 9.8833 0.5027 9.3338 5.8279 4.1537 6.8333 4.2350 3.0500 2.1256 5.1551 8.7437 8.3924 3.3395 0.1501 6.2878 4.3291 7.6795 1.3377 2.2595 9.7084 2.0713 5.7981 9.9008 6.0720

5.1093 13.3042 10.0686 6.1119 10.9039 3.8025 7.3622 10.7027 9.0748 3.6791 11.8065 8.0759 3.6024 5.1178 8.8834 5.5888 7.8959 6.5760 2.4165

Now we use the first ten points as a CGP’s to find the parameter and the rest ten points (X,Y,Z) as a given points to transform it to (x,y,z) System Shift_in_Coordinates = 2.7185 31.2685 Rotation_opk = 8.7574 7.3731 Scale = 1.1757 Standard_Deviation = 0.0000

1.2863 1.3652

-7-

Results = X 9.7507 7.5556 7.753 5.395 10.117941.98 12.3127 9.3313 10.9139 5.7771 7.0332

Y 40.192 30.4957 40.1669 42.2876 9.2506 39.6948 35.9724 36.3577 33.0573 38.8544

Z 11.80655.1551 8.0759 3.6024 5.1178 5.7981 8.8834 5.5888 7.8959 6.576 2.4165

x

y 8.7437

3.3395 4.3291 2.2595

0.1501 7.6795 9.7084 9.9008

7.6037 5.2982 6.4053 2.0907 3.7982

z 8.3924 6.2878 1.3377 2.0713 6.072

7.8886 4.3866 4.9831 2.1396 6.4349

6.2989 3.7048 5.7515 4.5142 0.4390

Result Summary The table below summarizes the used parameters and the calculated one.

Parameter XYZo Rotation opk Scale Sigma Tranform XYZ

Used

Calculated

2.7185 31.2685 1.2863 8.7574 7.3731 1.3652 0.9500 --5.1551 8.7437 8.3924 3.3395 0.1501 6.2878 4.3291 7.6795 1.3377 2.2595 9.7084 2.0713 5.7981 9.9008 6.0720 7.6037 7.8886 6.2989 5.2982 4.3866 3.7048 6.4053 4.9831 5.7515 2.0907 2.1396 4.5142 3.7982 6.4349 0.4390

-8-

2.7185 8.7574

31.2685 7.3731 0.9500 0.0000 5.1551 8.7437 3.3395 0.1501 4.3291 7.6795 2.2595 9.7084 5.7981 9.9008 7.6037 7.8886 5.2982 4.3866 6.4053 4.9831 2.0907 2.1396 3.7982 6.4349

1.2863 1.3652 8.3924 6.2878 1.3377 2.0713 6.0720 6.2989 3.7048 5.7515 4.5142 0.4390

Related Documents

Similarity
November 2019 13
Similarity
August 2019 15
Spatial
October 2019 24
Transformation
October 2019 48
Transformation
November 2019 32