计算机图形学中的常用模型

今天在网上搜了一下图形学里面比较常用的模型,觉得挺有意思,把它们收集起来,总结一下。

1、Lena/Lenna

这个模型是一个美女,名字叫Lena,是1972年11月《Playboy》(国内译为:花花公子)杂志的一个插图。不知道花花公子杂志为何物的请自己去百度。

Lena是瑞典人,根据英语标准发音,译为Lenna。下面来张截图:

花花公子中的原图:http://www.ee.cityu.edu.hk/~lmpo/lenna/len_full.jpg

1973年6月,美国南加州大学的信号图像处理研究所的一个助理教授和他的一个研究生打算为了一个学术会议找一张数字照片,而他们对于手头现有成堆"无聊"照片感到厌烦。事实上他们需要的是一个人脸照片,同时又能让人眼前一亮。这时正好有人走进实验室,手上带着一本当时的花花公子杂志,结果故事发生了……而限于当时实验室设备和测试图片的需要,lenna的图片只抠到了原图的肩膀部分。

Lena图在图像压缩算法是最广泛应用的标准测试图——她的脸部与裸露的肩部已经变成了事实上的工业标准。该图适度的混合了细节、平滑区域、阴影和纹理,从而能很好的测试各种图像处理算法。同时,Lena还是个美女,图片非常吸引人。

参考网站:http://blog.sina.com.cn/s/blog_53ebc106010007m2.html

2、Stanford Bunny

斯坦福兔子。这个应该是大名鼎鼎了。凡是搞图形学的应该没有人不知道它吧。

这个模型最早是被斯坦福大学采用,因此称之为斯坦福兔子。这个兔子在图形学界经常使用,它由69,451个三角形组成,有7.5英尺高。它可用于测试多种图形学算法,包括多边形简化、压缩和平滑表面。

随着硬件水平的提高,这个兔子已经是一个简单的模型了,但是仍然不妨碍它成为最经典的图形学模型之一。从1993年左右被提出到现在,这个兔子已经经历了近20年的历史了。

参考网站:http://www.cc.gatech.edu/~turk/bunny/bunny.html

3、Utah teapot

犹他茶壶。或称纽维尔茶壶,是在计算机图形学界广泛采用的标准参照物体。其造型来自于生活中常见的造型简单的茶壶,被制成数学模型,外表为实心、柱状和部分曲面。

这个茶壶的模型是在1975年由早期的计算机图形学研究者马丁·纽维尔制作的,他是犹他大学先锋图形项目小组的一员。

这个茶壶造型包含许多重要特性,使它成为当时的计算机图形学的试验者们的理想选择——圆滑、有较多鞍点、把手部位的洞使表面亏格大于0、能于自身形成投影、且在表面无复杂材质贴图时看起来并不失真。

4、Cornell Box

由康奈尔大学提出的模型,将渲染的场景和真实的场景图片对比,来观察渲染的效果。首次出现是在1984年的SIGGRAPH会议上,之后一举成名。

此图的意义在于,它可以测试渲染过程中较多的因素,尤其是和光线相关的,例如光线追踪算法,辐射度算法等等。

5、Stanford Dragon

斯坦福龙。这个龙是中国式的龙,不是西方那种大蜥蜴。

这个龙的模型是1996年在斯坦福大学提出。它是对一个真实存在的模型进行3D扫描得到,有871,414 个三角形,比斯坦福兔子复杂多了。估计是哪位外国友人来中国或者是中国学生送了这么一个模型出去,这种模型估计只有中国才会造出来。

斯坦福龙和兔子一样,用于测试多种图形学算法,相当于兔子的升级版。

6、弥勒佛

这个不多说了,直接上图:

不知道谁提出的,也不知道什么时候,应该不会太早,这个模型其实挺复杂的。在SIGGRAPH会议上,此模型也出现过几次。

7、总结

除了以上六个以外,当然还有很多的模型。第一个Lena模型是属于图像领域,而剩下的五个则是图形领域的了。现在技术的飞速发展,通过扫描,将一些复杂的实体转化成电脑模型已经不是什么难事了,所以必将会有更多的模型涌现,但是又有几个能像斯坦福兔子那样经典呢?

外国的研究者挺有意思的,选择的模型千奇百怪,什么样的都有。

对于图形学方面的研究,斯坦福大学和康奈尔大学研究的早,出的成果也多,为图形学的发展做出了巨大的贡献,时至今日,这两所大学关于计算机图形学方面的研究仍然代表了世界最高水平。

参考:1、http://www.cnblogs.com/bite_the_bullet/archive/2010/09/16/1828420.html

2、http://en.wikipedia.org/wiki/List_of_common_3D_test_models

3、http://zh.wikipedia.org/wiki/Utah_Teapot

4、http://baike.baidu.com/view/5223473.htm

5、http://en.wikipedia.org/wiki/Cornell_Box

6、http://en.wikipedia.org/wiki/Stanford_Dragon

The End

原文练级:http://blog.csdn.net/szchtx/article/details/7046989

时间: 10-30

计算机图形学中的常用模型的相关文章

计算机图形学中的种子填充算法c++程序实现

种子填充其实很简单,计算机图形学中介绍的使用栈,感觉作者是不是脑子进水了,直接使用一个队列用广搜就可以了啊,但是我就懒得写了,直接一个递归算了,有兴趣的同学自己试一试 #include<graphics.h>#include<conio.h>  #include<stdio.h>#include<math.h>int Graph[500][500] ; void scanline_seed_fill(int color,int sx,int sy){ Gra

计算机图形学中的经常使用模型

今天在网上搜了一下图形学里面比較经常使用的模型.认为挺有意思,把它们收集起来,总结一下. 1.Lena/Lenna 这个模型是一个美女,名字叫Lena,是1972年11月<Playboy>(国内译为:花花公子)杂志的一个插图. 不知道花花公子杂志为何物的请自己去百度. Lena是瑞典人.依据英语标准发音,译为Lenna. 以下来张截图: 花花公子中的原图:http://www.ee.cityu.edu.hk/~lmpo/lenna/len_full.jpg 1973年6月.美国南加州大学的信号

【计算机图形学】openGL常用函数

OpenGL常用函数   glAccum 操作累加缓冲区   glAddSwapHintRectWIN 定义一组被 SwapBuffers拷贝的三角形   glAlphaFunc允许设置alpha检测功能   glAreTexturesResident 决定特定的纹理对象是否常驻在纹理内存中   glArrayElement 定义一个被用于顶点渲染的数组成分   glBegin,glEnd 定义一个或一组原始的顶点   glBindTexture 允许建立一个绑定到目标纹理的有名称的纹理  gl

数学之美--计算机图形学中的数学方法论

我的github: https://github.com/jackyblf 我的公众号: 早期研究3D程序开发的程序员最大的情怀就是从无到有,自己实现一个游戏引擎.当时的我也是充满着这种复古情怀!! 以前的demo大部分都用c++写的,现在尽力全部改成html5+canvas/webgl版本 正在改写demo,编写文章,敬请期待 09年台式机out of order了,一直到去年年底,买了个硬盘数据线,把以前的代码全部拷贝出来了,万幸没损坏!!! 08年的vs2005代码,在vs2015中,竟然

3D游戏与计算机图形学中的数学方法-点线面

<易传·系辞上传>:”易有太极,是生两仪,两仪生四象,四象生八卦.” 借用一下古代先人们的智慧引一下本文的主题-三维图形中的点线面,在三维几何中也有一句话可以和上面的话相对应:由点成线,由线成面,由面成体,由体成形. 点向量和方向向量 首先我们要明确在三维空间中表示点的点向量和表示方向的方向向量的区别,例如A(x,y,z)可以表示一个点向量,而OA(x,y,z)就表示一个方向向量.方向向量在平移过程中将保持不变. 3D空间中的直线 3维空间中有两个点P1和P2,那么通过这两个点的直线可以定义为

3D游戏与计算机图形学中的数学方法-变换

1变换 在3D游戏的整个开发过程中,通常需要以某种方式对一系列的向量进行变换.通常用到的变换包括平移,缩放和旋转. 1.1通用变换 通常可将n x n可逆矩阵M看成是一个从坐标系到另一个坐标系的变换矩阵.M的列给出了坐标系从原坐标系到新坐标系的映射.例如M是一个n x n可逆矩阵,当M与向量(1,0,0),(0,1,0)和(0,0,1)相乘时,可以得到 类似地,M-1的列给出了坐标轴从新坐标轴系到原坐标轴系的映射.这样对于任意给定的线性无关的向量U,V,W可以构造一个变换矩阵,该矩阵将这些向量映

计算机图形学中的中点画线,中点画圆,Bresenham画线与画圆算法

#include<iostream>#include<graphics.h>  // 这样引用 EasyX 图形库#include<conio.h>#include<time.h>#include<math.h>#include<stdlib.h>using namespace std; //Bresenham画线void Bresenham_line(int x0,int y0,int x1,int y1){ int x,y,dx,

计算机图形学中的边标志算法c++程序实现2

摘要: 讲一讲这个程序遇到的错误 1.就是最后一个点,当他只有一个点的时候,他就是吧后面的全部填充,这是因为标志填充算法一定要有两个边界才可以,我解决这个问题的办法是错开一个点 2.就是当有三个点的时候,第2和3点中间部分就不会被填充了,以上的解决办法就是错开一点,也就是把第二个点变成两个点 3,使用中点画圆方法画的圆,在这个算法中,由于他选择的点有可能不是下一个点,而是跟当前点平行的那一个,这个时候他就会填充的是这两个点,所以会有下面运行结果图中心形上方的填充空白,尤其是弧度比较水平的时候 #

计算机图形学(二)——微表面模型

计算机图形学中基于物理建模的渲染技术之所以能给人极佳的视觉体验,是因为利用这些渲染技术能够很真实的反映出每种物体独有的"质感".我们能通过人眼观察来感受物体表面"质感"的原因,也是因为物体表面反射周围环境的特性不同而造成的,因此对物体表面的物理建模对于其表面本身的质感表现至关重要.对物体表面的建模,最简单的是镜面模型.利用镜面模型渲染出的物体具有十分光滑的感觉.然而现实生活中很多物体表面一般是粗糙的,因此为了对上述的一般表面进行物理建模并将该物理模型应用到实际的渲染