3d geometry for computer graphics class 1. general office hour: sunday 11:00 – 12:00 in schreiber...
Post on 20-Dec-2015
220 views
TRANSCRIPT
![Page 1: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/1.jpg)
3D Geometry forComputer Graphics
Class 1
![Page 2: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/2.jpg)
General
Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance)
Webpage with the slides: http://www.cs.tau.ac.il/~sorkine/courses/cg/cg2005/
E-mail: [email protected]
![Page 3: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/3.jpg)
The plan today
Basic linear algebra and Analytical geometry
![Page 4: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/4.jpg)
Why??
![Page 5: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/5.jpg)
Why??
We represent objects using mainly linear primitives: points lines, segments planes, polygons
Need to know how to compute distances, transformations, projections…
![Page 6: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/6.jpg)
Basic definitions
Points specify location in space (or in the plane). Vectors have magnitude and direction (like
velocity).
Points Vectors
![Page 7: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/7.jpg)
Point + vector = point
![Page 8: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/8.jpg)
vector + vector = vector
Parallelogram rule
![Page 9: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/9.jpg)
point - point = vector
A
BB – A
A
BA – B
![Page 10: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/10.jpg)
point + point: not defined!!
![Page 11: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/11.jpg)
Map points to vectors
If we have a coordinate system with
origin at point O We can define correspondence between points
and vectors:
p p p O
v O + v
![Page 12: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/12.jpg)
Inner (dot) product
Defined for vectors:
, || || || || cosθ v w v w
L v
wL
cosθ || ||
,
|| ||L
w
v w
v
Projection of w onto v
![Page 13: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/13.jpg)
Dot product in coordinates (2D)
v
w
xv
yv
xw
yw
x
y
O
( , )
( , )
,
v v
w w
v w v w
x y
x y
x x y y
v
w
v w
![Page 14: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/14.jpg)
Perpendicular vectors (2D)
v
v
, 0
( , ) ( , )v v v vx y y x
v w
v v
![Page 15: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/15.jpg)
Parametric equation of a line
p0
vt > 0
t < 0 t = 0
( ) , ( , )t t t 0p v
![Page 16: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/16.jpg)
Parametric equation of a ray
p0
vt > 0
t = 0
( ) , (0, )t t t 0p v
![Page 17: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/17.jpg)
Distance between two points
B
A
xB
yB
xA
yA
x
y
O
22 )()(
,
||||),(dist
ABAB yyxx
ABAB
ABBA
![Page 18: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/18.jpg)
2
22 2 2
2
, 0
( ), 0
, , 0
, ,
, || ||
,dist ( , ) || || || ||
|| ||
t
t
t
l
0
0
0 0
00
q q v
q p v v
q p v v v
q p v q p v
v v v
q p vq q q q p
v
Distance between point and line
Find a point q’ such that (q q’)vdist(q, l) = || q q’ ||
p0
v
q
q’ = p0 +tv
l
![Page 19: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/19.jpg)
Easy geometric interpretation
p0
v
q
q’2 2 2
2 2 2
22
2
:
(1) dist( , ) || ||
,(2)
|| ||
dist( , ) || ||
,|| || .
|| ||
L
L
L
0
0
0
00
Pythagoras
q q q p
q p v
v
q q q p
q p vq p
v
l
L
![Page 20: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/20.jpg)
Distance between point and line – also works in 3D!
The parametric representation of the line is coordinates-independent
v and p0 and the checked point q can be in 2D or in 3D or in any dimension…
![Page 21: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/21.jpg)
Implicit equation of a line in 2D
0, , , R, ( , ) (0,0)Ax By C A B C A B
x
yAx+By+C > 0
Ax+By+C < 0
Ax+By+C = 0
![Page 22: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/22.jpg)
Line-segment intersection
1 2
1 1 2 2
The segment Q Q intersects the line
( )( ) 0Ax By C Ax By C
x
yAx+By+C > 0
Ax+By+C < 0
Q1 (x1, y1)
Q2 (x2, y2)
![Page 23: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/23.jpg)
Representation of a plane in 3D space
A plane is defined by a normal n and one point in the plane p0.
A point q belongs to the plane < q – p0 , n > = 0
The normal n is perpendicular to all vectors in the plane
n
p0
q
![Page 24: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/24.jpg)
Distance between point and plane
Project the point onto the plane in the direction of the normal:
dist(q, ) = ||q’ – q||
n
p0q’
q
![Page 25: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/25.jpg)
Distance between point and plane
n
p0q’
q
2
22 2 2 2
2
( ) || , R
, 0 (because is in the plane )
, 0
, , 0
,
|| ||
,dist ( , ) || || || || .
|| ||
0
0
0
0
0
q q n q q n q q n
q p n q
q n p n
q p n n n
p q n
n
q p nq q q n
n
![Page 26: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/26.jpg)
Implicit representation of planes in 3D
0, , , , R, ( , , ) (0,0,0)Ax By Cz D A B C D A B C
(x, y, z) are coordinates of a point on the plane (A, B, C) are the coordinates of a normal vector to the
plane
Ax+By+Cz+D > 0
Ax+By+Cz+D < 0
Ax+By+Cz+D = 0
![Page 27: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/27.jpg)
Distance between two lines in 3D
p1
p2
u
v
d
The distance is attained between two points q1 and q2
so that (q1 – q2) u and (q1 – q2) v
q1
q2
l1
l2
1
2 2
( )
( )
l s s
l t t
1p u
p v
![Page 28: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/28.jpg)
Distance between two lines in 3D
( ) , 0
( ) , 0
s t
s t
1 2
1 2
p p u v u
p p u v v
2
2
( ), || || , 0
( ), , || || 0
s t
s t
1 2
1 2
p p u u v u
p p v u v v
p1
p2
u
v
d
q1
q2
l1
l2
1
2 2
( )
( )
l s s
l t t
1p u
p v
![Page 29: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/29.jpg)
Distance between two lines in 3D
2
2 2 2
2
2 2 2
, , || || ,
|| || || || ,
|| || , , ,
|| || || || ,
s
t
1 2 1 2
1 2 1 2
u v v p p v u p p
u v u v
u u p p u v u p p
u v u v
p1
p2
u
v
d
q1
q2
l1
l2
1
2 2
( )
( )
l s s
l t t
1p u
p v
![Page 30: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/30.jpg)
Distance between two lines in 3D
||)~()~(||),(dist 2121 tlslll
p1
p2
u
v
d
q1
q2
l1
l2
1
2 2
( )
( )
l s s
l t t
1p u
p v
![Page 31: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/31.jpg)
Barycentric coordinates (2D)
Define a point’s position relatively to some fixed points. P = A + B + C, where A, B, C are not on one line, and
, , R. (, , ) are called Barycentric coordinates of P with
respect to A, B, C (unique!) If P is inside the triangle, then ++=1, , , > 0
A B
C
P
![Page 32: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/32.jpg)
Barycentric coordinates (2D)
A B
C
P
triangletheofareathedenotes,,
,,
,,
,,
,,
,,
,,
CCBA
BAPB
CBA
ACPA
CBA
CBPP
![Page 33: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/33.jpg)
Example of usage: warping
![Page 34: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/34.jpg)
Example of usage: warping
Tagret
AB
C
We take the barycentric coordinates , , of P’ with respect to A’, B’, C’.Color(P) = Color( A + B + C)
PP
1P
![Page 35: 3D Geometry for Computer Graphics Class 1. General Office hour: Sunday 11:00 – 12:00 in Schreiber 002 (contact in advance) Webpage with the slides: sorkine/courses/cg/cg2005](https://reader036.vdocuments.us/reader036/viewer/2022081515/56649d4c5503460f94a29f5c/html5/thumbnails/35.jpg)
See you next time!