-
光线跟踪
首先确定眼睛的位置和视线方向。然后确定从眼睛出发通过每个象素中心的光线方程。通过该光线求光线与场景中物体的最近交点。 若有交点,首先产生阴影测试光线,它是连接交点与光源的光线,然后计算该交点与光源间是否有阻挡物,如果没有则计算该点的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
-
图像二值化的c++程序
用vc实现图像的二值化,并且代码分块执行,简单易懂。对于需要分块儿程序的用户很有用处。
- 2023-09-03 19:40:03下载
- 积分:1
-
基于OpenCV编写的使用Kalman滤波器跟踪一个旋转的点程序。代码来自《OpenCV教程基础篇》一书...
基于OpenCV编写的使用Kalman滤波器跟踪一个旋转的点程序。代码来自《OpenCV教程基础篇》一书-OpenCV prepared based on the use of Kalman filter to track a rotating point of the procedure. Code from
- 2022-08-06 15:36:26下载
- 积分:1
-
是MATLAB中有关图形绘制的实用子程序,包括三角函数曲线,图形叠加,图形标注等30个实用程序...
是MATLAB中有关图形绘制的实用子程序,包括三角函数曲线,图形叠加,图形标注等30个实用程序-MATLAB graphics are drawn regarding the utility subroutines, including the trigonometric function curve, graphic overlay, graphic mark, such as utility 30
- 2022-04-08 00:44:00下载
- 积分:1
-
VC图像处理源代码,包括图形库,大量位图和调色板源代码。实用。...
VC图像处理源代码,包括图形库,大量位图和调色板源代码。实用。-VC image processing source code, including the graphics library, a large number of bitmap and palette source code. Practical.
- 2022-08-19 15:01:17下载
- 积分:1
-
基于OpenCV和C++的图像的角点检测算法
基于OpenCV和C++的图像的角点检测算法-OpenCV and C++ based on the image of the corner detection algorithm
- 2022-02-14 01:52:01下载
- 积分:1
-
AddFlow矢量图OCX控件 Name : TEAM LAXiTY Serial: 4303 9095 6970 2378...
AddFlow矢量图OCX控件 Name : TEAM LAXiTY Serial: 4303 9095 6970 2378-AddFlow vector OCX controls Name : TEAM LAXiTY Serial : 4303 9095 6970 2378
- 2023-01-25 16:15:04下载
- 积分:1
-
这是一个在VC2003下使用MFC调用Vega Prime的经典例子,包括一个品种。
这是一个在VC2003下使用MFC 调用Vega Prime 的经典例子,内含多种技巧。-In VC2003 this is a call to use MFC classic example of Vega Prime includes a variety of skills.
- 2022-07-21 08:14:53下载
- 积分:1
-
最初使用指南(Getting Started Guide)
是报表设计的大纲,使用Style Report的一个基本介绍,包括了基本的报表设计(使用可视化设...
最初使用指南(Getting Started Guide)
是报表设计的大纲,使用Style Report的一个基本介绍,包括了基本的报表设计(使用可视化设计器和编程方式)以及报表服务器的概况。
-The initial use of the Guide (Getting Started Guide) is an outline for report design, the use of a basic Style Report, including statements of the basic design (the use of visual design and programming methods), as well as an overview of the report server.
- 2022-02-11 19:22:00下载
- 积分:1
-
灰度图像的多种图像处理技术的程序表达,有一定的参考价值...
灰度图像的多种图像处理技术的程序表达,有一定的参考价值-Gray-scale images of a variety of image processing procedures for the expression of some reference value
- 2022-01-27 22:59:33下载
- 积分:1