Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is...

40
Fundamentals of Computer GraphicsLecture 1、Introduction to Computer Graphics Yong-Jin Liu [email protected]

Transcript of Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is...

Page 1: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

《Fundamentals of Computer Graphics》

Lecture 1、Introduction to Computer Graphics

Yong-Jin Liu

[email protected]

Page 2: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Computer Graphics

Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Definition from IEEE:Computer graphics is the art

or science of producing graphical images with the aid

of computer.

1、Definition of Computer Graphics

Concept of Computer Graphics

Page 3: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Contents of Traditional Computer Graphics

Raster Graphics

Scan conversion algorithm of Line, Arc and

Polygon

Algorithm of region filling, character, clipping;

Geometry Modeling

Bezier, spline curve and surface

Realistic Graphics

Color vision;

Lighting model、algorithm;

Page 4: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

What About This Course?

Course project for graphics applications

with different levels of skill

Progressive approach to explain OpenGL

with code

OpenGL and evolution of computer graphics

Preliminaries

Fundamentals of C++ programming language

Linear algebra

Page 5: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Teaching Methods

Teaching focuses on the basic principles of

graphics

Programming focuses on the graphic

application projects

Source code are provided for each demo

Contact

Email:[email protected]

Office Phone:62784141-804

Page 6: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Monday, 9:50~10:35

10:40~11:25

11:30~12:15

Lecturer: teaching

TA: programming

Page 7: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Computer Graphics-Interdisciplinary

Digital image processing

Signal processing

Computer vision

Media Arts

Cognitive psychology

Artificial intelligence(Military simulation,

Game)

Page 8: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Applications of Computer Graphics

Information Visualization

Scientific computing(finite element analysis、traffic monitoring)

Medical imaging, 2D and 3D graphic design

and so on

Virtual Reality

3D animation, film special effects, entertainment

games

Military simulation

Page 9: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Finite element analysis

(Stress and strain intensity)

Page 10: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.
Page 11: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.
Page 12: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.
Page 14: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

M. Agrawala, W. Li, F. Berthouzoz. Design principles for visual

communication. Communications of the ACM, Vol. 54, No. 4,

pp.60-69, 2011.

Page 15: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Niloy J. Mitra, Yong-Liang Yang, Dong-Ming Yan, Wilmot Li and

Maneesh Agrawala. Illustrating How Mechanical Assemblies

Work. SIGGRAPH 2010, July 2010. 58:1-58:12.

Page 16: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Non-photorealistic rendering for assembly visualization

Page 17: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

A demo video for car engine assembly visualization

Page 18: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Applications of Computer Graphics

Information Visualization

Scientific computing(finite element analysis、traffic monitoring)

Medical imaging, plane and 3D graphic design

and so on

Virtual Reality

3D animation, film special effects, entertainment

games

Military simulation

Page 19: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.
Page 20: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.
Page 21: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.
Page 22: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Applications of Computer Graphics

Information Visualization

Scientific computing(finite element analysis、traffic monitoring)

Medical imaging, plane and 3D graphic design

and so on

Virtual Reality

3D animation, film special effects,

entertainment games

Military simulation

Page 23: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Film “Avatar” has made an important success for according with human perception of visual media interaction, integration and presentation. But at the same time, the production of Avatar which rely on more than 800 special effects staff took nearly four years to complete

Page 24: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

In the 3D shooting, the Cameron cooperates with Sony, involved in the development of new 3D camera system. Using 8 Sony HDC-F950 digital film cameras and 8 Sony CineAlta F23 digital film cameras to consist the #D camera system. This 3D camera system is named Fusion Camera-3D System. This makes the shooting, compared with previous 3D movies, has greatly improved.

Page 25: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Computer Graphics-Interdisciplinary

Digital image processing

Signal processing

Computer vision

Media Arts

Cognitive psychology

Artificial intelligence(Military simulation,

Game)

Page 26: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Computer Graphics-Interdisciplinary

Digital image processing

Signal processing

Computer vision

Media Arts

Cognitive psychology

Artificial intelligence(Military simulation,

Game)

Page 27: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.
Page 28: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.
Page 29: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

3D zebra crossing

Page 30: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

Chairs against physical laws

Page 31: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

The lost space

Page 32: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

What About This Course?

Application requirements with different

professional

Progressive approach to explain OpenGL

with code

OpenGL and evolution of computer graphics

Preliminaries

Fundamentals of C programming language

Linear algebra

Page 33: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.
Page 34: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

The following code is to construct a complex region using two spline curve,then filling it.

using namespace Gdiplus; Graphics graphics( pDC->m_hDC ); Pen pen(Color::Blue, 3); Point point1( 50, 200); Point point2(100, 150); Point point3(160, 180); Point point4(200, 200); Point point5(230, 150); Point point6(220, 50); Point point7(190, 70); Point point8(130, 220); Point curvePoints[8] = {point1, point2, point3, point4, point5, point6, point7, point8}; Point* pcurvePoints = curvePoints; GraphicsPath path; path.AddClosedCurve(curvePoints, 8, 0.5); PathGradientBrush pthGrBrush(&path); pthGrBrush.SetCenterColor(Color(255, 0, 0, 255)); Color colors[] = {Color(0, 0, 0, 255)}; INT count = 1; pthGrBrush.SetSurroundColors(colors, &count); graphics.DrawClosedCurve(&pen, curvePoints, 8, 0.5); graphics.FillPath(&pthGrBrush, &path);

Page 35: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.
Page 36: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

The Content of This Course

1. Introduction

Soft and hard system in computer graphics

2. Using Geometry Modeling Software

Enhancing the using habit in 3D space

3. Vector Computing in Computer Graphics

Dot product, cross product, projection,

transformation, homogeneous coordinates

Page 37: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

The Content of This Course

5. Draw a simple graph using OpenGL

Message-driven mechanism,OpenGL window

program

6. Curve smoothing、surface designing

Polynomial, Bezier, B spline curve and surface

7. Modeling using triangle mesh

Shape representation、mesh simplification、retrieving of 3D mesh

Page 38: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

The Content of This Course

8. 3D observation

Camera model、world and local coordinate system、view port

9. Lighting model of OpenGL

Color, diffuse light, specular light, ambient light

10. Texture mapping

Texture maps, texture coordinates, texture mapping,

lighting and shadows

Page 39: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

The Content of This Course

11. Maze design

Application of Fractal Geometry in artistic expression

12. Artificial intelligence

Combined with computer-aided design

13. Advanced technology of OpenGL

Illumination map, depth map, environment map, multi-

texture

Page 40: Lecture 1 Introduction to Computer Graphics · Computer Graphics Definition:Computer graphics is a subject which studies how to use computer to generate, process and display graph.

The Content of This Course

14. Shading of OpenGL

OpenGL Programmable pipeline, rendering

engine development Final exam presentation

Presentation

15. The last

Final summary , Final marks released