-
光线跟踪
首先确定眼睛的位置和视线方向。然后确定从眼睛出发通过每个象素中心的光线方程。通过该光线求光线与场景中物体的最近交点。 若有交点,首先产生阴影测试光线,它是连接交点与光源的光线,然后计算该交点与光源间是否有阻挡物,如果没有则计算该点的Phong模型分量,若有阻挡物则不计算。若交点处的场景为反射表面,则产生反射光线,将此光线继续与场景求交。若交点处的场景具有透明性,则产生透射光线,将此光线继续与场景求交。 若无交点,则返回默认值。 最后将颜色填入相应象素中。 递归结束条件: 1.递归深度:预先设定一个递归深度值 2.光亮度值:如果反射或折射光线的光亮度贡献太小,可以忽略不计,则停止递归 本系统选择VS2008平台开发,采用MFC单文档结构作为系统的整体架构。其中,Object类为场景中物体的基类,从中派生出两个子类:Plane类和Sphere类,分别表示平面类和球面类。 Colour结构表示颜色,包含r,g,b三个颜色分量。 Material结构表示场景中物体的材质属性,包含,,三个分量,分别表示物体的漫反射系数、镜面反射系数和折射系数。 Vect结构表示场景中的点坐标。 Ray类表示光线或光源,当它表示光线时,它包含原点origin和单位方向向量dir;当它表示光源时,它还包含了光源颜色colour。 Hit类表示交点类,它包含交点处的法向量normal,交点所处的物体表面surface,交点系数t。 Scene类表示场景类,它包含物体指针数组objects,光源指针数组lights,场景物体个数nObjectCount,场景光源个数nLightCount。 CSceneLightDlg类为场景光源配置对话框,它里面显示了当前场景中的所有光源,用户可以在对话框中继续添加光源。 CSceneObjectDlg类为场景物体配置对话框,它里面显示了当前场景中的所有物体,用户可以在该对话框中继续添加物体。 CScenePictureDlg类为照片配置对话框,它里面显示当前人眼的位置、照片的大小、位置和分辨率。用户可以对该设置进行修改。 CRayTraceView类为框架的视图类,负责图片的显示。我在其中包含了一个Scene对象,光线跟踪的具体实
- 2022-03-19 03:38:04下载
- 积分:1
-
图形与图像处理框架程序 KNN,CS算法
图形与图像处理框架程序 KNN,CS算法-image processing
- 2022-01-22 11:20:50下载
- 积分:1
-
用MFC实现的伽马变换(幂次变换),使用滚动条来调节各参数,同时也可以分R、G、B通道分别变换...
用MFC实现的伽马变换(幂次变换),使用滚动条来调节各参数,同时也可以分R、G、B通道分别变换-Gama Transfer by MFC
- 2022-08-14 11:06:57下载
- 积分:1
-
surf特征点检测和匹配
surf算法的具体实现:
Surf算法原理
(1)、构建Hessian矩阵
(2)、构建尺度空间
图像的尺度空间是这幅图像在不同解析度下的表示,由式(4)知,一幅图像j(X)在不同解析度下的表示可以利用高斯核G(£)的卷积来实现,图像的尺度大小一般用高斯标准差来表示[6]。在计算视觉领域,尺度空间被象征性的表述为一个图像金字塔,其中,输入图像函数反复与高斯函数的核卷积并反复对其进行二次抽样,这种方法主要用于Sift算法的实现,但每层图像依赖于前一层图像,并且图像需要重设尺寸,因此,这种计算方法运算量较大,而SURF算法申请增加图像核的尺寸,这也是SIFT算法与SURF算法在使用金字塔原理方面的不同。算法允许尺度空间多层图像同时被处理,不需对图像进行二次抽样,从而提高算法性能。图1(a)是传统方式建立一个如图所示的金字塔结构,图像的寸是变化的,
- 2022-04-15 04:54:37下载
- 积分:1
-
可以检查图像的基本参数,并进行模板匹配
可以检测出图像的基本参数,并进行模板匹配-May examine the image the basic parameter, and carries on the template matching
- 2022-04-11 08:35:55下载
- 积分:1
-
制作JAVA小动画,执行本例实例后,将在浏览器窗口内显示一个JAVA小动画。显示顺序是:先显示JAVA的咖啡形状的logo图片,然后依次显示 带有“J”,” A...
制作JAVA小动画,执行本例实例后,将在浏览器窗口内显示一个JAVA小动画。显示顺序是:先显示JAVA的咖啡形状的logo图片,然后依次显示 带有“J”,” A”,” V”, “A” 四个字母的图片。显示结束后,程序会自行循环。-JAVA small animation production, the implementation of the cases example, the browser window displays a small Java animation. The order is revealed : the first showing Java coffee-shaped logo pictures, to be followed by shows with "J", "A" and "V", "A" four-letter images. After the show, procedures own circle.
- 2022-02-25 08:41:17下载
- 积分:1
-
Examples of this chapter is a similar tool ACDSee image browser
本章实例是一个类似ACDSee的图像浏览工具――GraphShower。raphShower主要实现如下功能:
⑴ 类似ACDSee的图片浏览功能。用户只需要打开一个图片,就能利用菜单栏、工具栏或者快捷键快捷的浏览该图像所在目录的所有图像。使用方法与ACDSee类似。
⑵ 图像的缩放显示功能。图像可以支持以下四种显示模式:
① 原始大小:以原始大小显示图像。如果图像大小比视图小,则显示在正中;如果图像比视图大,则显示部分图像。用户可以利用鼠标拖动图像以显示其它部分。
② 适合宽度:保持图像长宽比例缩放图像,使图像宽度等于视图宽度。
③ 适合高度:保持图像长宽比例缩放图像,使图像高度等于视图高度。
④ 适合屏幕:自动判断图像的显示方式,使图像能在当前视图上完整显示。
⑶ 特效显示。GraphShower支持以下特效:向下扫描、垂直双重扫描、向右移动、水平双重移动、垂直百叶窗、水平百叶窗、垂直栅条、水平栅条、马赛克和雨滴。
⑷ 文件目录窗口。通过目录树可以直接打开图像文件。
⑸ 位图浏览窗口。以缩略图的形式显示图像。
-Examples of this chapter is a similar tool ACDSee image browser- GraphShower.
- 2022-03-11 10:30:18下载
- 积分:1
-
用java 做的一个简单的绘图板
用java 做的一个简单的绘图板-do with a simple drawing board
- 2023-06-02 10:45:03下载
- 积分:1
-
avl平衡树,很好用的数据结构,对建立索引有帮助
avl平衡树,很好用的数据结构,对建立索引有帮助-avl balance tree, very good data structure,will be helpful for creating index.
- 2022-07-13 03:28:36下载
- 积分:1
-
decompose filter for image in c
decompose filter for image in c
- 2022-03-17 22:57:43下载
- 积分:1