1. The document discusses various 2D and 3D transformations including translation, scaling, rotation, reflection, and shearing.
2. It explains the basic transformation types including rigid-body, affine, and free-form and provides examples of each.
3. Key concepts covered include the homogeneous coordinate system, composition of transformations using matrices, and expressing transformations like translation, scaling, and rotation using matrices.
with today's advanced technology like photoshop, paint etc. we need to understand some basic concepts like how they are cropping the image , tilt the image etc.
In our presentation you will find basic introduction of 2D transformation.
a spline is a flexible strip used to produce a smooth curve through a designated set of points.
Polynomial sections are fitted so that the curve passes through each control point, Resulting curve is said to interpolate the set of control points.
with today's advanced technology like photoshop, paint etc. we need to understand some basic concepts like how they are cropping the image , tilt the image etc.
In our presentation you will find basic introduction of 2D transformation.
a spline is a flexible strip used to produce a smooth curve through a designated set of points.
Polynomial sections are fitted so that the curve passes through each control point, Resulting curve is said to interpolate the set of control points.
Transformation:
Transformations are a fundamental part of the computer graphics. Transformations are the movement of the object in Cartesian plane.
Types of transformation
Why we use transformation
3D Transformation
3D Translation
3D Rotation
3D Scaling
3D Reflection
3D Shearing
Transformation:
Transformations are a fundamental part of the computer graphics. Transformations are the movement of the object in Cartesian plane.
Types of transformation
Why we use transformation
3D Transformation
3D Translation
3D Rotation
3D Scaling
3D Reflection
3D Shearing
Understanding Coordinate Systems and Projections for ArcGISJohn Schaeffer
Everything you need to know to work with coordinate systems and projecting data in ArcGIS. The presentation starts by explaining the terminology, and then discusses the details you need to know to actually work successfully with coordinate systems, use the proper projections, and geographic transformations. This is a very practical look at a complex subject.
Notes 2D-Transformation Unit 2 Computer graphicsNANDINI SHARMA
Notes of 2D Transformation including Translation, Rotation, Scaling, Reflection, Shearing with solved problem.
Clipping algorithm like cohen-sutherland-hodgeman, midpoint-subdivision with solved problem.
Location. Location. Location. With so many maps and datums out there, how does a person know what datum is correct? How come my GPS coordinates don\'t match up on my map? Why is there a shift of 100 metres? How do I transform between different datums? What is a datum? What is the EPSG? Why have GIS Vendors and Oracle adopted them? Does offshore or onshore make a difference? How come there are so many datums? This presentation looks to provide some answers to some of these questions and to point out that latitude and longitude are not absolute.
Over the decades that surveyors have been trying to map the Earth, history and politics have shaped the way we see the world. Are the borders actually there? What if one nation adopts a standard, but the other does not? Does really matter what the co-ordinate system is? Why when I draw the a UTM Projection, the lines are curved, not in a grid? Is the OGC adopting these standards? So many questions and this presentation aims to answer some of them and provide some light on a complicated and sometimes unclear topic.
Transformations in OpenGL are not drawing
commands. They are retained as part of the
graphics state. When drawing commands are issued, the
current transformation is applied to the points
drawn. Transformations are cumulative.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
5. (4,5) (7,5)
Y
X
(2,5/4) (7/2,5/4)
X
Y
Before Scaling Scaling by (1/2, 1/4)
y
x
y
x
y
x
sy
sx
y
x
s
s
PPS
ysy
xsx
*
*
*
0
0
*
*
*
Types of Scaling:
Differential ( sx != sy )
Uniform ( sx = sy )
1
*
100
00
00
1
FormsHomogeniou
y
x
s
s
y
x
y
x
6.
sin
cos
r
r
v
cossinsincos
sinsincoscos
rry
rrx
expand
cossin
sincos
sin
cos
but
yxy
yxx
ry
rx
sin
cos
r
r
v
7. (5,2) (9,2)
Y
X
(2.1,4.9)
(4.9,7.8)
X
Y
Before Rotation Rotation of 45 deg. w.r.t. origin
1
*
100
0cossin
0sincos
1
FormsHomogeniou
y
x
y
x
cos*sin*
sin*cos*
*
cossin
sincos
*
yx
yx
y
x
PPR
yyx
xyx
cos*sin*
sin*cos*
11. Translation, scaling and rotation are expressed
(non-homogeneously) as:
translation: P = P +T
Scale: P = S · P
Rotate: P = R · P
Composition is difficult to express, since translation
not expressed as a matrix multiplication
Homogeneous coordinates allow all three to be
expressed homogeneously, using multiplication by 3
3 matrices
W is 1 for affine transformations in graphics
12. P2d is a projection of Ph onto the w = 1 plane
So an infinite number of points correspond to :
they constitute the whole line (tx, ty, tw)
x
y
w Ph(x,y,w)
P2d(x,y,1)
w=1
13. 1. Rigid-body Transformation
Preserves parallelism of lines
Preserves angle and length
e.g. any sequence of R() and T(dx,dy)
2. Affine Transformation
Preserves parallelism of lines
Doesn’t preserve angle and length
e.g. any sequence of R(), S(sx,sy) and T(dx,dy)
unit cube 45 deg rotaton Scale in X not in Y
14.
100
2221
1211
y
x
trr
trr
The following Matrix is Orthogonal if the upper left 2X2 matrix has the
following properties
1.A) Each row are unit vector.
sqrt(r11* r11 + r12* r12) = 1
B) Each column are unit vector.
sqrt(c11* c11 + c12* c12) = 1
2.A) Rows will be perpendicular to each other
(r11 , r12 ) . ( r21 , r22) = 0
B) Columns will be perpendicular to each other
(c11 , c12 ) . (c21 ,c22) = 0
e.g. Rotation matrix is orthogonal
100
0cossin
0sincos
• Orthogonal Transformation Rigid-Body Transformation
• For any orthogonal matrix B B-1 = BT
15. • In general matrix multiplication is not commutative
• For the following special cases commutativity holds i.e.
M1.M2 = M2.M1
M1 M2
Translate Translate
Scale Scale
Rotate Rotate
Uniform Scale Rotate
• Some non-commutative
Compositions:
Non-uniform scale, Rotate
Translate, Scale
Rotate, Translate
Original
Transitional
Final
16. Create new affine transformations by multiplying sequences of
the above basic transformations.
q = CBAp
q = ( (CB) A) p = (C (B A))p = C (B (Ap) ) etc.
matrix multiplication is associative.
But to transform many points, best to do
M = CBA
then do q = Mp for any point p to be rendered.
To transform just a point, better to do q = C(B(Ap))
For geometric pipeline transformation, define M and set it up
with the model-view matrix and apply it to any vertex
subsequently defined to its setting.
19. Step 1: Translate (0,b) to origin
T(0 ,-b)ML =
Step 2: Rotate - degrees
Step 3: Mirror reflect about X-axis
R(-) *T(0 ,b) *
Step 4: Rotate degrees
Step 5: Translate origin to (0,b)
M x*R() *
(0,b)
Y
X
t
O
Y
XO
Y
XO
Y
XO
Y
XO
(0,b)
Y
X
t
O
22. Basics of 3D geometry
Basic 3DTransformations
CompositeTransformations
23. Thumb points to +ve Z-axis
Fingers show +ve rotation from X toY
axis
Y
X
Z (out of page)
Y
X
Z (larger z are
away from viewer)
Right-handed orentation Left-handed orentation
24. Transformation – is a function that takes a point (or vector) and
maps that point (or vector) into another point (or vector).
A coordinate transformation of the form:
x’ = axx x + axy y + axz z + bx ,
y’ = ayx x + ayy y + ayz z + by ,
z’ = azx x + azy y + azz z + bz ,
is called a 3D affine transformation.
11000
'
'
'
z
y
x
baaa
baaa
baaa
w
z
y
x
zzzzyzx
yyzyyyx
xxzxyxx
The 4th row for affine transformation is always [0 0 0 1].
Properties of affine transformation:
– translation, scaling, shearing, rotation (or any combination of them)
are examples affine transformations.
– Lines and planes are preserved.
– parallelism of lines and planes are also preserved, but not angles and
length.
30. Some of the composite transformations
to be studied are:
AV,N = aligning a vector V with a vector N
R,L = rotation about an axis L( V, P )
Ssx,sy,P= scaling w.r.t. point P
31. Av = R,i
V = aI + bJ + cK
x
y
z
b
a
c
k
22
λ
λ
cos
λ
sin
byaxis-about xRotate:1Step
cb
c
b
b
|V|
x
y
z
b
a
k
( 0, b,c)
b
|V|
x
y
z
a
k
|V|
( a, 0,)
( 0, 0,)
( 0, b,c)
32. Av = R,iR-,j *
22
λ
λ
cos
λ
sin
byaxis-about xRotate:1Step
cb
c
b
222
|V|
|V|
λ
)cos(
|V|
)sin(
-byaxis-yaboutVRotate:2Step
cba
a
P( a, b, c)
b
x
y
z
b
a
c
k
|V|
( a, 0,)
( 0, b,c)b
x
y
z
b
a
c
|V|
( 0, 0,|V|)
( 0, b,c)
a
33. AV
-1 = AV
T
AV,N = AN
-1 * AV
1000
0
00
0
λλ
λ
-
λ
-λ
V
c
V
b
V
a
bc
V
ac
V
ab
V
VA
34. Let the axis L be represented by vectorV and
passing through point P
1. Translate P to the origin
2. AlignV with vector k
3. Rotate about k
4. Reverse step 2
5. Reverse step 1
R,L = T-PAV *R,k *AV
-1 *T-P
-1 *
V
P
Q
Q'
L
z
x
y
k
35. Let the plane be represented by plane normal N
and a point P in that plane
x
y
z
36. Let the plane be represented by plane normal N
and a point P in that plane
1. Translate P to the origin
MN,P = T-P
x
y
z
37. Let the plane be represented by plane normal N
and a point P in that plane
1. Translate P to the origin
2. Align N with vector k
MN,P = T-PAN *
x
y
z
38. Let the plane be represented by plane normal N
and a point P in that plane
1. Translate P to the origin
2. Align N with vector k
3. Reflect w.r.t xy-plane
MN,P = T-PAN *S1,1,-1 *
x
y
z
39. x
y
z
Let the plane be represented by plane normal N
and a point P in that plane
1. Translate P to the origin
2. Align N with vector k
3. Reflect w.r.t xy-plane
4. Reverse step 2
MN,P = T-PAN *S1,1,-1 *AN
-1 *
40. Let the plane be represented by plane normal N
and a point P in that plane
1. Translate P to the origin
2. Align N with vector k
3. Reflect w.r.t xy-plane
4. Reverse step 2
5. Reverse step 1
MN,P = T-PAN *S1,1,-1 *AN
-1 *T-P
-1 *
x
y
z
41. The CompositeTransform must have
– Translation of P1 to Origin T
z
x
y
3P
1P
2PT
– Some Combination of Rotations R
R
x
y
z 2P
3P
1P
z
x
y
3P
1P
2P
Fig. 1 Fig. 2
Translate points in fig. 1 into points in fig 2 such that:
– P1 is at Origin
– P1P2 is along positive z-axis
– P1P3 lies in positive y-axis half of yz plane
48. OpenGL uses 3 stacks to maintain
transformation matrices:
Model &View transformation matrix stack
Projection matrix stack
Texture matrix stack
You can load, push and pop the stack
The top most matrix from each stack is
applied to all graphics primitive until it is
changed
M N
Model-View
Matrix Stack
Projection
Matrix Stack
Graphics
Primitives
(P)
Output
N•M•P
49. Specify current matrix (stack) :
void glMatrixMode(GLenum mode)
▪ Mode : GL_MODELVIEW, GL_PROJECTION,
GL_TEXTURE
Initialize current matrix.
void glLoadIdentity(void)
▪ Sets the current matrix to 4X4 identity matirx
void glLoadMatrix{f|d}(cost TYPE *M)
▪ Sets the current matrix to 4X4 matrix specified by M
Note: current matrix Top most matrix of the current
matrix
stack
A
B
C
A
B
I
A
B
M
glLoadMatrix(M)
50. ConcatenateCurrent Matrix:
void glMultMatrix(constTYPE *M)
▪ Multiplies current matrix C, by M. i.e. C = C*M
Caveat: OpenGL matrices are stored in
column major order.
Best use utility function glTranslate, glRotate,
glScale for common transformation tasks.
161284
151173
141062
13951
mmmm
mmmm
mmmm
mmmm
51. Each time an OpenGL transformation M is called the
current MODELVIEW matrix C is altered:
Cvv CMvv
glTranslatef(1.5, 0.0, 0.0);
glRotatef(45.0, 0.0, 0.0, 1.0);
CTRvv
Note: v is any vertex placed in rendering pipeline v’ is the transformed
vertex from v.
53. As a Global System
Objects moves but
coordinates stay the
same
Think of transformation
in reverse order as they
appear in code
As a Local System
Objects moves and
coordinates move with it
Think of transformation
in same order as they
appear in code
There is aWorld Coordinate System where:
All objects are defined
Transformations are inWorld Coordinate space
Two Different Views
54. Local View
Translate Object
Then Rotate
glLoadIdentity();
glMultiMatrixf( T);
glMultiMatrixf( R);
draw_ the_ object( v);
v’ = ITRv
Global View
Rotate Object
Then Translate
Effect is same, but perception is different
56. Many graphical objects are structured
Exploit structure for
Efficient rendering
Concise specification of model parameters
Physical realism
Often we need several instances of an object
Wheels of a car
Arms or legs of a figure
Chess pieces
Encapsulate basic object in a function
Object instances are created in “standard” form
Apply transformations to different instances
Typical order: scaling, rotation, translation
57. A
B
C
C
– void glPushMatrix(void);
A
B
– void glPopMatrix(void);
A
B
C C
m
glGetFloatv
– void glGetFloatv(GL_MODELVIEW_MATRIX, *m);
A
B
C
Some of the OpenGL functions helpful for
hierarchical modeling are:
58. A scene graph is a hierarchical representation of a scene
We will use trees for representing hierarchical objects such
that:
Nodes represent parts of an object
Topology is maintained using parent-child relationship
Edges represent transformations that applies to a part and all the
subparts connected to that part
typedef struct treenode {
GLfloat m[16]; // Transformation
void (*f) ( ); // Draw function
struct treenode *sibling;
struct treenode *child;
} treenode;
Scene
Sun Star X
Earth Venus Saturn
Moon Ring
60. To render the hierarchy:
Traverse the scene graph depth-first
Going down an edge:
▪ push the top matrix onto the stack
▪ apply the edge's transformation(s)
At each node, render with the top matrix
Going up an edge:
▪ pop the top matrix off the stack
61. Recursive definition
void traverse (treenode *root) {
if (root == NULL) return;
glPushMatrix();
glMultMatrixf(root->m);
root->f();
if (root->child != NULL) traverse(root->child);
glPopMatrix();
if (root->sibling != NULL) traverse(root->sibling);
}
C is really not the right language for this !!