图形学复习知识点1(学校课程 很水)

图形学的基本目标和任务

目标
视觉交流,通过图形或者几何的方式来表示或展示一些问题或信息。
基本任务
表示:将客观世界用二维或三维的方式表示
绘制:如何将计算机中的对象用一种直观形象的图形图像方式表现出来
交互:通过计算机输入输出设备,以有效的方式表示与绘制的技术


计算机图形学相关学科

图像处理:将客观世界中原来存在的物体形象处理成新的数字化图像的相关技术。
模式识别:用摄像机和计算机代替人眼对目标进行识别跟踪和测量,用计算的方法模拟人类的视觉系统。
计算几何:研究几何模型和数据处理的学科,讨论几何形体的计算机表示,分析和综合。。


计算机图形学的应用领域

计算机辅助设计与制造
科学计算可视化
虚拟现实
计算机动画
计算机游戏
CG插画


图形系统体系结构(图形流水线)

应用程序阶段(产生图元):把数据以图元的形式提供给图形硬件,也提供用于表面纹理映射的图像或者位图。

几何处理阶段(产生二维屏幕坐标):以每个顶点为基础对几何图元进行处理,并从三维坐标变换为二维屏幕坐标。


几何处理阶段.PNG

像素处理阶段:屏幕对象被传送到像素处理器进行光栅化,再对每个像素进行着色,然后再输出到帧缓冲器,最后再输出到显示器。


直线生成算法(待补)


区域填充

  1. 边界定义的区域,区域边界上的像素颜色已确定,区域内部像素没有设置制定的颜色。边界上和区域内的目标颜色值可相同也可不同。
  2. 内定义区域。只划分区域内外部分,区域外所有像素已有特定颜色,区域内颜色与区域外不同。

漫水法:四连通&&八连通


void FloodFill4 (int x, int y, int newcolor, int boundaryColor) {
 // 当处理内定义区域时,用if (getpixel(x, y)!=newcolor)判断即可
    if (getpixel(x, y)!=newcolor && getpixel(x,y)!=boundaryColor)  {
    setpixel(x, y, newcolor, boundaryColor);
    FloodFill4(x-1, y, newcolor, boundaryColor);
    FloodFill4(x, y+1, newcolor, boundaryColor); 
    FloodFill4(x+1, y, newcolor, boundaryColor); 
    FloodFill4(x, y-1, newcolor, boundaryColor);  
        //如果是基于八连通,则要增加其它四个方向的类似代码
   }
}

void FloodFill (int x, int y, int newcolor, int boundaryColor)
{
     Stack stack;
     stack.Push(Pixel(x, y));  //把种子像素(x,y)推入栈中
     while (! stack.Empty())    //当栈不空时循环执行以下代码
     {
         pixel=stack.Pop();  //从栈顶弹出一个像素
    // 当处理内定义区域时,用if (pixel.Color !=newcolor)判断即可
         if (pixel.Color != newcolor && pixel.Color != boundaryColor) {
             xx = pixel.x; yy = pixel.y;
             setpixel( xx,  yy,  newcolor, boundaryColor);
             stack.Push ( Pixel (xx-1, yy ));
             stack.Push ( Pixel( xx, yy+1)); 
             stack.Push ( Pixel (xx+1, yy )); 
             stack.Push ( Pixel(xx, yy-1));
         }
     }
}

种子扫描线填充算法
从给定的种子点开始,填充当前扫描线上种子点所在的区间,然后确定与这一区间相邻上下两条扫描线上需要填充的区间。在这个区间上取最左侧或最右侧的一个点作为新的种子点,不断重复以上过程,直到所有区间都被处理完。

算法步骤:

  1. 从包含种子像素的堆栈中推出区段内的种子像素;
  2. 沿着扫描线,对种子像素的左右像素进行填充,直至遇到边界像素为止;
  3. 区段内最左和最右像素记为xl和xr,在此区间内,检查与当前扫描线相邻的上下两条扫描线是否全为边界像素或已被填充过;
  4. 如果经测试,这些扫描线上的像素段需要填充,则在xl和xr区间范围内,把每一像素段的最右像素作为种子像素,并压入堆栈;
  5. 初始化时,向堆栈压入种子像素,并在堆栈为空时结束。

反走样技术

对图形进行光栅化时,离散的像素表示连续直线和区域边界时引起的失真现象称为走样。用于减小和消除走样的技术称为反走样。

  1. 超采样方法:通过软件方式来提高分辨率。将图形以高于物理光栅设备分辨率完成光栅化(伪光栅化),按每个子像素合并得到要显示的像素灰度值。
  2. 线段反走样技术:假定线段有宽度,把线段看成狭长矩形,线段通过每个像素时,求出两者相交的面积,根据该面积值来确定像素的灰度值和颜色值。颜色值与面积呈线性关系。
  3. 多边形反走样算法:采用线段反走样来改善多边形边界的显示质量。求像素与边界的相交面积。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,907评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,546评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,705评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,624评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,940评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,371评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,672评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,396评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,069评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,350评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,876评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,243评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,847评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,004评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,755评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,378评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,266评论 2 259

推荐阅读更多精彩内容

  • 1 前言 一直想沿着图像处理这条线建立一套完整的理论知识体系,同时积累实际应用经验。因此有了从使用AVFounda...
    RichardJieChen阅读 5,545评论 5 12
  • 本文将要介绍图形渲染管线,它被认为是实时图形学中的核心部分。图形渲染管线的主要功能是在给定了的虚拟摄像机,三维的对...
    SwordMaster阅读 14,998评论 0 19
  • 引言 填充,是绘图软件极为重要的一个功能。用户通过点击某空白区域内任一点,即可为该区域着色,系统能自动识别边界线,...
    阿堃堃堃堃阅读 3,315评论 0 1
  • 想做一只天上的鸿雁 想化一朵佛前的青莲 想竹杖芒鞋走遍天下 想粗茶淡饭四海为家 豆蔻年华 她唤他冬郎哥哥 他唤她青...
    PhoebeNanmu阅读 207评论 0 2
  • 001,别人只是你生活的一部分,只有先把自己的日子过好了,才会有其他精力去管理别人,不要去别人身上寻找自己,而把自...
    微微的微笑66阅读 383评论 2 2