Chapter 5 Attributes of Output Primitives (图元的属性)

Slides:



Advertisements
Similar presentations
前言 何謂能源 能源的種類 我們為何要節約能源 如何正確安全使用能源 節約能源的方法 節約能源的技術 結論與心得 資料來源.
Advertisements

台生vs.陸生— 生涯競爭力面面觀 主講人:吳正興
Directions: Print slides 2-7 single sided in color.
我们会赞叹生命之花的绚丽和多姿,也会歌颂生命之树的烂漫和青翠,但是生命是如此脆弱……
趣味小故事:马和驴子 在唐太宗贞观年间,有一匹马和一头驴子,它们 是好朋友。贞观3年,这匹马被玄奘大师选中,出 发前往印度取经。17年后,这匹马驮着经书回到长 安,重到磨坊会见驴子朋友。老马谈起这次旅途的 经历,浩瀚无边的沙漠,高耸云霄的山岭,凌云的 冰雪,壮阔的波澜……神话般的一切,让驴子听了 大为惊异、好生羡慕!驴子惊叹到:“你有多么丰.
師資培育中心外埠教育參觀.
2013年 安徽高考研讨会 英 语.
项目:贪吃蛇游戏设计 工作任务一:系统设计(system design) 工作任务二:豆类(Bean)设计
“走进三国” 读书汇报会 广州市玉岩中学 李玉明( ).
-Artificial Neural Network- Hopfield Neural Network(HNN) 朝陽科技大學 資訊管理系 李麗華 教授.
税务认定 永州市国家税务局纳税人学校.
XI. Hilbert Huang Transform (HHT)
Homework 4 an innovative design process model TEAM 7
02 GUI & Scribble jjcao Based on the idea of Professor Ligang Liu.
IV. Implementation IV-A Method 1: Direct Implementation 以 STFT 為例
计算机图形学 讲 授:董兰芳 研究方向:科学计算可视化 图形、图像处理 模式识别 中国科学技术大学 视觉计算与可视化实验室
Digital Terrain Modeling
Chapter 2. The Graphics Rendering Pipeline 图形绘制流水线
Seam Carving for Content-Aware Image Resizing
加州協調護理計畫 洛杉磯縣.
OpenGL (7) 靜宜大學資工系 蔡奇偉 副教授
Chapter 6 Graph Chang Chi-Chung
Area of interaction focus
Creating Animated Apps (I) 靜宜大學資管系 楊子青
第八章 Illumination and Shading
创建型设计模式.
OpenGL使用简介.
Short Version : 6. Work, Energy & Power 短版: 6. 功,能和功率
Depixelizing Pixel Art 像素风格画的矢量化
Origin绘图和数据分析 2006年11月.
The expression and applications of topology on spatial data
圖表製作 集中指標 0628 統計學.
Fundamentals of Physics 8/e 29 - Current-Produced Magnetic Field
普通物理 General Physics 29 - Current-Produced Magnetic Field
第三章 基本觀念 電腦繪圖與動畫 (Computer Graphics & Animation) Object Data Image
第三章 项目设定.
纹理映射.
Introduction to OpenGL (2)
第四章 图元的属性 曾智勇 软件学院.
Attributes of Output Primitives
PubMed整合显示图书馆电子资源 医科院图书馆电子资源培训讲座.
Chapter 2 Basic Concepts in Graph Theory
第三章 基本觀念 電腦繪圖與動畫 (Computer Graphics & Animation) Object Data Image
Chapter 5 Attributes of Output Primitives (图元的属性)
1.1 塑料成型在工业中的重要性 1.2 塑料成型技术发展概括 1.3 塑料模具的分类 1.4 学习目的和要求
Chapter 5 Recursion.
Version Control System Based DSNs
每周三交作业,作业成绩占总成绩的15%; 平时不定期的进行小测验,占总成绩的 15%;
3.5 Region Filling Region Filling is a process of “coloring in” a definite image area or region. 2019/4/19.
Module - pyopengl 應用於2d,3d圖形繪製.
通信工程专业英语 Lesson 13 Phase-Locked Loops 第13课 锁相环
OpenGL几何变换程序.
计算机问题求解 – 论题 算法方法 2016年11月28日.
计算机问题求解 – 论题1-5 - 数据与数据结构 2018年10月16日.
冀教版 九年级 Lesson 20: Say It in Five.
磁共振原理的临床应用.
Create and Use the Authorization Objects in ABAP
重庆市第一0四中学 王继军.
OpenGL 基础 计算机科学与技术系.
 隐式欧拉法 /* implicit Euler method */
交互技术与应用接口 向辉 山东大学软件学院 工程硕士-2003年秋季.
第一讲 面向对象方法学与信息系统建模.
Simple, Powerful and Free
Class imbalance in Classification
PROGRAM 1 Simple E. Angel, Interactive Computer Graphics A Top-Down Approach with OpenGL, Third Edition Addison-Wesley Longman, 2003.
自由曲线与曲面(II) 计算机科学与技术.
Voronoi Diagram and Delaunay Triangulation
Section 1 Basic concepts of web page
When using opening and closing presentation slides, use the masterbrand logo at the correct size and in the right position. This slide meets both needs.
Presentation transcript:

Chapter 5 Attributes of Output Primitives (图元的属性) 点的属性 线的属性 填充区属性 字体属性(*) 反走样 2019/4/15 交通运输学院CAD/CAM研究所

属性 任何影响图元显示方法的参数称为属性参数. 颜色(color)和大小(size)等属性参数确定了图元的基本特性 维护属性和其他参数当前值表的图形系统称为状态系统或状态机 输出图元属性和当前帧缓存位置等其他参数称为状态系统或状态参数 【注】状态参数赋值后,会一直保留到下次改变。 2019/4/15 交通运输学院CAD/CAM研究所

Point attributes(点属性) In OpenGL, a point is represented by a set of floating-point numbers called a vertex. the size of a point is specified by void glPointSize( GLfloat size ) Default: size=1.0(in pixels); The actual collection of pixels on the screen that are drawn for various point widths depends on whether antialiasing(反走样) is enabled. Details: Refer to OpenGL Redbook 2712.html 2019/4/15 交通运输学院CAD/CAM研究所

Line Attributes(线属性) (Line type, Width and Color) 激活与关闭线型函数 glEnable(GL_LINE_STIPPLE); glDisable(GL_LINE_STIPPLE); 每像素重复次数 2019/4/15 交通运输学院CAD/CAM研究所

0000,1100,0000,1111 0x0C0F Stippled Lines Wide Stippled Lines 每像素重复次数 2019/4/15 交通运输学院CAD/CAM研究所

Additional Line Attributes Line caps (p149) Pen and brush options (p150) 2019/4/15 交通运输学院CAD/CAM研究所

Curve Attributes Are similar to line attributes. See p152. 2019/4/15 交通运输学院CAD/CAM研究所

glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0, 0.0, 1.0); void glexam (void) { glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0, 0.0, 1.0); glEnable(GL_LINE_STIPPLE); glLineWidth(5.0); glLineStipple(2, 0x0101); glBegin(GL_LINES); glVertex2i(20, 20); glVertex2i(30, 9); glEnd(); glLineStipple(2, 0x00FF); glVertex2i(20, 16); glVertex2i(30, 16); glDisable(GL_LINE_STIPPLE); glFlush ( ); } // GL 标准调用流程 void init (void) { glClearColor (1.0, 1.0, 1.0, 0.0) glMatrixMode (GL_PROJECTION) gluOrtho2D (20, 30, 8, 20) } 2019/4/15 交通运输学院CAD/CAM研究所

Chapter 5 Attributes of Output Primitives (图元的属性) 点的属性 线的属性 填充区属性 字体属性(*) 反走样 2019/4/15 交通运输学院CAD/CAM研究所 9

Antialiasing反走样 Concept of Aliasing走样概念 Antialiasing Tech.反走样技术

Concept of Aliasing走样概念 在分辨率较低时,会出现明显锯齿形状,能否优化? Problem Concept of Aliasing走样概念 Def. The distortion of information due to low-frequency sampling (undersampling) is called aliasing. 图形数字化过程中,由于低频采样而造成的图形畸变->走样 走样最简单解决办法Simple method Display objects at higher resolution提高分辨率

将每个物理像素细分成 nXn个子像素,再用Bresenham算法选择子像素,每个物理像素上的子像素取值在1到n之间,即亮度等级。 反走样--直线段的过取样 1)子分像素法 通过直线穿过像素点面积 用不同亮度显示 亮度等级确定: 将每个物理像素细分成 nXn个子像素,再用Bresenham算法选择子像素,每个物理像素上的子像素取值在1到n之间,即亮度等级。

反走样--直线段的过取样 2)有限宽度法 将每个物理像素细分成 nXn个子像素,并将线段视为有限宽度的多边形,若子像素上的左下角在区域内,则把该子像素作为线段内,其子像素的个数为亮度值。取值在1到 nXn 之间,即为亮度等级

效果对比 10 20 22 21 12 11 2019/4/15 交通运输学院CAD/CAM研究所 14

W权值? 反走样--直线段的过取样 1 2 4 . Filtering Tech(过滤技术) 3 子像素的加权掩模 过取样的算法经常在实现时将 更大的权值赋给接近于像素中心的 子像素,希望这些子像素在该像素 的显示亮度中有更重要的作用。 1 2 4 W权值? . Filtering Tech(过滤技术)

4. Filtering Tech(过滤技术) 过滤技术是一种更精确的反走样方法。 类似于应用加权像素掩模,用一个连续的加权曲面(或过滤函数)覆盖像素,而不是一个离散的象素掩模。 用正方形、圆锥和高斯函数作为过滤函数 应用过滤函数的方法是将像素曲面集成来得到加权的平均亮度 为减少计算,常用查找表来求整数值。

可以用正方形、圆锥和高斯函数作为过滤函数。应用过滤函数的方法类似于应用加权掩模,但现在是将像素曲面集成来得到加权的平均亮度。为减少计算,常用查找表来求整数值。

OpenGL 反走样函数 glEnable (GL_LINE_SMOOTH); glEnable (GL_BLEND); 激活线反走样,点、多边形的参数为GL_POINT_SMOOTH,GL_POLYGON_SMOOTH glEnable (GL_BLEND); 激活颜色调和操作。 glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 混合函数,指定颜色调和方法。 void glHint(GLenum target, GLenum hint); 设定反走样。参数GLenum hint的取值:GL_FASTEST, GL_NICEST,GL_DONT_CARE 例:glHint (GL_LINE_SMOOTH_HINT, GL_DONT_CARE); 参见:Redbook Chapter 7Blending, Antialiasing, and Fog 例程:point_and_attr.txt point_and_attr.exe arrgb.txt arrgb.exe 2019/4/15 交通运输学院CAD/CAM研究所

arrgb.txt arrgb.exe // *** 设置反走样代码 开始 *** //glEnable (GL_LINE_SMOOTH);//激活线反走样,点、多边形的参数为GL_POINT_SMOOTH,GL_POLYGON_SMOOTH //glEnable (GL_BLEND);//激活颜色调和操作。 //glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);//混合函数,指定颜色调和方法。 //glHint (GL_LINE_SMOOTH_HINT, GL_DONT_CARE); // *** 设置反走样代码 结束 *** 2019/4/15 交通运输学院CAD/CAM研究所

作业更新 采用OpenGL的点/线/填充/字符函数,输出漂亮的图案。(要求把学号、姓名等信息嵌入图案中)。 2019/4/15 交通运输学院CAD/CAM研究所

Example for Filled Polygon Example: polygon.c POLYGON.EXE Comments: “The interior is filled according to the state of the relevant attributes. Note that a mathematical polygon has an inside and an outside that are separated by the edge. The edge itself has no width. Consequently, most graphics system allow you to fill the polygon with a color or pattern or to draw lines around the edges, but not to do both. In OpenGL, we can use the function glPolygonMode to select edges instead of fill the default. However, if we want to draw a polygon that is filled and to display its edges, then we have to draw it twice, once in each mode, or to draw a polygon and a line loop with the same vertices.” 2019/4/15 交通运输学院CAD/CAM研究所