Computer Graphics with OpenGL 3e

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Strength of Materials I EGCE201 กำลังวัสดุ 1
Advertisements

E-COMMERCE WEBSITE Smartzap Co., Ltd.. Company Profile บริษัท สมาร์ทแซป จำกัด ก่อตั้งเมื่อปี 2543 (13 ปี ) ในช่วงยุค Internet เพิ่ง เริ่มต้น เป็นบริษัทที่ดำเนินงานทางด้าน.
John Rawls  John Rawls is the most famous American social contract theorist argued that “Justice is fairness” He Thought human natural have a appropriate.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
THE PARTS OF A FLOWERING PLANT AND THEIR FUNTION.
Set is a basic term in Mathematics. There is no precise definition for term “set”, But roughly speaking, a set is a collection of objects, Things or symbols,
Finite and Infinite Sets, Null set
Texture การประมวลผลภาพแบบดิจิตอล Ian Thomas
จำนวน สถานะ NUMBER OF STATES. ประเด็นที่ สนใจ The number of distinct states the finite state machine needs in order to recognize a language is related.
INTELLECTUAL CAPITAL : IC Group 3: Tipada Subhasean Nongluk Charoeschai Nerisa Wangkarat
Educational Objectives
Chapter 9 : Designing Approach
Graphical User Interface charturong.ee.engr.tu.ac.th/CN208
VARIABLES, EXPRESSION and STATEMENTS. Values and Data Types Value เป็นสิ่งพื้นฐาน มีลักษณะเป็น ตัวอักษร หรือ ตัวเลข อาทิ 2+2 หรือ “Hello world” Value.
Chapter 7 : Deflection by Various Geometrical
อาจารย์ มธ. อธิบายการใช้ โมเดลของ
Chapter 5: Functions of Random Variables. สมมติว่าเรารู้ joint pdf ของ X 1, X 2, …, X n --> ให้หา pdf ของ Y = u (X 1, X 2, …, X n ) 3 วิธี 1. Distribution.
ระบบการจัดเก็บในคลังสินค้า
: Chapter 1: Introduction 1 Montri Karnjanadecha ac.th/~montri Image Processing.
Color Standards A pixel color is represented as a point in 3-D space. Axis may be labeled as independent colors such as R, G, B or may use other independent.
ออโตมาตาจำกัด FINITE AUTOMATA
REGULAR EXPRESSION การบรรยายแบบสม่ำเสมอ
Helping you make better treatment decisions for your patients.
Chapter 19 Network Layer: Logical Addressing
Inference in Propositional Logic
Inductive, Deductive Reasoning ผศ.( พิเศษ ) น. พ. นภดล สุชาติ พ. บ. M.P.H.
Course Software Engineering SE Overview and Introduction.
Chapter 3 Graphics Output primitives Part II
Computer Graphics.
INC341 Steady State Error Lecture 6.
Chap 4 Complex Algebra. For application to Laplace Transform Complex Number.
Chapter 3 Solution by Series. Introduction Complementary Function Particular Integral  Chapter 2 If F(x),G(x) are constant.
Yv xv zv.
ผศ.ดร.สุพจน์ นิตย์สุวัฒน์
การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 7 การทดสอบโปรแกรม
Asst.Prof. Dr.Surasak Mungsing
8/3/2014The Realities of software Testing1 Software testing Realities What is the realities of software testing Why does the software testing not complete.
Merchant Marine Training Centre วิชาการเป็นเลิศ เชิดชู คุณธรรม ผู้นำ.
วิชาการเป็นเลิศ เชิดชูคุณธรรม ผู้นำ
บทที่ 2 งบการเงินพื้นฐาน BASIC FINANCIAL STATEMENTS 2.
Exercise 4: Page 41.
Page: 1 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้ Gate & Karnaugh Map มหาวิทยาลัยเนชั่น จังหวัดลำปาง
Merchant Marine Training Centre วิชาการเป็นเลิศ เชิดชู คุณธรรม ผู้นำ.
Menu and Interactive with Powerpoint ให้นำเรื่อง Input /Output Technology มา จัดทำ การนำเสนอ โดยใช้หลักการ Menu and Interactive with powerpoint มาประยุกต์
Enhanced Entity-Relationship Model © Pearson Education Limited 1995, 2005.
Algorithm Efficiency There are often many approaches (algorithms) to solve a problem. How do we choose between them? At the heart of computer program.
CPE 332 Computer Engineering Mathematics II Week 2 Chapter 2 Matrix.
ตัวแปรในภาษา GML ง การสร้างเกม คอมพิวเตอร์.
วิธีการ Auto ship.
Writing a research. Why Research?  To find whether the messages and the materials are appropriate to the target group  To modify the messages and the.
Java Programming Language สาขาวิชาระบบสารสนเทศ คณะบริหารธุรกิจ มหาวิทยาลัยเทคโนโลยีราชมงคลกรุงเทพ.
STACK ADT By Pantharee S.. Stack Model  A list with the restriction that insertions deletions can be performed in only one position (LIFO)  Push – insert.
จุดประสงค์การเรียนรู้ 1. รู้คำศัพท์เกี่ยวกับ เหตุและผล 2. เขียนเงื่อนไขความเป็นเหตุเป็น ผลได้ 3. เกิดทักษะกระบวนการคิด ด้าน สรุปอย่างสมเหตุสมผล 4. เขียนเรื่องสมมุติเกี่ยวกับตนเอง.
ผัก. หน่อไม้ ฝรั่ง กะหล่ำ ปลี แค รอท กะหล่ำ ดอก.
ผู้ให้สัมมนา นายธเนศ เกษศิลป์ รหัส ภาควิชานิติวิทยาศาสตร์
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
ทุนทางปัญญา Intellectual Capital KM743 Session 3.1
เอกสารเรียนวันที่ 7 กันยายน 2555
Chapter 3 Simple Supervised learning
Chapter 1/1 Arrays. Introduction Data structures are classified as either linear or nonlinear Linear structures: elements form a sequence or a linear.
An Online Computer Assisted Instruction Development of Electronics Devices Subject for Learning Effectiveness Testing By Assoc.Prof. Suwanna Sombunsukho.
Physical Chemistry IV The Ensemble
The Analysis of Strands, Standards and Indicators for Tests
 Mr.Nitirat Tanthavech.  HTML forms are used to pass data to a server.  A form can contain input elements like text fields, checkboxes, radio-buttons,
ว เคมีพื้นฐาน พันธะเคมี
พื้นฐานการเขียนแบบทางวิศวกรรม
1. นี่เป็นสิ่งที่พระเยซูทรงทำ พระองค์ทรงรักษาทุกคน ที่เจ็บป่วยให้หายดี
Incomplete Dominance -While much of genetics deals with dominant and recessive traits where the offspring will resemble one of the parents, sometimes there.
Color Standards A pixel color is represented as a point in 3-D space. Axis may be labeled as independent colors such as R, G, B or may use other independent.
Year 9 Term 1 Foundation (Unit 1) INTEGERS, ROUNDING AND PLACE VALUE
ใบสำเนางานนำเสนอ:

Computer Graphics with OpenGL 3e © 2005 Pearson Education

Chapter 4 Attribute of Graphics Primitives © 2005 Pearson Education

Fill-area attributes Graphics packages limit fill area to polygon Describe object as linear equations Fill style Hollow, solid and patterned Fill pattern A mask to be applied to the display area described in rectangular arrays that list different colors for different positions in the array Color-Blended fill regions Combine a fill pattern with background color Example: transparency Simple logical operation Soft-fill algorithm © 2005 Pearson Education

Fill-area attributes “Polygon” (รูปหลายเหลี่ยม) can be generally thought of as a shape Formed by a line segments that are placed end to end to create a continuous closed path Three basic types Convex, concave, and complex © 2005 Pearson Education

Identifying Concave/Convex Setup vectors for all edges Perform cross product to adjacent vectors to test for concavity Perform dot product if we want to determine the angle between two edges All vector products will be the same value (positive or negative) for convex polygon If there are some cross products yield a positive and some yield a negative value, we have a concave polygon © 2005 Pearson Education

Identifying Concave (cont.) Vn Ej V6 E5 V5 Vm E4 Ej = (Vnx – Vmx , Vny – Vmy) V4 E3 (E1 X E2) > 0 (E2 X E3) > 0 (E3 X E4) < 0 (E4 X E5) > 0 (E5 X E6) > 0 (E6 X E1) > 0 E6 V3 E2 V2 E1 V1 EJ X EK = EJXEKY - EJYEKX © 2005 Pearson Education

Example Given 6 vertices: Prove that these vertices is for concave polygon. What can you say about the cross product values if we change the order of these vertices (v6 becomes v1, v5 becomes v2, etc…). © 2005 Pearson Education

Exact angle between two adjacent edges Use dot product operation Angle between Edges Exact angle between two adjacent edges Use dot product operation a.b = |a||b|cos θ |a| means the magnitude of vector a θ © 2005 Pearson Education

Angle Between Edges Example: Given 2 vectors a = (2,3) and b = (6,3). Determine the angle between these two vectors Determine the angle between E3 and E4 (refer to previous example) © 2005 Pearson Education

Fill-area attributes Convex or Concave polygons? Complex polygon http://www.cs.rit.edu/~icss571/filling/what_is_poly.html © 2005 Pearson Education

Fill-area attributes How is a filled polygon different from an unfilled one? When an unfilled polygon is rendered, only the points on the perimeter of the polygon are drawn When a polygon is filled, the interior of the polygon must be considered © 2005 Pearson Education

Inside and Outside Test In order to determine which pixels are inside polygon Odd-Even Rule (Odd-parity rule) Nonzero Winding Number Rule © 2005 Pearson Education

Inside and Outside Test Nonzero Winding Number Rule Count the number of times the boundary of an object “winds” around a particular point in the counterclockwise direction Wn++ Wn- - wn = winding number If wn ≠ 0, such point is interior pixel of the polygon Otherwise, such point is exterior pixel of the polygon © 2005 Pearson Education

Inside and Outside Test Problem in complex shape © 2005 Pearson Education

Polygon-fill Algorithm General scan-line polygon-fill algorithm Applied to concave / convex polygon With help of mid-point method to determine intersection when applied to curved areas Boundary-fill algorithm Filling irregular areas Start at an inside position and “paint” interior © 2005 Pearson Education

General Scan-Line Polygon-fill Algorithm © 2005 Pearson Education

General Scan-Line Polygon-fill Algorithm © 2005 Pearson Education

General Scan-Line Polygon-fill Algorithm Exceptions!!! กรณีที่ scan line ตัดผ่านจุดยอดของ polygon พอดี เช่นที่จุดหมายเลข 2 Case 1 : Scan line y’ two intersection edges are both above the scan line Case 2 : Scan line y two edges sharing an intersection vertex are on opposite sides of the scan line © 2005 Pearson Education

General Scan-Line Polygon-fill Algorithm การระบุว่า scan line ของกรณี Exceptions จัดอยู่ในรูปแบบใด สามารถทำได้ดังนี้ เดิน (trace) ตามเส้นขอบ polygon เพื่อพิจารณา 3 จุดยอดใด ๆ ที่อยู่ติดกัน ในทิศ ทวนเข็ม หรือ ตามเข็มนาฬิกา ก็ได้ สังเกตลักษณะการเปลี่ยนแปลงค่า y จากจุดยอดทั้ง 3 จุด ถ้าค่า y เปลี่ยนแปลง ไปในทิศทางตรงกันข้าม แสดงว่าจุดยอดตรงกลางเป็น กรณีที่ 1 : เพิ่มจุดตัดซ้ำ 2 จุด ถ้าค่า y ลดลงตลอด (หรือเพิ่มขึ้นตลอด) แสดงว่าจุดยอดตรงกลางเป็น กรณีที่ 2 : ให้หดเส้นของลง 1 scan line © 2005 Pearson Education

General Scan-Line Polygon-fill Algorithm © 2005 Pearson Education

General Scan-Line Polygon-fill Algorithm Coherent Polygon Processing เราสามารถใช้ประโยชน์ ความเกี่ยวเนื่องกันขององค์ประกอบ polygon สำหรับ scan line ที่ติดกัน มาใช้เพื่อเพิ่มประสิทธิภาพในการประมวลผลได้ © 2005 Pearson Education

General Scan-Line Polygon-fill Algorithm An Efficient Polygon Algorithm © 2005 Pearson Education

General Scan-Line Polygon-fill Algorithm Scan-Line Algorithm Identifying sharing vertex โดย trace 3 vertices ใด ๆ ที่อยู่ติดกันเพื่อดูการเปลี่ยนแปลงของค่า y ทำการ shorten edge ในกรณีที่จุดยอด (vertex) ตัดผ่าน scan line พอดี เพื่อแยกแยะชนิดของจุดแบ่งเส้น scan line จัดเก็บข้อมูลของแต่ละ edge ในรูป y-min, y-max, x-val (of y-min) และ Δx/ Δy (1/m) ตามลำดับ 4. สร้าง sorted edge table เพื่อนำมาใช้เป็น active edge table ของแต่ละ scan line 5. ทำการระบายสี polygon ทีละ scan line © 2005 Pearson Education

Boundary-Fill Algorithm In many graphics packages the user can fill a region (defined by a boundary). In the figure, the boundary is red and the filling color is blue The user needs to click inside the region (seed) © 2005 Pearson Education

Boundary-Fill Algorithm Employed in interactive painting packages Using recursive method with procedure Start from an interior inside point, test neighboring position Fill color in that position if it is not the boundary Two area fill method 4-connect or 8-connected © 2005 Pearson Education

Boundary-Fill Algorithm ต้องการ input จำนวน 3 ตัว : 1)พิกัดเริ่มต้น (x, y) ที่อยู่ภายในบริเวณที่ต้องการระบาย 2) สีที่ต้องการระบาย 3) สีของขอบของบริเวณ © 2005 Pearson Education

Boundary-Fill Algorithm © 2005 Pearson Education

Boundary-Fill Algorithm © 2005 Pearson Education

Boundary-Fill Algorithm http://www.cs.unc.edu/~mcmillan/comp136/Lecture8/areaFills.html © 2005 Pearson Education

Boundary-Fill Algorithm © 2005 Pearson Education

© 2005 Pearson Education