85
View in 2D & 3D Teacher: A.prof. Chengying Gao(高成英) E-mail: [email protected] School of Data and Computer Science Computer Graphics

View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

  • Upload
    vudang

  • View
    232

  • Download
    3

Embed Size (px)

Citation preview

Page 1: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

View in 2D & 3D

Teacher: A.prof. Chengying Gao(高成英)

E-mail: [email protected]

School of Data and Computer Science

Computer Graphics

Page 2: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Outline

• 2D Viewing

• 3D Viewing

• Classic view

• Computer view

• Positioning the camera

• Projection

2Computer Graphics

Page 3: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

2D Viewing

3Computer Graphics

Page 4: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

2D Viewing

4Computer Graphics

Page 5: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Windowing Concepts

5Computer Graphics

Page 6: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

2D Viewing Transformation

6Computer Graphics

Page 7: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Deriving Viewport Transformation

7Computer Graphics

Page 8: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Deriving Viewport Transformation

8Computer Graphics

Page 9: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

The Aspect Ratio (纵横比)

9Computer Graphics

Page 10: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Maintaining the Aspect

10Computer Graphics

Page 11: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

OpenGL Commands

11Computer Graphics

Page 12: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

OpenGL Commands

12Computer Graphics

Page 13: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Outline

• 2D Viewing

• 3D Viewing

• Classic view

• Computer view

• Positioning the camera

• Projection

13Computer Graphics

Page 14: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

3D Viewing

14Computer Graphics

Page 15: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

The Pinhole Camera

15Computer Graphics

Page 16: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Transformation and Camera Analogy

16Computer Graphics

Page 17: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Outline

• 2D Viewing

• 3D Viewing

• Classic view

• Computer view

• Positioning the camera

• Projection

17Computer Graphics

Page 18: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Classic View

18Computer Graphics

Page 19: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Plane Geometry Projection

• That is projected onto the plane of the standard projection

• Projection line is a straight line

• Gathering in the center of projection

• Parallel to each other

• This projection preserve collinearity

• Some application such as mapping (地图映射)need to be

non planar projection

19Computer Graphics

Page 20: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Taxonomy of Projection

20Computer Graphics

Page 21: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Orthogonal projection (正交投影)

• Projection line perpendicular (垂直) to the plane of projection

21Computer Graphics

Page 22: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Multi-view orthographic projection (多角度正交投影)

• The projection plane parallel to the reference plane(DOP is perpendicular to the view plane)

• Usually projection from the front, top and side

22Computer Graphics

Front

BackTop

Page 23: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Multi-view of CAD parts

23Computer Graphics

在CAD和建筑行业中,通常

显示出来三个视点图以及等

角投影图。

Page 24: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Advantages & Disadvantages

• Keep the distance and angle

• Remain the shapes

• Use for measurement (building, manual)

• Can't see the global real object shape, because many surface

not visible in view

• Sometimes adding isometric drawing (等角图)

24Computer Graphics

Page 25: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Axonometric projection (轴测投影)

25Computer Graphics

等轴测 正二测 正三测

三个主面对称 两个主面对称 三个面比率不同

Page 26: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Mechanical Drawing

26Computer Graphics

不等角图等角图

Page 27: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Oblique Projections (斜平行投影)

27Computer Graphics

Page 28: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Perspective projection

28Computer Graphics

PRP: Projection Reference Point = Eye position

Page 29: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Early Perspective

29Computer Graphics

Page 30: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Vanishing Points

• On the object of all parallel lines (not parallel to the projection plane) projected to a point

• Hand draw simple perspective projection on the need to use the vanishing point

30Computer Graphics

Vanishing Point

Page 31: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Vanishing Points

31Computer Graphics

Page 32: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Perspective Projection

32Computer Graphics

Page 33: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Perspective Viewing

33Computer Graphics

Page 34: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

34Computer Graphics

Page 35: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

35Computer Graphics

Page 36: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

36Computer Graphics

Page 37: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Outline

• 2D Viewing

• 3D Viewing

• Classic view

• Computer view

• Positioning the camera

• Projection

37Computer Graphics

The fundamental difference between the

classic view and computer view:

• All the classical views are based on a particular

relationship among the objects (对象), the

viewers (观察者), and the projectors (投影线).

• In computer graphics, we stress the

independence of the object specifications (对象

定义) and camera parameters (摄像机参数).

Page 38: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Computer view

• The view has three functions, are implemented in pipeline

system

• Positioning the camera

• Setup the model-view matrix

• Set the lens

• Projection matrix

• Clipping

• view frustum

38Computer Graphics

Page 39: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Camera in OpenGL

• In OpenGL, the initial world frame and camera frame are the

same

• A camera located at the origin, and point to the negative

direction of Z axis

• OpenGL also specifies the view frustum default, it is a center at

the origin of the side length of 2 cube

39Computer Graphics

Page 40: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Default projection

• Default is the projection of orthogonal projection

40Computer Graphics

Page 41: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Outline

• 2D Viewing

• 3D Viewing

• Classic view

• Computer view

• Positioning the camera

• Projection

42Computer Graphics

Page 42: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Moving the camera frame

• If you want to see objects with positive Z coordinate more, we

can

• Moves The camera along the positive Z axis

• Moves the object along the negative Z axis

• They are equivalent, is determined by the model-view matrix

• Need a translation: glTranslated(0.0, 0.0, d);

• Here, d > 0

43Computer Graphics

Page 43: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Moving the camera frame

44Computer Graphics

Default frame

After translated d, d>0

Page 44: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Moving the camera frame

• Can use a series of translation and rotation to the camera

position to any position

• For example, in order to get the side view

• Rotate the camera: R

• Move the camera from the origin: T

• C = TR

45Computer Graphics

Page 45: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Viewing Specification

46Computer Graphics

正方向

观察参考点

观察方向

Page 46: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

View Reference Coordinate System

47Computer Graphics

通过观察平面法向量和观

察正向向量,确定摄像机。

Page 47: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

View Reference Coordinate System

49Computer Graphics

Page 48: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Simplest Camera Position

50Computer Graphics

Page 49: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

World to Viewing coordinate Transformation

• The world could be transformed so that the view reference

coordinate system coincides with the world coordinate system

• Such a transformation is called world to viewing coordinate

transformation

• The transformation matrix is also called view orientation matrix

51Computer Graphics

Page 50: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Deriving View Orientation Matrix

52Computer Graphics

Page 51: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

A More Intuitive Approach Offered by GLU

53Computer Graphics

Page 52: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

OpenGL Viewing Transformation

54Computer Graphics

它封装了世界坐标系到观察坐标系的转换。调用之后,我们就把坐标

系变换的矩阵放入了矩阵栈,后续对物体的位置描述,会通过此矩阵

栈进行转换到我们的观察坐标系了。

Page 53: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

gluLookAt Illustration

55Computer Graphics

Page 54: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Look-At Positioning

56Computer Graphics

Page 55: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Where does it point to?

57Computer Graphics

Page 56: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Constructing a Coordinates

58Computer Graphics

Page 57: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Rotation

59Computer Graphics

view reference frame:

Page 58: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Translation

60Computer Graphics

Page 59: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Composing the Result

61Computer Graphics

viewing coordinate transformation is:

Page 60: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

The Viewing Transformation

62Computer Graphics

Page 61: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Looking At a cube

63Computer Graphics

Page 62: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

gluLookAt() and other transformations

• The user can define the model-view matrix to achieve the

same function

• But from the concept of the gluLookAt () as the camera

position, while the other follow-up transformation as

object position

• gluLookAt in the OpenGL () function is the only specialized

for positioning the camera function

65Computer Graphics

Page 63: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Outline

• 2D Viewing

• 3D Viewing

• Classic view

• Computer view

• Positioning the camera

• Projection

66Computer Graphics

Page 64: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Orthogonal Projection

67Computer Graphics

Page 65: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Orthogonal Projection Matrix: Homogeneous coordinates

68Computer Graphics

Page 66: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Perspective Projection

69Computer Graphics

Page 67: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Transformation Matrix for Perspective Projection

70Computer Graphics

Page 68: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Perspective Projection

71Computer Graphics

Page 69: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Basic Perspective Projection

72Computer Graphics

Page 70: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Homogeneous Coordinates

73Computer Graphics

Page 71: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Perspective Divide

• 如果𝑤 ≠ 1,那么必须从齐次坐标中除以𝑤而得到所表示的

• 这就是透视除法,结果为

上述方程称为透视方程。

74Computer Graphics

Page 72: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Perspective Projection

• Perspective Divide 是非线性的,导致非均匀缩短。

• 离投影中心(COP)远的对象投影后,尺寸缩短得比离COP近的对

象大。

• 透视变换是保直线的,但不是仿射变换。

• 透视变换是不可逆的,因为沿一条投影直线上的所有点投

影后的结果相同。

75Computer Graphics

Page 73: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Perspective Projection

76Computer Graphics

Page 74: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

View Window

77Computer Graphics

Page 75: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

View Volume & Clipping

• For perspective projection the view volume is a semi-infinite

pyramid with apex (顶点) at prp and edges passing through the

corners of the view window

78Computer Graphics

• For efficiency, view volume is

made finite by specifying the

front and back clipping plane

specified as distance from the

view plane

Page 76: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

View Volume & Clipping

• For parallel projection the view volume is an infinite parallelepiped

(平行六面体) with sides parallel to the direction of projection

• Clipping is done in 3D by clipping the world against the front clip

plane, back clip plane and the four side planes

79Computer Graphics

• View volume is made finite by specifying

the front and back clipping plane specified

as distance from the view plane

Page 77: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

The Complete View Specification

• Specification in world coordinates

• position of viewing (vrp),

direction of viewing(-n),

• up direction for viewing

(upVector)

• Specification in view coordinates

• view window : center (cx, cy),

width and height,

• prp : distance from the view

plane,

• front clipping plane : distance

from view plane

• back clipping plane : distance

from view plane

80Computer Graphics

Page 78: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Orthogonal view in OpenGL

81Computer Graphics

Page 79: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Perspective in OpenGL

82Computer Graphics

Page 80: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Perspective in OpenGL

83Computer Graphics

Page 81: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Field of application

• Application of glFrustum sometimes difficult to get the desired results

• GluPerspective (fovy, aspect, near, far) can provide a better results

84Computer Graphics

Aspect = w / h

Page 82: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Normalization

85Computer Graphics

• Normalization allows for a single pipeline for both perspective

and orthogonal viewing.

• It simplifies clipping.

• Projection to the image plane is simple (discard z).

• z is retained for z-buffering (visible surface determination)

Page 83: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

86Computer Graphics

Page 84: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Transformation Pipeline

87Computer Graphics

1. Vertices of the Object to draw are in Object space (as modelledin your 3D Modeller)

2. … get transformed into World space by multiplying it with the Model Matrix

3. Vertices are now in World space(used to position the all the objects in your scene)

4. … get transformed into Camera space by multiplying it with the View Matrix

5. Vertices are now in View Space– think of it as if you were looking at the scene throught “the camera”

6. … get transformed into Screen space by multiplying it with the Projection Matrix

7. Vertex is now in Screen Space –This is actually what you see on your Display.

Page 85: View in 2D & 3D - 计算机图形学 Viewing.pdf · Windowing Concepts Computer Graphics 5. 2D Viewing Transformation Computer Graphics 6. ... •Clipping is done in 3D by clipping

Projective Rendering Pipeline

88Computer Graphics