• No results found

4-Trasformations4page.pdf

N/A
N/A
Protected

Academic year: 2020

Share "4-Trasformations4page.pdf"

Copied!
25
0
0

Loading.... (view fulltext now)

Full text

(1)

Computer Graphics Unit

Manchester Computing Centre

University of Manchester

Department of Computer Science

University of Manchester

Computer Graphics

and Visualisation

Developed by

Geometry for Computer Graphics

Overhead Projection (OHP) Overviews

(2)

Produced by the ITTI Gravigs Project Computer Graphics Unit

Manchester Computing Centre MANCHESTER M13 9PL

First published by UCoSDA in May 1995

 Copyright The University of Manchester 1995

The moral right of Fenqiang Lin, Karen Wyrwas, John Irwin, Christopher Lilley, William Terence Hewitt and Toby Leslie John Howard to be identified as the authors of this work is asserted by them in accordance with the Copyright, Designs and Patents Act (1988).

ISBN 1 85889 059 4

The training materials, software and documentation in this module may be copied within the purchasing institution for the purpose of training their students and staff. For all other purposes, such as the running of courses for profit, please contact the copyright holders.

For further information on this and other modules please contact:

The ITTI Gravigs Project, Computer Graphics Unit, Manchester Computing Centre. Tel: 0161 275 6095 Email:[email protected]

To order further copies of this or other modules please contact: Mrs Jean Burgan, UCoSDA.

Tel: 0114 272 5248 Email:[email protected]

(3)

CopyrightUniversity of Manchester 1995 Geometry:1

Two-Dimensional

Transformations

CopyrightUniversity of Manchester 1995 Geometry:2

Two-Dimensional

Transformations

■ Transforming a point

Transforming an object

Types of Transformation

Translation

x' = x t+ x

y' = y t+ y

Types of Transformation

Scaling

x' = x sx

(4)

CopyrightUniversity of Manchester 1995 Geometry:5

Symmetric vs asymmetric

scaling

■ Symmetric scaling:sx= sy

Asymmetric scaling:sx>sy orsx<sy

CopyrightUniversity of Manchester 1995 Geometry:6

Scaling to achieve

reflection

■ Reflection iny axis:sx<0

Reflection inx axis:sy<0

Scaling to achieve

reflection

Reflection inx andy axes:

sy<0 and sx<0

Types of Transformation

(5)

CopyrightUniversity of Manchester 1995 Geometry:9

Rotation

x = R⋅cosβ

y = R⋅sinβ

x' = R⋅cos(α β+ )

y' = R⋅sin(α β+ )

CopyrightUniversity of Manchester 1995 Geometry:10

Rotation

Expanding the formulae for cos(α+β) and sin(α+β):

Substituting for and :

x' = R⋅cos(α β+ )

y' = R⋅sin(α β+ )

x' = R⋅cosα⋅cosβ–R⋅sinα⋅sinβ

y' = R⋅sinα⋅cosβ+R⋅sinβ⋅cosα

R⋅cosβ R⋅sinβ

x' = x⋅cosα–y⋅sinα

y' = x⋅sinα+y⋅cosα

Types of Transformation

Shearing

❏ Shear inx:a≠0 ❏ Shear iny:b≠0

❏ Shear inx andy:a≠0 andb≠0

x' = x y a+ ⋅

y' = y x b+ ⋅

Matrix Representation of

Transformations

Translate:

Scale:

■ Rotate:

x' = x t+ x

y' = y t+ y

x' = x sx

y' = y sy

x' = x⋅cosα–y⋅sinα

(6)

CopyrightUniversity of Manchester 1995 Geometry:13

Matrix Representation of

Transformation

■ Shear:

In general:

x' = x y a+ ⋅

y' = y x b+ ⋅

x' = a x b⋅ + ⋅y c+

y' = d x e⋅ + ⋅y f+

CopyrightUniversity of Manchester 1995 Geometry:14

Matrix Representation of

Transformations

Using matrices:

Includea -f in one matrix:

x' = a x b⋅ + ⋅y c+

y' = d x e⋅ + ⋅y f+

x' y' a b d e x y c f + • = x' y'

a b c d e f

x y

1

=

Matrix Representation of

Transformations

Using a square matrix:

x' = a x b⋅ + ⋅y c+

y' = d x e⋅ + ⋅y f+

x'

y'

w'

a b c d e f g h i

x y

1

=

Matrix Representation of

Transformations

■ Translate:

Scale:

■ Rotate:

1 0 tx

0 1 ty

0 0 1

sx 0 0 0 sy 0 0 0 1

α

cos –sinα 0 α

sin cos 0α

(7)

CopyrightUniversity of Manchester 1995 Geometry:17

Matrix Representation of

Transformations

■ Shear:

Identity matrix:

1 a 0

b 1 0 0 0 1

x'

y'

w'

1 0 0 0 1 0 0 0 1

x y

1

=

x' = x

y' = y

w' = 1

CopyrightUniversity of Manchester 1995 Geometry:18

Combining

Transformations

Can perform complex transformations by combining simple ones.

For example, rotating an object about its centre:

Combining

Transformations

1. Translate by (-xc, -yc) 2. Rotate about the origin 3. Translate by (xc,yc)

1 2 3

Combining

Transformations

Rotating an object about its centre: 1. Translate by (-xc,-yc):

2. Rotate about the origin:

x1 y1

1

1 0 –xc

0 1 –yc

0 0 1

x y 1 • = x2 y2 1 α

cos –sinα 0 α

sin cos 0α

0 0 1

x1 y1

1

(8)

CopyrightUniversity of Manchester 1995 Geometry:21

Combining

Transformations

3. Translate by (xc,yc):

Total transformation is:

x3 y3

1

1 0 xc

0 1 yc

0 0 1

x2 y2

1

• =

1 0 xc

0 1 yc

0 0 1

α

cos –sinα 0 α

sin cos 0α

0 0 1

1 0 –xc

0 1 –yc

0 0 1

CopyrightUniversity of Manchester 1995 Geometry:22

Ordering Transformations

Matrix multiplication is NOT

commutative,

■ Order of transformations is important

M1•M2≠M2•M1

Ordering Transformations

Rotate then translate

Translate then rotate

Ordering Transformations

POSTCONCATENATEM2 withM1:

(M1 applied first)

PRECONCATENATEM2 withM1:

(M2 applied first)

■ Premultiply≡Postconcatenate

Postmultiply Preconcatenate

p' = M2•M1•p

(9)

CopyrightUniversity of Manchester 1995 Geometry:25

Homogeneous

Coordinates

■ Point in2D space expressed in

3D homogeneous coordinates

■ If bottom row of matrix is [0 0 1],

■ If project point onto

planew=1 byhomogeneous division(using the origin as the centre of projection )

x'

y'

w'

a b c d e f g h i

x y

1

=

w' = 1

w'≠1 (x',y',w')

CopyrightUniversity of Manchester 1995 Geometry:26

Homogeneous

Coordinates

■ Real world coordinates are and

where

x''

y''

x'' = x'⁄w'

y'' = y'⁄w'

Homogeneous

Coordinates

Perform homogeneous division to get “real world” coordinates:

Effect is OVERALL scaling.

x'

y'

w'

1 0 0 0 1 0 0 0 4

x y

1

• =

x'' = x'⁄w' = x⁄4

y'' = y'⁄w' = y⁄4

Object vs Axis

Transformation

Object transformation

■ Object transformed

(10)

CopyrightUniversity of Manchester 1995 Geometry:29

Object vs Axis

Transformation

Axis transformation

Object fixed in space

■ Axes transformed

CopyrightUniversity of Manchester 1995 Geometry:30

Object vs Axis

Transformation

■ Object translation by (dx,dy)

≡ Axis translation by (-dx, -dy)

■ Object scale by (sx,sy)

≡ Axis scale by (1/sx, 1/sy)

Object rotation byα

≡ Axis rotation by -α

Normalization

Transformation in GKS

1. Translate bottom left hand corner of window to origin:

x1 y1

1 0 –wxmin

0 1 –wymin x y

• =

Normalization

Transformation in GKS

2. Scale window to size of viewport:

where

x2 y2

1

sx 0 0 0 sy 0 0 0 1

x1 y1

1

• =

sx wvxmaxvxmin

xmaxwxmin ---=

sy vymaxvymin wymaxwymin

(11)

CopyrightUniversity of Manchester 1995 Geometry:33

Normalization

Transformation in GKS

3. Translate to bottom left hand corner of viewport:

Normalization transformation is:

x3 y3

1

1 0 vxmin

0 1 vymin

0 0 1

x2 y2

1

• =

1 0 vxmin

0 1 vymin

0 0 1

sx 0 0 0 sy 0 0 0 1

1 0 –wxmin

0 1 –wymin

0 0 1

• •

CopyrightUniversity of Manchester 1995 Geometry:34

Two-Dimensional

Transformations

■ Different types: translation, scaling,

rotation, shearing.

■ Object vs axis transformations

Matrix representation

■ Combine transformations by

multiplying matrices

■ Homogeneous division to get “real

world” coordinates

x'

y'

w'

a b c d e f g h i

x y

1

• =

x'' = x'⁄w',y'' = y'⁄w'

Three-Dimensional

Transformations

Three-Dimensional

Transformations

For manipulating pictures (as in 2D)

Help us to understand 3D shape

(12)

CopyrightUniversity of Manchester 1995 Geometry:37

Homogeneous

Coordinates

Obtain “real world” coordinates by homogeneous division:

x'

y'

z'

w'

a b c d e f g h i j k l m n o p

x y z w • =

x'' = x'⁄w'

y'' = y'⁄w'

z'' = z'⁄w'

CopyrightUniversity of Manchester 1995 Geometry:38

Types of

Three-Dimensional

Transformation

Translate:

Scale:

1 0 0 tx 0 1 0 ty 0 0 1 tz 0 0 0 1

sx 0 0 0 0 sy 0 0 0 0 sz 0 0 0 0 1

Types of

Three-Dimensional

Transformation

■ Shear:

1 b c 0

e 1 g 0

i j 1 0 0 0 0 1

Types of

Three-Dimensional

Transformation

■ Rotation:

■ Rotation aboutx-axis:

a b c 0

e f g 0

i j k 0 0 0 0 1

1 0 0 0

0 cosα –sinα 0

(13)

CopyrightUniversity of Manchester 1995 Geometry:41

Types of

Three-Dimensional

Transformation

■ Rotation abouty-axis:

■ Rotation aboutz-axis:

α

cos 0 sinα 0 0 1 0 0

α

sin

– 0 cos 0α 0 0 0 1

α

cos –sinα 0 0 α

sin cos 0 0α

0 0 1 0 0 0 0 1

CopyrightUniversity of Manchester 1995 Geometry:42

Rotation about

an arbitrary axis

1. Translate so axis of rotation passes through origin

2. Rotate so that axis of rotation coincides with one of the coordinate axes

3. Perform specified rotation about coordinate axis

4. Apply inverse rotation from (2) 5. Apply inverse translation from (1)

Perspective

Transformations

x' y' z' w'

1 0 0 0 0 1 0 0 0 0 1 0 0 0 γ 1

x y z 1 • = x y z

γ⋅z+1 =

Perspective

Transformations

After homogeneous division

Asz→ ∞

x'' x γ⋅z+1 ---=

y'' y γ⋅z+1 ---=

z'' z γ⋅z+1 ---=

x''→0

y''→0

(14)

CopyrightUniversity of Manchester 1995 Geometry:45

Perspective

Transformations

■ BEFORE transformation lines parallel

toz-axis

■ AFTER transformation lines pass

through point (0, 0, 1/γ)

■ Vanishing point is (0, 0, 1/γ)

Eye point/centre of projection is

(0, 0, -1/γ)

One point perspective

transformation

CopyrightUniversity of Manchester 1995 Geometry:46

Perspective

Transformations

■ One point:

1 0 0 0 0 1 0 0 0 0 1 0

α 0 0 1

1 0 0 0 0 1 0 0 0 0 1 0 0 β 0 1

Perspective

Transformations

Two point:

■ Three point:

1 0 0 0 0 1 0 0 0 0 1 0

α 0 γ 1

1 0 0 0 0 1 0 0 0 0 1 0

α β γ 1

Perspective

Transformations

Points behind the Eye Point

Perspective transformation with eye point at (0, 0,c):

x'

y'

z'

w'

1 0 0 0 0 1 0 0 0 0 1 0 0 0 1– ⁄c 1

x y z 1 • = x y z c z– ( ) ⁄c

(15)

CopyrightUniversity of Manchester 1995 Geometry:49

Perspective

Transformations

Points behind the Eye Point

w’ > 0 forz<c

w’ = 0 forz=cw’ < 0 forz>c

CopyrightUniversity of Manchester 1995 Geometry:50

Perspective

Transformations

Points behind the Eye Point

Perspective

Transformations

Points behind the Eye Point

Want to simulate what eye would

see

Clip BEFORE perspective

transformation (zc)

Perspective

Transformations

Points behind the Eye Point

Clip after perspective

(16)

CopyrightUniversity of Manchester 1995 Geometry:53

Projections

Translation, rotation etc. all 3D3D

■ Projection is 3D→2D

Similar to casting shadows

CopyrightUniversity of Manchester 1995 Geometry:54

Perspective Projections

Produces realistic images

Perspective Projections

To calculate newx andy coordi-nates use similar triangles:

similarly

Like perspective transformation

x'

c

--- x'–x

z

--- x' x 1–z c⁄ ---=

→ =

y' y 1–z c⁄ ---=

Parallel Projections

Perspective projection with centre

of projection at∞

Less realistic

■ Retains size information for

(17)

CopyrightUniversity of Manchester 1995 Geometry:57

Classification of

Projections

CopyrightUniversity of Manchester 1995 Geometry:58

Transformations

and Viewing in

GKS-3D and PHIGS

GKS Output Pipeline

GKS Output Pipeline

Converts user-defined graphical

information to device coordinates for display.

■ GKS-3D and PHIGS need also to

(18)

CopyrightUniversity of Manchester 1995 Geometry:61

GKS-3D Output Pipeline

pd =WVmVoSNpw

CopyrightUniversity of Manchester 1995 Geometry:62

Normalization

Transformations in GKS-3D

Segment Transformation

(19)

CopyrightUniversity of Manchester 1995 Geometry:65

PHIGS Output Pipeline

pd=WVm •Vo •GLpm

CopyrightUniversity of Manchester 1995 Geometry:66

Modelling Clip

Clipping limits are affected by

mod-elling transformation

Possible Implementation

(20)

CopyrightUniversity of Manchester 1995 Geometry:69

The Viewing Pipeline

CopyrightUniversity of Manchester 1995 Geometry:70

The Viewing Pipeline

View orientation and mapping

transformations specified as matrices

■ Gives maximum flexibility to the user

Hard to set the matrices!

■ Viewing utility routines

EVALUATE VIEW ORIENTATION MATRIX

■ EVALUATE VIEW MAPPING MATRIX

Viewing model

4 4×

Model for View

Orientation

View orientation transformation

maps from NDC3 to VRC

VRC is an intermediate coordinate

system

■ VRC defined so that view plane is

parallel to the VRCxy-plane

(21)

CopyrightUniversity of Manchester 1995 Geometry:73

EVALUATE VIEW

ORIENTATION MATRIX

■ Parameters define position and

orientation of VRC with respect to NDC3

View reference point (VRP) - origin

of VRC

View plane normal (VPN) - defines

n-axis of VRC

View up vector (VUV) - defines

v-axis of VRC

CopyrightUniversity of Manchester 1995 Geometry:74

EVALUATE VIEW

ORIENTATION MATRIX

Deriving the View

Orientation Matrix

Inverse of axis transformation =

equivalent object transformation

Inverse view orientation

transformation maps unit vectors on NDC3 axes onto VRC axes

Rotate vectors to align with VRC

axes (R)

■ Translate by VRP, T

1 0 0 VPRx

0 1 0 VPRy

0 0 1 VPRz

0 0 0 1 =

Deriving the View

Orientation Matrix

It can be shown that

where are the components of in world-coordinates and similarly for and

R

ux vx nx 0

uy vy ny 0

uz vz nz 0 0 0 0 1 =

ux, ,uy uz

( )

u

(22)

CopyrightUniversity of Manchester 1995 Geometry:77

Deriving the View

Orientation Matrix

Inverse view orientation

transformation =

View orientation transformation

T R•

R

= –1•T–1

ux uy uz 0

vx vy vz 0

nx ny nz 0 0 0 0 1

1 0 0 –VPRx

0 1 0 –VPRy

0 0 1 –VPRz

0 0 0 1

• =

CopyrightUniversity of Manchester 1995 Geometry:78

Model for View Mapping

Creates view required

■ Parallel or perspective projection

retaining third dimension for HLHSR

■ Maps contents of view volume onto

projection viewport in NPC

EVALUATE VIEW MAPPING

MATRIX

Parameters describe:

■ View volume in VRC

View plane distance (VPD)

■ Front plane distance (FPD)

Back plane distance (BPD)

■ View window limits

Projection reference point (PRP)

■ Projection type: PARALLEL or

PERSPECTIVE

■ Projection viewport in NPC

Umin,Umax,Vmin,Vmax

( )

EVALUATE VIEW MAPPING

MATRIX

Creating the view

■ Parallel or perspective projection on

x andy (defined by PRP and view plane)

■ Maintains relativez information for HLHSR

■ Mapping contents of view volume

to projection viewport

■ After viewing transformation, view

volume is a cuboid

(23)

CopyrightUniversity of Manchester 1995 Geometry:81

Using the Viewing Model

Orthographic parallel

projections

Projectors perpendicular to view

plane

Projector direction defined by

vector from PRP to centre of view window

PRPx– (Umin+Umax) ⁄2 = 0

PRPy– (Vmin+Vmax) ⁄2 = 0

CopyrightUniversity of Manchester 1995 Geometry:82

Using the Viewing Model

Perspective projections

Lines not parallel to the view plane

converge to a vanishing point

One point

❏ 1 vanishing point→ 1 axis not

parallel to view plane

❏ view plane normal is one of

(a, 0, 0), (0,b, 0), (0, 0,c)

■ Two point

2 vanishing points 2 axes not

parallel to view plane

view plane normal is one of

(a,b, 0), (0,b, c), (a, 0,c)

Using the Viewing Model

Perspective projections

Three point

❏ 3 vanishing points→ all 3 axes not

parallel to view plane

(24)
(25)

These materials have been produced as part of the Information Technology Training Initiative, funded by the Information Systems Committee of the Higher Education Funding Councils.

For further information on this and other modules please contact:

The ITTI Gravigs Project, Computer Graphics Unit, Manchester Computing Centre. Tel: 0161 275 6095 Email:[email protected]

To order additional copies of this or other modules please contact:

Mrs Jean Burgan, UCoSDA.

References

Related documents

The specific content from the Core Knowledge Sequence to be covered includes: Christopher Columbus, the thirteen original colonies, the Boston Tea Party, the Minutemen and

Regurgitation Area Segmentation Using the Particle Swarm Optimization and Multilevel Threshold Selection.. Kalpana Chauhan 1*

The discussion of the findings has been grouped into five sections, namely: categories and procedures of recruitment; types of skills and micro financial

The factors and attitudes we have mentioned, and others which may contribute to increasing success in breast feeding, must be drummed into the consciousness of all hospital

Figure 6 shows the concentrations of nitric oxide, nitrogen dioxide, and carbon monoxide in the exhaust gas at different wall temperatures for pressures ranging from 0.1 to

This  study  is  of  major  importance  in  the  field  of  learning  environments  research.  It  is  unique  in  three  ways.  It  is  the  first 

As this modelling demonstrates, reducing the RET would improve the profits of coal power stations but escalate costs for the public through increased carbon pollution; no

• Follow up with your employer each reporting period to ensure your hours are reported on a regular basis?. • Discuss your progress with