Научная статья на тему 'Direct solutions of 3D coordinate transformation parameters'

Direct solutions of 3D coordinate transformation parameters Текст научной статьи по специальности «Медицинские технологии»

CC BY
211
646
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Direct solutions of 3D coordinate transformation parameters»

УДК 528.2 Хуань Фань

Королевский технический институт, Швеция

ПРЯМОЕ РЕШЕНИЕ ПАРАМЕТРОВ ПРЕОБРАЗОВАНИЯ ТРЕХМЕРНЫХ КООРДИНАТ

Huaan Fan

Division of Geodesy

Royal Institute of Technology (KTH)

Sweden

Email: [email protected]

DIRECT SOLUTIONS OF 3D COORDINATE TRANSFORMATION PARAMETERS

Abstract

This paper deals with three-dimensional (3D) coordinate transformation between

2 Cartesian coordinate systems using the Helmert-type model, namely with 3 translations, 3 rotations and 1 or 3 scale factors. Without involving the least adjustment procedure, we derive direct solutions of the transformation parameters based on two sets of Cartesian coordinates at 3 or 4 common points. The derived solutions are valid for large rotation angles and large scale changes.

1 Introduction

Two sets of three-dimensional Cartesian coordinates defined in two different coordinate systems may be related to each other by the well known Helmert transformation model:

where:

X (1), Y (1), Z (1) stand for coordinates in the first coordinate system X (2), Y (2), Z (2) stand for coordinates in the second coordinate system Sx, Sy, Sz denote the three translation parameters

a1, a2, a3 denote the three rotation angles around the x-, y- and z-axis, respectively

^ is the scale factor which is often written as the sum of unity (1) and a scale change 5s, often expressed as ppm (part per million):

s = 1 + ôs

(2)

R denotes the total rotation matrix R which is the product of three separate rotations:

Obviously, equations given in Eq. (1) are not linear with respect to the scale factor and the rotation angles. In many applications, one often assumes that the scale factor s is very close to 1 (i.e. the scale change 8s is near zero) and that the rotation angles a1, a2, a3 are very small so that

Sin , cos « 1 , 8s • ai « 0 (i = 1, 2, 3) (4)

Substitution of Eq.(5) in Eq.(l) leads to linear observation equations for the transformation parameters:

jfa51 Sy

' % № -* 1 < " ' ' 1 0 0 xm 0

y Wi, - ) i' = 0 L 0 v 0! 0

_ Z"1 _ 0 0 3 fax ^ n JB$ Q

a 2 MM

Then the scaled rotation matrix can be approximated by:

In some special situations, the rotation angles can be large and the scale factor may differ significantly from 1. In laser scanning, for instance, the internal coordinate system of the scanner may have large rotation with respect the axes of the external (geodetic) coordinate system. Another example is construction of large, pre-manufactured structures (Deakin, 1998), where the coordinate system of the manufacturing site is very different from the coordiante system at the construction site so that Eq. (4) is not valid.

Advanced estimation of transformation parameters using least squares method is based on linearization of the non-linear observation equations expressed by Eq.(l). Linearization requires approximate values of the unknown transformation parameters. If rotations and scale factors are large, there is a need to find efficient approach to obtain approximate values. Deakin (1998) suggested a simple way of estimating the scale factor, namely calculating the ratio between distances in two coordinate systems. In Fan (2005), a direct approach has been proposed to compute the scale factor. However, this approach requires 4 control points at which coordinates in two coordinate systems are given. For each control point, Eq.(l) implies 3 equations. To solve for 7 transformation parameters, one may guess that 3 points should be sufficient as 3 points can give 9 equations.

In this paper, we will present a new solution to determine the transformation parameters based only on 3 control points where coordinates in 2

Cartesian systems are given. The new solution is based on Eq. (1) but introduces three scale factors si, 82, £3 in the directions of x- y- and z-axis, respectively.

where S is a diagonal matrix containing the scale factors:

2 Direct solution of 9 transformation parameters

Assume that we have three control points Pt (i = 1, 2, 3) at which the Cartesian coordinates X (1), Y t (1), Z t (1) in the first coordinate system and coordinates X (2), Y (2), Zt (2) in the second coordinate system are given. Assume also that the two coordinate systems is related to each other by a 3D Helmert-type transformation model with 3 translations, 3 rotations and 3 scale factors:

' 5#' Sx r v 1

y (2). = Sy' + R ■ P m (1)

. IP , & Z,(v>

where R is the total rotation matrix given in Eq. (3) and S is scale matrix defined in Eq.(8).

Derivation of the scale factors

Now we sum up the three equations in Eq. (9) for i = 1,2,3 and then divide both sides by 3. Then we obtain the transformation equation for the geometric center of P1, P2 and P3

f v $8 1 Aq - v 0.) 1 A0

v 1 0 Sy ■- R ■ S y m * 0

/ m . 0 . Sz ■7 IB . 0 .

where:

¿=1

If

if

Subtracting Eq. (10) from Eq. (9) for i = 1,2,3, we eliminate the translation parameters and obtain the transformation between coordinates reduced to the network center:

r X «1

jrm vtft

1 ’ Ü

y.Ö) 1 i - i

zi1] 4

fij

®fc

ü

i CM In i ' Miß ]

I fflp) 1 7 — w}

i CN ‘n~ 1 1 fe, CO 1 i <M ‘ sf 1

m

with:

Multiplying each side of Eq.(ll) by its transpose and noting that R is an

orthogonal matrix, i.e. RRT = RR1 = I, we have:

rx^-1 T f Xp 1

w Tt* — Wp

. if8. z(1)

r I f 1 T r 2^ 1

?/» — Wß STS

, z? - . z" .

For i = 1,2,3, the last equation forms a linear equation system for the unknown scale factors

which can be rewritten as:

(squared)

where U and V are as follows:

The scale factors (squared) can then be solved directly:

r «?2 1 si r 1 si

s2 1 o J-i s2

_ s3 . . S3 _

(r;'n ' t:rv

Pt

If we know in advance that the three scale factors are identical, s} = s2 = s3 s, Eqs.(13) and (14) lead to a simple solution for the scale factor s :

Derivation of the rotation matrix R

When sj, s2 and s3 have been determined, we can rewrite Eq. (11) as:

[ xp ) asf« 1

pm = R ■M F(i) i

. i*,

f = 1,2,3)

P*

In order to solve for the unknown rotation matrix îxj , we make use of a procedure used in Deakin (1998).

The main idea is to use the coordinates for i = 1,2 to construct a set of

three orthogonal, unit vectors ?/, and ?3. With respect to 7;, ~t2 and ?3, one can define a new set of Cartesian coordinates (ui, vi, wi) for i = 1,2,3, ... The elements of these three vectors can be computed from the scaled, reduced coordinates on the right-hand side of Eq. (17) or from the reduced coordinates on the left-hand side of Eq.(17). Details on how to contruct the orthogonal vectors are presented in the Appendix.

Once "?/, 72 and "?3 have been constructed, we can relate coordinates

(Uj, Vj, Wj) to coordinates in Eq.(17):

Ui Sl xP I

Vi = E s2 rP

Wi , 0.1

L ' J . -53

(18)

where:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

s =

13 '■ 1 eai

:®î?

632

f'1.1

'■ V;( e33

1 ■e'l2 ®13

II i e21

co <ü ,v #33 r

m

All elements eij and e’j (i,j = 1,2,3) can be found in the Appendix. Substitution of Eq.(18) and Eq.(19) into Eq.(17), we finally obtain the rotation matrix:

R= (E')-1 E = (E')T E

(21)

where we have considered the fact that both E and E are orthogonal matrices.

Derivation of the rotation angles

That R has been determined in Eq.(21) means that all elements of R are now known:

Comparing corresponding matrix elements in Eq. (22) with elements in Eq. (3), the three rotation angles can be easily solved:

sin a2 = r 31

(23)

One can notice from Eq. (23) that a2 may have two solutions, a2 or 180° — a2. However, this uncertainty does not influence coordinate transformation due to the following identity:

R(ah a2, a3) = R(180°+a 1, 180° - a2, 180°+ a3) (26)

Derivation of the translation parameters

When the scale factors and rotation angles have been solved, the translation parameters can then be found easily from Eq.(9) or Eq.(10):

<)x ’ lip ’ r i

Sy y 0?) i -RS r_(u

, z‘-'y) J 4®.

3 Numerical Test

To demonstrate and also numerically verify the direct solutions given by Eqs.(15), (23), (24), (25) and (27), we create a simulated data set by the following steps: (1) Coordinates at 3 Swedish permanent GPS stations are chosen as the coordinates in the first coordinate system (see Table 1); (2) Numerical values for the 9 Helmert transformation parameters are assumed (see Table 2) and (3) Coordinates in the second system are then obtained by Eq.(9), using the assumed transformation parameters and coordinates in the first system (see Table 3).

Table 1. Correct coordinates in the first coordinate system

i Xi Yi Zi(1)

meter meter meter

1 2 998 189.685 931 451.634 5 533 398.462

2 3 370 658.823 711 876.990 5 349 786.786

3 3 246 470.535 1 077 900.355 5 365 277.896

Table 2. Correct transformation parameters

Parameter Unit Numerical value

5x meter 100

5y meter 200

5z meter 3000

S1 1

S2 1.7

S3 4

a1 degree 101

a,2 degree 33

a3 degree 174

Using formulas in Eq.(12), the reduced coordinates are calculated and listed in Table 4 :

в

sin 0:2 = '/.'31 = il."> 1 I 639 035 015 33.000 000 000 0

Eq. (26) shows, the two solutions of the rotation angles give identical rotation matrix.

Finally, one can calculate the translation parameters using previously deriveded values for rotation angles and scale factors:

r ift#» =:---:= 0.104 528 463 268

Itllilsi

ЖШЩ = = -ИИ 89S.368

со й n

L -Щ --= 171.000 00Q 00:0’0

The second solution for the rotation angles are:

lie' Г ж®11 ' 100.0000 '

Sy = rl . - !?■ ■ # = So. 0000

ffc s.ip #1С1) . 3 000,0000

4 Concluding Remarks

In this paper, we have extended the Helmert-type model for threedimensional coordinate transformation to include 3 scale factors, in addition to

3 translations and 3 rotations. Based on coordinates at 3 control points in 2 different Cartesian coordinate systems, we have derived direct solutions for the 9 transformation parameters. A numerical example involving errorless cooordinate data has verified the derived formulas.

The direct solution is straight-forward and does not require approximate values as in the case of traditional least squares adjustment with linearized observations. The solution is valid for arbitrarily large rotation angles and scale factors which are significantly different from 1. Therefore, the new solution can be used for coordinate transformation in special construction projects or for laser scanning where large rotations are involved. Furthere more, when there are more than 3 control points and coordinate data contain measurement errors, the new solution can be used to derive approximate values for the transformation parameters before a rigorous and linearized least squares adjustment is performed.

Using 3 different scale factors will lead to a nor-conformal transformation. If one prefers a conformal transformation model with one common scale factor, the direct solution derived in this paper may still be used to find approximate value for the scale factor and for checking whether or the the two coordinate systems have different scales.

Appendix Construction of the orthogonal vectors 7/, 72 and ?3 1 For the scaled coordinates in the first coordinate system (right-side of Eq. 17), two unit vectors (written as row vectors) can be obtained:

The orthogonal unit vectors can then be constructed:

where etj are elements of three orthogonal vectors, s denotes angle between a and H and be obtained from the inner-product of « and H :

cos s

b

(32)

From Eq.(31), one can find all elements of 7/, 72 and

« 3

' I =I

e-22 = «2

Ü 23 =

jegl — Pi »3,- fa

üg = fit 9% - % agj / sin«

eas = sfc is - ^2 SaUlffil

f;l I = fe &®S: É81

'• 1 “ <?1 8:33

=■ ai 632 - «2 < :;l

(33)

1 This appendix follows Deakin (1998).

Construction 7 7? and 73 from the reduced coordinates y/2), the 2nd system can be done in exactly the same way as described above. We start with the two vectors associated with Pj and P2 :

h(2) in

t! = j

X

(2)

m

m

m

a

-i « b «2 and -i ■S3

~e2 = [ rV>l e22

e*3 = [ -#§i.

e^i = [ 4i !e12

where e ij are

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

fife J — a

= . 1 |* |

(37)

between and v and be obtained from the inner-product of a' and v

cos £* = 7 • V (38)

From Eq.(31), one can find all elements of ~7i,

and

-21

«k = {h-’a’. ~ h'& *#/;sin:£' 2 "1 %

Sis ~ (Is

6^2 — Cti

2 e33

a:

'3 32

6i n — Oo Co-i C£

-12 — ^3 C31

^13 = aa ®32

I s

a'2 «id

(39)

References

Deakin, R.E. (1998). 3-D coordinate transformations. Surveying and Land Information Systems, Vol. 58, No.4, 1998, pp.223-234.

Fan, H. (1997). Theory of errors and least squares adjustment. TRITA GEOFOTO 1997:21. Department of Geodesy and Photogrammetry, Royal Institute of Technology, Stockholm, October 1997.

Fan, H. (2000). Theoretical Geodesy. TRITA GEOFO 2000:23. Department of Geodesy and Photogrammetry, Royal Institute of Technology, Stockholm, October 2000.

Fan, H. (2005). Three-dimensional coordinate transformation with large rotations and scale change. Presented at the International Workshop on Geospatial Information Technology, 27-28 October 2005, Technical University of Moldova, Chisinau, Moldova.

Wolf, P.R. (1974). Elements of Photogrammetry. McGraw Hill, New York, 1974.

© XyaHb 0aHb, 2009

12

i Надоели баннеры? Вы всегда можете отключить рекламу.