SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
SBE 306B: Computer Systems III
Computer Graphics
Transformation
Dr. Ayman Eldeib
Systems & Biomedical
Engineering Department
Spring 2019
Computer Graphics Transformation
Transformation
 Transformation is a fundamental corner stone of computer
graphics and is a central to OpenGL as well as most other
graphics systems.(2D and 3D Transformation)
 Given an object, transformation is to change the object’s
Position (translation)
Size (scaling)
Orientation (rotation)
Shapes (shear)
Computer Graphics Transformation
Translations
Translate individual
vertices
 We can translate or move points to a new position by
adding offsets to their coordinates
Computer Graphics Transformation
 We can translate or move points to a new position by
adding offsets to their coordinates
 Translate individual vertices
y
x
tyy
txx




















y
x
t
t
y
x
y
x
'
'































1100
10
01
1
'
'
y
x
t
t
y
x
y
x
2D
Cont.
Translations
Computer Graphics Transformation
Homogeneous Coordinates
 Homogeneous coordinates: representing
coordinates in 2 dimensions with a 3-vector and
coordinates in 3 dimensions with a 4-vector
(Note that typically w = 1 in object coordinates)













w
z
y
x
zyx ),,(
Computer Graphics Transformation
 Homogeneous coordinates seem unintuitive, but
they make graphics operations much easier
 Our transformation matrices are now 4x4 for 3D
1 0 0
0 1 0
0 0 1
0 0 0 1
x
y
z
T
T
T
 
 
 
 
 
 
T
Translation matrix
P'P T
Homogeneous Coordinates
Computer Graphics Transformation
 We can translate or move points to a new position by
adding offsets to their coordinates
 Translate individual vertices





































11000
100
010
001
1
'
'
'
z
y
x
t
t
t
z
y
x
z
y
x
3D
z
y
x
tzz
tyy
txx



'
































z
y
x
t
t
t
z
y
x
z
y
x
'
'
'
P'P T
Cont.
Translations
Computer Graphics Transformation
Translate individual
vertices
 We can translate or move points to a new position by
adding offsets to their coordinates
 To transform an object multiply each vertex by the same
matrix
 A square translation can be done as follows:
]PPPP[]'P'P'P'[P 43214321 T
Cont.
Translations
Computer Graphics Transformation
Scaling
 Scaling a coordinate means multiplying each of its
components by a scalar
 Uniform scaling means this scalar is the same for all
components
 2
Computer Graphics Transformation
 Scaling a coordinate means multiplying each of its
components by a scalar
 2
ysy
xsx
y
x


Cont.
Scaling
Computer Graphics Transformation
 Scaling a coordinate means multiplying each of its
components by a scalar
ysy
xsx
y
x






















y
x
s
s
y
x
y
x
0
0

































1100
00
00
1
y
x
s
s
y
x
y
x
2D
3D
P
11000
000
000
000
1
P' S
z
y
x
s
s
s
z
y
x
z
y
x










































Scaling matrix
Cont.
Scaling
Computer Graphics Transformation
 Scaling a coordinate means multiplying each of its
components by a scalar
 Non-uniform scaling: different scalars per component
X  2,
Y  0.5
Cont.
Scaling
Computer Graphics Transformation
Fixed Point Scaling
Computer Graphics Transformation
Fixed Point Scaling Cont.
Computer Graphics Transformation

































1100
00
00
1
y
x
s
s
y
x
y
x
Fixed Point Scaling Cont.
Computer Graphics Transformation

































1100
00
00
1
y
x
s
s
y
x
y
x
Step 1:
Translate to the origin
Fixed Point Scaling Cont.
Computer Graphics Transformation

































1100
00
00
1
y
x
s
s
y
x
y
x
Step 2:
Scale the object
Fixed Point Scaling Cont.
Computer Graphics Transformation

































1100
00
00
1
y
x
s
s
y
x
y
x
Step 3:
Translate the object back
Fixed Point Scaling Cont.
Computer Graphics Transformation
1. Translate to origin
2. Scale
3. Translate back
  pTSTp 1

Fixed Point Scaling Cont.
Computer Graphics Transformation
Rotation

(x, y)
(x’, y’) x’ = x cos() - y sin()
y’ = x sin() + y cos()
   
    



















y
x
y
x
cossin
sincos
'
'
2D
Computer Graphics Transformation
 3-D is more complicated
 Need to specify an axis of rotation
 There are four ways to specify a 3D rotation
 Simple cases: rotation about X, Y, Z axes
 3-D rotation matrix look like
Rotation about the X-axis

































z
y
x
z
y
x
100
0)cos()sin(
0)sin()cos(
'
'
'
Rotation about the Y-axis Rotation about the Z-axis

































z
y
x
z
y
x
)cos(0)sin(
010
)sin(0)cos(
'
'
'
































z
y
x
z
y
x
)cos()sin(0
)sin()cos(0
001
'
'
'
Rotation Cont.
3D
Computer Graphics Transformation
Rotation about the X-axis Rotation about the Y-axis Rotation about the Z-axis


























11000
0cossin0
0sincos0
0001
)(
z
y
x
Rx 




























11000
0cos0sin
0010
0sin0cos
)(
z
y
x
Ry 

























 

11000
0100
00cossin
00sincos
)(
z
y
x
Rz



 3-D is more complicated
 Need to specify an axis of rotation
 There are four ways to specify a 3D rotation
 Simple cases: rotation about X, Y, Z axes
 3-D rotation matrix look like
Rotation Cont.
3D
Computer Graphics Transformation
 3-D is more complicated
 Need to specify an axis of rotation
 There are four ways to specify a 3D
rotation
 3D rotations – axis angle representation
 3-D rotation matrix look like
y
z
x
a

Rotate a point about an arbitrary axis a = (x,y,z) going through the origin
Note: the axis a should be of unit length
2
2
2
1 0 0 0
( , ) cos 0 1 0 (1 cos ) sin 0
0 0 1 0
x xy xz z y
R a xy y yz z x
xz yz z y x
   
     
    
        
         
Rotation Cont.
3D
Computer Graphics Transformation
Fixed Point Rotating
1. Translate to origin
2. Rotate
3. Translate back
 pTRTp 1

Computer Graphics Transformation
Matrix Composition
 Matrix multiplication does not commute
 Transformation products may not be
commutative
BAAB 
Computer Graphics Transformation
Shearing
 Y coordinates are unaffected, but x coordinates are
translated linearly with y, i.e.
 y’ = y
 x’ = x + y * h































1100
010
01
1
'
'
y
xh
y
x
Computer Graphics Transformation
 X coordinates are unaffected, but y coordinates are
translated linearly with y, i.e.
 x’ = x
 y’ = y + x * g































1100
01
001
1
'
'
y
x
gy
x
Cont.
Shearing
Computer Graphics Transformation
Inverse Transformations
Translate Scale
Shear Rotate
Computer Graphics Transformation
OpenGL: Modeling Transformations
 OpenGL provides several commands for performing modeling transforms:
 glTranslate{fd}(x, y, z)
• Creates a matrix T that transforms an object by translating (moving)
it by the specified x, y, and z values
 glRotate{fd}(angle, x, y, z)
• Creates a matrix R that transforms an object by rotating it
counterclockwise angle degrees about the vector {x, y, z}
 glScale{fd}(x, y, z)
• Creates a matrix S that scales an object by the specified factors in
the x, y, and z directions
Computer Graphics Transformation
OpenGL: Matrix Manipulation
 Each of these post multiplies the current matrix
 E.g., if current matrix is C, then C=CS
 The current matrix is either the modelview matrix or the
projection matrix (also a texture matrix, won’t discuss for now)
 Set these with glMatrixMode(), e.g.:
glMatrixMode(GL_MODELVIEW);
glMatrixMode(GL_PROJECTION);
– WARNING: common mistake ahead!
• Be sure that you are in GL_MODELVIEW mode before making
modeling or viewing calls!
• Ugly mistake because it can appear to work, at least for a while…
Computer Graphics Transformation
 More matrix manipulation calls
 To replace the current matrix with an identity matrix:
glLoadIdentity()
 Postmultiply the current matrix with an arbitrary matrix:
glMultMatrix{fd}(float/double m[16])
 Copy the current matrix and push it onto a stack:
glPushMatrix()
 Discard the current matrix and replace it with whatever’s on top
of the stack:
glPopMatrix()
 Note that there are matrix stacks for both modelview and
projection modes
Cont.
OpenGL: Matrix Manipulation
Computer Graphics Transformation
glMatrixMode (GL_MODELVIEW)
glLoadIdentity ( );
glMultMatrtixf (m2);
glMultMatrixf (m1);
12 MMM 
OpenGL uses post multiplication when multiplying
matrices thus, transformations are applied in the inverse
order. The last one specified is the first one applied.
Cont.
OpenGL: Matrix Manipulation
Computer Graphics Transformation
glMatrixMode (GL_MODELVIEW)
glLoadIdentity ( );
glRotationf (theta,0,0,1);
drawCube ( );
glTranslatef (a,b,c);
drawCube ( );
y
z
x
Cont.
OpenGL: Matrix Manipulation
Computer Graphics Transformation
glTranslatef(a1,b1,c1);
glPushMatrix ( );
glRotatef(theta1,a2,b2,c2);
glScale(a3,b3,c3);
glPopMatrix ( );
glTranslatef(a4,b4,c4);
1T
21RT
4
TT1
321 SRT
Cont.
OpenGL: Matrix Manipulation
Computer Graphics Transformation
OpenGL: Transformation Hierarchies
glPushMatrix();
glPushMatrix();
glPopMatrix();
glPopMatrix();
// translate to shoulder position
// rotate by shoulder joint
// draw shoulder (circle and rectangle)
// translate to elbow position
// rotate by elbow joing
// draw elbow (circle and rectangle)
Computer Graphics Transformation
OpenGL: Specifying Color
 Can specify other properties such as color
 To produce a single aqua-colored triangle:
glColor3f(0.1, 0.5, 1.0);
glVertex3fv(v0);
glVertex3fv(v1);
glVertex3fv(v2);
 To produce a Gouraud-shaded triangle:
glColor3f(1, 0, 0); glVertex3fv(v0);
glColor3f(0, 1, 0); glVertex3fv(v1);
glColor3f(0, 0, 1); glVertex3fv(v2);
 In OpenGL, colors can also have a fourth component  (opacity)
Generally want  = 1.0 (opaque);
Thank You

Contenu connexe

Tendances

Image processing using matlab
Image processing using matlab Image processing using matlab
Image processing using matlab SangeethaSasi1
 
Dital Image Processing (Lab 2+3+4)
Dital Image Processing (Lab 2+3+4)Dital Image Processing (Lab 2+3+4)
Dital Image Processing (Lab 2+3+4)Moe Moe Myint
 
Computer Graphics Practical
Computer Graphics PracticalComputer Graphics Practical
Computer Graphics PracticalNeha Sharma
 
Unit-1 basics of computer graphics
Unit-1 basics of computer graphicsUnit-1 basics of computer graphics
Unit-1 basics of computer graphicsAmol Gaikwad
 
Unit-2 raster scan graphics,line,circle and polygon algorithms
Unit-2 raster scan graphics,line,circle and polygon algorithmsUnit-2 raster scan graphics,line,circle and polygon algorithms
Unit-2 raster scan graphics,line,circle and polygon algorithmsAmol Gaikwad
 
3 d graphics with opengl part 1
3 d graphics with opengl part 13 d graphics with opengl part 1
3 d graphics with opengl part 1Sardar Alam
 
OpenGL ES for iOS (3D Graphics)
OpenGL ES for iOS (3D Graphics)OpenGL ES for iOS (3D Graphics)
OpenGL ES for iOS (3D Graphics)inquinity
 
Geometric transformation 2d chapter 5
Geometric transformation 2d   chapter 5Geometric transformation 2d   chapter 5
Geometric transformation 2d chapter 5geethawilliam
 
Variables in matlab
Variables in matlabVariables in matlab
Variables in matlabTUOS-Sam
 
Deep single view 3 d object reconstruction with visual hull
Deep single view 3 d object reconstruction with visual hullDeep single view 3 d object reconstruction with visual hull
Deep single view 3 d object reconstruction with visual hullHanqing Wang
 
Image processing with matlab
Image processing with matlabImage processing with matlab
Image processing with matlabneetirajsinh
 
Digital Image Processing (Lab 07)
Digital Image Processing (Lab 07)Digital Image Processing (Lab 07)
Digital Image Processing (Lab 07)Moe Moe Myint
 
Computer graphics
Computer graphicsComputer graphics
Computer graphicsamitsarda3
 
Lecture 9-online
Lecture 9-onlineLecture 9-online
Lecture 9-onlinelifebreath
 
Presentation of my master thesis - Image Processing
Presentation of my master thesis - Image ProcessingPresentation of my master thesis - Image Processing
Presentation of my master thesis - Image ProcessingMichaelRra
 
Image processing for robotics
Image processing for roboticsImage processing for robotics
Image processing for roboticsSALAAMCHAUS
 
Class[5][9th jul] [three js-meshes_geometries_and_primitives]
Class[5][9th jul] [three js-meshes_geometries_and_primitives]Class[5][9th jul] [three js-meshes_geometries_and_primitives]
Class[5][9th jul] [three js-meshes_geometries_and_primitives]Saajid Akram
 

Tendances (20)

Computer graphics notes watermark
Computer graphics notes watermarkComputer graphics notes watermark
Computer graphics notes watermark
 
Image processing using matlab
Image processing using matlab Image processing using matlab
Image processing using matlab
 
Dital Image Processing (Lab 2+3+4)
Dital Image Processing (Lab 2+3+4)Dital Image Processing (Lab 2+3+4)
Dital Image Processing (Lab 2+3+4)
 
Computer Graphics Practical
Computer Graphics PracticalComputer Graphics Practical
Computer Graphics Practical
 
Unit-1 basics of computer graphics
Unit-1 basics of computer graphicsUnit-1 basics of computer graphics
Unit-1 basics of computer graphics
 
Unit-2 raster scan graphics,line,circle and polygon algorithms
Unit-2 raster scan graphics,line,circle and polygon algorithmsUnit-2 raster scan graphics,line,circle and polygon algorithms
Unit-2 raster scan graphics,line,circle and polygon algorithms
 
3 d graphics with opengl part 1
3 d graphics with opengl part 13 d graphics with opengl part 1
3 d graphics with opengl part 1
 
OpenGL ES for iOS (3D Graphics)
OpenGL ES for iOS (3D Graphics)OpenGL ES for iOS (3D Graphics)
OpenGL ES for iOS (3D Graphics)
 
Geometric transformation 2d chapter 5
Geometric transformation 2d   chapter 5Geometric transformation 2d   chapter 5
Geometric transformation 2d chapter 5
 
Variables in matlab
Variables in matlabVariables in matlab
Variables in matlab
 
Deep single view 3 d object reconstruction with visual hull
Deep single view 3 d object reconstruction with visual hullDeep single view 3 d object reconstruction with visual hull
Deep single view 3 d object reconstruction with visual hull
 
Computer graphics notes
Computer graphics notesComputer graphics notes
Computer graphics notes
 
Image processing
Image processingImage processing
Image processing
 
Image processing with matlab
Image processing with matlabImage processing with matlab
Image processing with matlab
 
Digital Image Processing (Lab 07)
Digital Image Processing (Lab 07)Digital Image Processing (Lab 07)
Digital Image Processing (Lab 07)
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
Lecture 9-online
Lecture 9-onlineLecture 9-online
Lecture 9-online
 
Presentation of my master thesis - Image Processing
Presentation of my master thesis - Image ProcessingPresentation of my master thesis - Image Processing
Presentation of my master thesis - Image Processing
 
Image processing for robotics
Image processing for roboticsImage processing for robotics
Image processing for robotics
 
Class[5][9th jul] [three js-meshes_geometries_and_primitives]
Class[5][9th jul] [three js-meshes_geometries_and_primitives]Class[5][9th jul] [three js-meshes_geometries_and_primitives]
Class[5][9th jul] [three js-meshes_geometries_and_primitives]
 

Similaire à 2 transformation computer graphics

Part 3- Manipulation and Representation of Curves.pptx
Part 3- Manipulation and Representation of Curves.pptxPart 3- Manipulation and Representation of Curves.pptx
Part 3- Manipulation and Representation of Curves.pptxKhalil Alhatab
 
Part 2- Geometric Transformation.pptx
Part 2- Geometric Transformation.pptxPart 2- Geometric Transformation.pptx
Part 2- Geometric Transformation.pptxKhalil Alhatab
 
Part 2- Transformation.pptx
Part 2- Transformation.pptxPart 2- Transformation.pptx
Part 2- Transformation.pptxKhalil Alhatab
 
Computer graphics
Computer graphicsComputer graphics
Computer graphicsBala Murali
 
Computer graphic
Computer graphicComputer graphic
Computer graphicnusratema1
 
2 d transformation
2 d transformation2 d transformation
2 d transformationAnkit Garg
 
Computer Graphics Unit 1
Computer Graphics Unit 1Computer Graphics Unit 1
Computer Graphics Unit 1aravindangc
 
Cs8092 computer graphics and multimedia unit 2
Cs8092 computer graphics and multimedia unit 2Cs8092 computer graphics and multimedia unit 2
Cs8092 computer graphics and multimedia unit 2SIMONTHOMAS S
 
3 d graphics with opengl part 2
3 d graphics with opengl  part 23 d graphics with opengl  part 2
3 d graphics with opengl part 2Sardar Alam
 
3 d transformation
3 d transformation3 d transformation
3 d transformationMani Kanth
 
Computer Vision transformations
Computer Vision  transformationsComputer Vision  transformations
Computer Vision transformationsWael Badawy
 
Unit 3
Unit 3Unit 3
Unit 3ypnrao
 
Time-Evolving Graph Processing On Commodity Clusters
Time-Evolving Graph Processing On Commodity ClustersTime-Evolving Graph Processing On Commodity Clusters
Time-Evolving Graph Processing On Commodity ClustersJen Aman
 

Similaire à 2 transformation computer graphics (20)

Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
Part 3- Manipulation and Representation of Curves.pptx
Part 3- Manipulation and Representation of Curves.pptxPart 3- Manipulation and Representation of Curves.pptx
Part 3- Manipulation and Representation of Curves.pptx
 
Part 2- Geometric Transformation.pptx
Part 2- Geometric Transformation.pptxPart 2- Geometric Transformation.pptx
Part 2- Geometric Transformation.pptx
 
Part 2- Transformation.pptx
Part 2- Transformation.pptxPart 2- Transformation.pptx
Part 2- Transformation.pptx
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
Computer graphic
Computer graphicComputer graphic
Computer graphic
 
Windows and viewport
Windows and viewportWindows and viewport
Windows and viewport
 
2 d transformation
2 d transformation2 d transformation
2 d transformation
 
Computer Graphics Unit 1
Computer Graphics Unit 1Computer Graphics Unit 1
Computer Graphics Unit 1
 
3 D Graphics
3 D Graphics3 D Graphics
3 D Graphics
 
Primitives
PrimitivesPrimitives
Primitives
 
Computer graphics presentation
Computer graphics presentationComputer graphics presentation
Computer graphics presentation
 
OpenGL Transformations
OpenGL TransformationsOpenGL Transformations
OpenGL Transformations
 
Cs8092 computer graphics and multimedia unit 2
Cs8092 computer graphics and multimedia unit 2Cs8092 computer graphics and multimedia unit 2
Cs8092 computer graphics and multimedia unit 2
 
3 d graphics with opengl part 2
3 d graphics with opengl  part 23 d graphics with opengl  part 2
3 d graphics with opengl part 2
 
3 d transformation
3 d transformation3 d transformation
3 d transformation
 
Computer Vision transformations
Computer Vision  transformationsComputer Vision  transformations
Computer Vision transformations
 
Unit 3
Unit 3Unit 3
Unit 3
 
Time-Evolving Graph Processing On Commodity Clusters
Time-Evolving Graph Processing On Commodity ClustersTime-Evolving Graph Processing On Commodity Clusters
Time-Evolving Graph Processing On Commodity Clusters
 
paper
paperpaper
paper
 

Plus de cairo university

Tocci chapter 13 applications of programmable logic devices extended
Tocci chapter 13 applications of programmable logic devices extendedTocci chapter 13 applications of programmable logic devices extended
Tocci chapter 13 applications of programmable logic devices extendedcairo university
 
Tocci chapter 12 memory devices
Tocci chapter 12 memory devicesTocci chapter 12 memory devices
Tocci chapter 12 memory devicescairo university
 
Tocci ch 9 msi logic circuits
Tocci ch 9 msi logic circuitsTocci ch 9 msi logic circuits
Tocci ch 9 msi logic circuitscairo university
 
Tocci ch 7 counters and registers modified x
Tocci ch 7 counters and registers modified xTocci ch 7 counters and registers modified x
Tocci ch 7 counters and registers modified xcairo university
 
Tocci ch 6 digital arithmetic operations and circuits
Tocci ch 6 digital arithmetic operations and circuitsTocci ch 6 digital arithmetic operations and circuits
Tocci ch 6 digital arithmetic operations and circuitscairo university
 
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...cairo university
 
A15 sedra ch 15 memory circuits
A15  sedra ch 15 memory circuitsA15  sedra ch 15 memory circuits
A15 sedra ch 15 memory circuitscairo university
 
A14 sedra ch 14 advanced mos and bipolar logic circuits
A14  sedra ch 14 advanced mos and bipolar logic circuitsA14  sedra ch 14 advanced mos and bipolar logic circuits
A14 sedra ch 14 advanced mos and bipolar logic circuitscairo university
 
A13 sedra ch 13 cmos digital logic circuits
A13  sedra ch 13 cmos digital logic circuitsA13  sedra ch 13 cmos digital logic circuits
A13 sedra ch 13 cmos digital logic circuitscairo university
 
A09 sedra ch 9 frequency response
A09  sedra ch 9 frequency responseA09  sedra ch 9 frequency response
A09 sedra ch 9 frequency responsecairo university
 
5 sedra ch 05 mosfet revision
5  sedra ch 05  mosfet revision5  sedra ch 05  mosfet revision
5 sedra ch 05 mosfet revisioncairo university
 
Lecture 2 (system overview of c8051 f020) rv01
Lecture 2 (system overview of c8051 f020) rv01Lecture 2 (system overview of c8051 f020) rv01
Lecture 2 (system overview of c8051 f020) rv01cairo university
 
Lecture 1 (course overview and 8051 architecture) rv01
Lecture 1 (course overview and 8051 architecture) rv01Lecture 1 (course overview and 8051 architecture) rv01
Lecture 1 (course overview and 8051 architecture) rv01cairo university
 

Plus de cairo university (20)

Tocci chapter 13 applications of programmable logic devices extended
Tocci chapter 13 applications of programmable logic devices extendedTocci chapter 13 applications of programmable logic devices extended
Tocci chapter 13 applications of programmable logic devices extended
 
Tocci chapter 12 memory devices
Tocci chapter 12 memory devicesTocci chapter 12 memory devices
Tocci chapter 12 memory devices
 
Tocci ch 9 msi logic circuits
Tocci ch 9 msi logic circuitsTocci ch 9 msi logic circuits
Tocci ch 9 msi logic circuits
 
Tocci ch 7 counters and registers modified x
Tocci ch 7 counters and registers modified xTocci ch 7 counters and registers modified x
Tocci ch 7 counters and registers modified x
 
Tocci ch 6 digital arithmetic operations and circuits
Tocci ch 6 digital arithmetic operations and circuitsTocci ch 6 digital arithmetic operations and circuits
Tocci ch 6 digital arithmetic operations and circuits
 
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
 
A15 sedra ch 15 memory circuits
A15  sedra ch 15 memory circuitsA15  sedra ch 15 memory circuits
A15 sedra ch 15 memory circuits
 
A14 sedra ch 14 advanced mos and bipolar logic circuits
A14  sedra ch 14 advanced mos and bipolar logic circuitsA14  sedra ch 14 advanced mos and bipolar logic circuits
A14 sedra ch 14 advanced mos and bipolar logic circuits
 
A13 sedra ch 13 cmos digital logic circuits
A13  sedra ch 13 cmos digital logic circuitsA13  sedra ch 13 cmos digital logic circuits
A13 sedra ch 13 cmos digital logic circuits
 
A09 sedra ch 9 frequency response
A09  sedra ch 9 frequency responseA09  sedra ch 9 frequency response
A09 sedra ch 9 frequency response
 
5 sedra ch 05 mosfet.ppsx
5  sedra ch 05  mosfet.ppsx5  sedra ch 05  mosfet.ppsx
5 sedra ch 05 mosfet.ppsx
 
5 sedra ch 05 mosfet
5  sedra ch 05  mosfet5  sedra ch 05  mosfet
5 sedra ch 05 mosfet
 
5 sedra ch 05 mosfet revision
5  sedra ch 05  mosfet revision5  sedra ch 05  mosfet revision
5 sedra ch 05 mosfet revision
 
Fields Lec 2
Fields Lec 2Fields Lec 2
Fields Lec 2
 
Fields Lec 1
Fields Lec 1Fields Lec 1
Fields Lec 1
 
Fields Lec 5&6
Fields Lec 5&6Fields Lec 5&6
Fields Lec 5&6
 
Fields Lec 4
Fields Lec 4Fields Lec 4
Fields Lec 4
 
Fields Lec 3
Fields Lec 3Fields Lec 3
Fields Lec 3
 
Lecture 2 (system overview of c8051 f020) rv01
Lecture 2 (system overview of c8051 f020) rv01Lecture 2 (system overview of c8051 f020) rv01
Lecture 2 (system overview of c8051 f020) rv01
 
Lecture 1 (course overview and 8051 architecture) rv01
Lecture 1 (course overview and 8051 architecture) rv01Lecture 1 (course overview and 8051 architecture) rv01
Lecture 1 (course overview and 8051 architecture) rv01
 

Dernier

Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 

Dernier (20)

Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 

2 transformation computer graphics

  • 1. SBE 306B: Computer Systems III Computer Graphics Transformation Dr. Ayman Eldeib Systems & Biomedical Engineering Department Spring 2019
  • 2. Computer Graphics Transformation Transformation  Transformation is a fundamental corner stone of computer graphics and is a central to OpenGL as well as most other graphics systems.(2D and 3D Transformation)  Given an object, transformation is to change the object’s Position (translation) Size (scaling) Orientation (rotation) Shapes (shear)
  • 3. Computer Graphics Transformation Translations Translate individual vertices  We can translate or move points to a new position by adding offsets to their coordinates
  • 4. Computer Graphics Transformation  We can translate or move points to a new position by adding offsets to their coordinates  Translate individual vertices y x tyy txx                     y x t t y x y x ' '                                1100 10 01 1 ' ' y x t t y x y x 2D Cont. Translations
  • 5. Computer Graphics Transformation Homogeneous Coordinates  Homogeneous coordinates: representing coordinates in 2 dimensions with a 3-vector and coordinates in 3 dimensions with a 4-vector (Note that typically w = 1 in object coordinates)              w z y x zyx ),,(
  • 6. Computer Graphics Transformation  Homogeneous coordinates seem unintuitive, but they make graphics operations much easier  Our transformation matrices are now 4x4 for 3D 1 0 0 0 1 0 0 0 1 0 0 0 1 x y z T T T             T Translation matrix P'P T Homogeneous Coordinates
  • 7. Computer Graphics Transformation  We can translate or move points to a new position by adding offsets to their coordinates  Translate individual vertices                                      11000 100 010 001 1 ' ' ' z y x t t t z y x z y x 3D z y x tzz tyy txx    '                                 z y x t t t z y x z y x ' ' ' P'P T Cont. Translations
  • 8. Computer Graphics Transformation Translate individual vertices  We can translate or move points to a new position by adding offsets to their coordinates  To transform an object multiply each vertex by the same matrix  A square translation can be done as follows: ]PPPP[]'P'P'P'[P 43214321 T Cont. Translations
  • 9. Computer Graphics Transformation Scaling  Scaling a coordinate means multiplying each of its components by a scalar  Uniform scaling means this scalar is the same for all components  2
  • 10. Computer Graphics Transformation  Scaling a coordinate means multiplying each of its components by a scalar  2 ysy xsx y x   Cont. Scaling
  • 11. Computer Graphics Transformation  Scaling a coordinate means multiplying each of its components by a scalar ysy xsx y x                       y x s s y x y x 0 0                                  1100 00 00 1 y x s s y x y x 2D 3D P 11000 000 000 000 1 P' S z y x s s s z y x z y x                                           Scaling matrix Cont. Scaling
  • 12. Computer Graphics Transformation  Scaling a coordinate means multiplying each of its components by a scalar  Non-uniform scaling: different scalars per component X  2, Y  0.5 Cont. Scaling
  • 19. Computer Graphics Transformation 1. Translate to origin 2. Scale 3. Translate back   pTSTp 1  Fixed Point Scaling Cont.
  • 20. Computer Graphics Transformation Rotation  (x, y) (x’, y’) x’ = x cos() - y sin() y’ = x sin() + y cos()                             y x y x cossin sincos ' ' 2D
  • 21. Computer Graphics Transformation  3-D is more complicated  Need to specify an axis of rotation  There are four ways to specify a 3D rotation  Simple cases: rotation about X, Y, Z axes  3-D rotation matrix look like Rotation about the X-axis                                  z y x z y x 100 0)cos()sin( 0)sin()cos( ' ' ' Rotation about the Y-axis Rotation about the Z-axis                                  z y x z y x )cos(0)sin( 010 )sin(0)cos( ' ' '                                 z y x z y x )cos()sin(0 )sin()cos(0 001 ' ' ' Rotation Cont. 3D
  • 22. Computer Graphics Transformation Rotation about the X-axis Rotation about the Y-axis Rotation about the Z-axis                           11000 0cossin0 0sincos0 0001 )( z y x Rx                              11000 0cos0sin 0010 0sin0cos )( z y x Ry                              11000 0100 00cossin 00sincos )( z y x Rz     3-D is more complicated  Need to specify an axis of rotation  There are four ways to specify a 3D rotation  Simple cases: rotation about X, Y, Z axes  3-D rotation matrix look like Rotation Cont. 3D
  • 23. Computer Graphics Transformation  3-D is more complicated  Need to specify an axis of rotation  There are four ways to specify a 3D rotation  3D rotations – axis angle representation  3-D rotation matrix look like y z x a  Rotate a point about an arbitrary axis a = (x,y,z) going through the origin Note: the axis a should be of unit length 2 2 2 1 0 0 0 ( , ) cos 0 1 0 (1 cos ) sin 0 0 0 1 0 x xy xz z y R a xy y yz z x xz yz z y x                                   Rotation Cont. 3D
  • 24. Computer Graphics Transformation Fixed Point Rotating 1. Translate to origin 2. Rotate 3. Translate back  pTRTp 1 
  • 25. Computer Graphics Transformation Matrix Composition  Matrix multiplication does not commute  Transformation products may not be commutative BAAB 
  • 26. Computer Graphics Transformation Shearing  Y coordinates are unaffected, but x coordinates are translated linearly with y, i.e.  y’ = y  x’ = x + y * h                                1100 010 01 1 ' ' y xh y x
  • 27. Computer Graphics Transformation  X coordinates are unaffected, but y coordinates are translated linearly with y, i.e.  x’ = x  y’ = y + x * g                                1100 01 001 1 ' ' y x gy x Cont. Shearing
  • 28. Computer Graphics Transformation Inverse Transformations Translate Scale Shear Rotate
  • 29. Computer Graphics Transformation OpenGL: Modeling Transformations  OpenGL provides several commands for performing modeling transforms:  glTranslate{fd}(x, y, z) • Creates a matrix T that transforms an object by translating (moving) it by the specified x, y, and z values  glRotate{fd}(angle, x, y, z) • Creates a matrix R that transforms an object by rotating it counterclockwise angle degrees about the vector {x, y, z}  glScale{fd}(x, y, z) • Creates a matrix S that scales an object by the specified factors in the x, y, and z directions
  • 30. Computer Graphics Transformation OpenGL: Matrix Manipulation  Each of these post multiplies the current matrix  E.g., if current matrix is C, then C=CS  The current matrix is either the modelview matrix or the projection matrix (also a texture matrix, won’t discuss for now)  Set these with glMatrixMode(), e.g.: glMatrixMode(GL_MODELVIEW); glMatrixMode(GL_PROJECTION); – WARNING: common mistake ahead! • Be sure that you are in GL_MODELVIEW mode before making modeling or viewing calls! • Ugly mistake because it can appear to work, at least for a while…
  • 31. Computer Graphics Transformation  More matrix manipulation calls  To replace the current matrix with an identity matrix: glLoadIdentity()  Postmultiply the current matrix with an arbitrary matrix: glMultMatrix{fd}(float/double m[16])  Copy the current matrix and push it onto a stack: glPushMatrix()  Discard the current matrix and replace it with whatever’s on top of the stack: glPopMatrix()  Note that there are matrix stacks for both modelview and projection modes Cont. OpenGL: Matrix Manipulation
  • 32. Computer Graphics Transformation glMatrixMode (GL_MODELVIEW) glLoadIdentity ( ); glMultMatrtixf (m2); glMultMatrixf (m1); 12 MMM  OpenGL uses post multiplication when multiplying matrices thus, transformations are applied in the inverse order. The last one specified is the first one applied. Cont. OpenGL: Matrix Manipulation
  • 33. Computer Graphics Transformation glMatrixMode (GL_MODELVIEW) glLoadIdentity ( ); glRotationf (theta,0,0,1); drawCube ( ); glTranslatef (a,b,c); drawCube ( ); y z x Cont. OpenGL: Matrix Manipulation
  • 34. Computer Graphics Transformation glTranslatef(a1,b1,c1); glPushMatrix ( ); glRotatef(theta1,a2,b2,c2); glScale(a3,b3,c3); glPopMatrix ( ); glTranslatef(a4,b4,c4); 1T 21RT 4 TT1 321 SRT Cont. OpenGL: Matrix Manipulation
  • 35. Computer Graphics Transformation OpenGL: Transformation Hierarchies glPushMatrix(); glPushMatrix(); glPopMatrix(); glPopMatrix(); // translate to shoulder position // rotate by shoulder joint // draw shoulder (circle and rectangle) // translate to elbow position // rotate by elbow joing // draw elbow (circle and rectangle)
  • 36. Computer Graphics Transformation OpenGL: Specifying Color  Can specify other properties such as color  To produce a single aqua-colored triangle: glColor3f(0.1, 0.5, 1.0); glVertex3fv(v0); glVertex3fv(v1); glVertex3fv(v2);  To produce a Gouraud-shaded triangle: glColor3f(1, 0, 0); glVertex3fv(v0); glColor3f(0, 1, 0); glVertex3fv(v1); glColor3f(0, 0, 1); glVertex3fv(v2);  In OpenGL, colors can also have a fourth component  (opacity) Generally want  = 1.0 (opaque);