长方体体的光照效果_计算机图形学课程设计(编辑修改稿)内容摘要:
rush。 (RGB(faces[j].I*255,faces[j].I*255,faces[j].I*255+40))。 (amp。 Brush)。 ()。 (p[0])。 for(int i=1。 i4。 i++) (p[i])。 (p[0])。 ()。 ()。 ()。 13 四、 流程图 开 始定 义 长 方 体 顶 点 列 表 , 面 列表 , 每 个 面 的 漫 反 射 系 数 ,环 境 光 反 射 系 数 , 视 线 方 向定 义 点 光 源 位置 , 环 境 光 光 强进 行 3 维 图 形 变 换计 算 变 换 后 的 各 个 面 的 外 法 向量 , 面 中 点 坐 标 , 光 照 方 向判 断 各 个 面 可 见 性 , 计 算 各个 面 的 平 均 光 照 强 度在 屏 幕 上 输出 可 见 面结 束对 正 方 体 进 行 平 行 投 影变 换 , 窗 口 视 区 变 换 14 五、源程序 文件 //定义三维齐次向量结构体 typedef struct Vector3D { float x。 float y。 float z。 int f。 //f 表示所在的平面的编号 }VECTOR。 //定义三维齐次坐标结构 typedef struct tagHOMOCOORD { float x。 float y。 float z。 float w。 }HOMOCOORD。 //定义面的结构 typedef struct tagPLANE { int v0, v1, v2, v3。 15 VECTOR n。 //外法向量 HOMOCOORD center。 //中心点 float Id。 //漫反射光强 int flag。 float kd。 //漫反射率 float ka。 //环境光反射率 float Ie。 //环境光反射光强 float I。 //光强 }PLANE。 //定义点的结构,需要浮点数的 x, y typedef struct tagMYPOINT { float x,y。 }MYPOINT。 public: VECTOR CalculateVector(HOMOCOORD start, HOMOCOORD end, int face)。 //计算一个 3 维向量的函数 , //从 start 点指向 end 点的属于 face 面的向量 VECTOR VecCross(VECTOR vec1, VECTOR vec2)。 //计算两个向量叉积,即外法向量 float InnerProduct(VECTOR vec1, VECTOR vec2)。 //计算两个向量 16 的内积 float GetModule(VECTOR vec)。 //计算向量的模 void RotateY(int angle)。 //绕 y 轴逆时针旋转 void RotateX(int angle)。 //绕 x 轴逆时针旋转 void DrawMy3DGraphics()。 //绘制长方体 virtual ~CDraw3DView()。 protected: HOMOCOORD illuminant。 //定义光源坐标 float Ip。 //定义光源光强 float Ia。 //环境光光强 VECTOR *light_vec。 //各个面的光照方向指针 HOMOCOORD *pts。 //三维顶点指针 MYPOINT *pts2D。 //自定义的二维浮点数结构,表示变换后的二维点 PLANE *faces。 //长方体的面指针 int ptn,fn。 //顶点个数与面的个数 文件 int x_angle = 0。 int y_angle = 0。 void CDraw3DView::DrawMy3DGraphics() { 17 int i。 //形体定义 ptn=8。 pts=new HOMOCOORD[ptn]。 //设置长方体 pts[0].x=1。 pts[0].y=2。 pts[0].z=1。 pts[0].w=1。 pts[1].x=1。 pts[1].y=2。 pts[1].z=1。 pts[1].w=1。 pts[2].x=1。 pts[2].y=2。 pts[2].z=1。 pts[2].w=1。 pts[3].x=1。 pts[3].y=2。 pts[3].z=1。 pts[3].w=1。 pts[4].x=1。 pts[4].y=2。 pts[4].z=1。 pts[4].w=1。 pts[5].x=1。 pts[5].y=2。 pts[5].z=1。 pts[5].w=1。 pts[6].x=1。 pts[6].y=2。 pts[6].z=1。 pts[6].w=1。 pts[7].x=1。 pts[7].y=2。 pts[7].z=1。 pts[7].w=1。 ///给定义面的指针分配内存; fn=6。 faces=new PLANE[fn]。 //设置立方体各面 faces[0].v0=0。 faces[0].v1=1。 faces[0].v2=2。 faces[0].v3=3。 faces[1].v0=4。 faces[1].v1=5。 faces[1].v2=1。 faces[1].v3=0。 faces[2].v0=5。 faces[2].v1=6。 faces[2].v2=2。 faces[2].v3=1。 faces[3].v0=6。 faces[3].v1=7。 faces[3].v。长方体体的光照效果_计算机图形学课程设计(编辑修改稿)
相关推荐
运营手册作业指导书招标投标招聘绩效管理薪酬管理物业管理经营企划商务礼仪创业金点子销售指南营销创新经济管理选拔企业文化项目管理 )经济管理市场分析国内外市场情况预测……………………竞争力分析…………资金筹措投资估算效益分析 020xx 04 10对射式红外线防盗报警器的设计 .经济管理市场分析国内外市场情况预测……………………竞争力分析…………资金筹措投资估算效益分析 020xx 04
物流的一个缩影和某小范围物流全部活动的体现,人称‚小物流‛。 但配送主体活动与一般物流却有区别。 一般物流是运输保管,而配送则是分拣陪货及运输。 分拣陪货是独特要求,也是陪送中有特点的活动,一送货为目的的运输则是最后实现 16 配送的主要手段。 因此,配送是一种顺应现代社会发展的现代方式的物流活动,具有强烈的现代特征。 信息技术的运用则是物流服务体系高效运作的重要保证。 它通过对物流活动中的数据
度为 3500 元 /平方米,远远大于 750 元 /平方米的国家标准;容积率为 ,超过 的国家标准;建筑系数大于 30%,各项指标均符合要求。 主要设备 序号 设备名称 台数 单价 金额(万元) 1 大型生产设备流水线 3 200 600 2 多功能节能型轮胎硫化灌 4 25 100 3 全自动化标准型轮胎硫化灌 4 30 120 4 多功能冲 压机 2 45 90 5 多功能轮胎检修机 7
(h1next!=0) { p1priordata=1。 p1data+=10000。 } } p1=p1prior。 } if(h1nextdata=10000) //处理最前面的数 6 { InsertNode(h1,0,h1nextdata/10000)。 h1nextnextdata%=10000。 } if(h1data=10000) { InsertNode(h1,0
区域道路规划图。 长房酒店项目 交通影响评价报告 11 项目 研究区域 其他交通方面 规划 情况分析 公共交通设施规划 、 公共停车场规划 如下表 3 4。 表 33 公共交通设施规划一览表 序号 名称 性质 用地面积 (公顷 ) 所在地块编号 备注 1 货运交通站 货运交通用地 A0905 2 公交首末站 公共交通用地 A1006 3 荷晏路加油站 其它交通设施用地 C0106 4
(兆欧 )。 动力线路采用 1000V 摇表 ,线、相、零、地摇测的绝缘 电阻值不低于1MΩ (兆欧 )。 报监理验收合格后把资料存档。 (四)、 金属线槽、桥架安装 工艺流程: 测 量定位 用弹线法标识桥架的安装位置,确定好支架的固定位置,做好标记。 竖井内桥架定位应先用悬钢丝法确定安装基准线,如预留洞不合适,应及时调整,并做好修补。 制作安装 依据施工图设计标高及桥架规格,进行定位