计算机图形学-油画家算法
利用油画家算法实现隐藏面的消除。设有四个平面,在屏幕上显示这四个平面,使前面的平面覆盖后面的平面。
#include<math.h>
#include<stdlib.h>
#include<iostream>
#include<graphics.h>
#include<stdio.h>
#include<conio.h>
using namespace std;
int a[4],b[4],i;
void initial() {cout<<"请分别输入圆形,三角形,椭圆形,矩形的Z值:";for(i=0; i<4; i++) {cin>>a[i];b[i] = a[i];//a[i]和b[i]都存入四种图形的Z值}//冒泡排序,将深度值按递增排序,方便下面进行油画家算法的比较for(i=0; i<4; i++)for(int j=i+1; j<4; j++)if(a[i] > a[j]) {int temp = 0;temp = a[j];a[j] = a[i];a[i] = temp;}for(i=0; i<4; i++)cout<<a[i]<<endl;
}
//a[i]中已经是排好序,b[i]中是初值,这时候按照a[i]中的顺序依次画出图形,后画的会自动将先画的部分遮住,由此便实现了消隐效果。void paint() {for(i=0; i<4; i++) {if(a[i] == b[0]) {//画圆setfillcolor(BLACK);fillcircle(400,300,100);}if(a[i] == b[1]) {//画三角形POINT pts[] = { {50, 200}, {400, 400}, {300, 150} };setfillcolor(RED);fillpolygon(pts, 3);}if(a[i] == b[2]) {//画椭圆setfillcolor(BLUE);fillellipse(10,200,300,300);}if(a[i] == b[3]) {//画矩形setfillcolor(GREEN);fillrectangle(100,100,200,200);}}
}
void main() {initial();int gdriver=DETECT,gmode;initgraph(&gdriver,&gmode,"");setbkcolor(WHITE);cleardevice();paint();getchar();getchar();closegraph();
}
计算机图形学-油画家算法相关推荐
- GIS地图界面和计算机图形学填充算法
一 GIS地图界面 GIS程序最常见的界面就是,不同区域被边界隔开,填充为不同的颜色: 如下三个:是超图iServer自带: 京津地区土地利用现状,京津地区人口分布,京津地区地貌分布:用于学习是很好资 ...
- 计算机图形学算法详解,计算机图形学裁剪算法详解
<计算机图形学裁剪算法详解>由会员分享,可在线阅读,更多相关<计算机图形学裁剪算法详解(10页珍藏版)>请在人人文库网上搜索. 1.裁剪算法详解在使用计算机处理图形信息时,计算 ...
- 计算机图形学常见算法原理,计算机图形学常用算法及代码大全
<计算机图形学常用算法及代码大全>由会员分享,可在线阅读,更多相关<计算机图形学常用算法及代码大全(41页珍藏版)>请在人人文库网上搜索. 1.2.1.1 生成直线的DDA算法 ...
- 计算机图形学要学什么语言,计算机图形学:算法与实现
计算机图形学:算法与实现 语音 编辑 锁定 讨论 上传视频 <计算机图形学:算法与实现>一书的出版社是清华大学出版社,出版时间是第1版 (2012年1月1日). 书 名 计算机图形学 ...
- 计算机图形学直线算法论文,《计算机图形学》中直线生成算法的教学心得
摘要:<计算机图形学>是计算机科学与技术专业一门重要的专业课,其中直线生成算法是教学重点之一.该文通过分析几种直线生成算法的特点,阐述了理论教学和实践教学的重点和难点,总结了教学的体会和心 ...
- 计算机图形学 裁剪算法源代码,OpenGL计算机图形学梁友栋裁剪算法实验代码及运行结果.doc...
OpenGL计算机图形学梁友栋裁剪算法实验代码及运行结果.doc (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 .<计算 ...
- 计算机图形学+简单算法实现,《计算机图形学》课程设计-简单几何体的消隐算法实现.doc...
PAGE PAGE 18 PAGE 18 课程名称:<计算机图形学> 论文题目:简单几何体的消隐算法实现 教学部: 年 级: 班 级: 学 号: 姓 名: 简单几何体的消隐算法实现 摘 要 ...
- 七巧板复原算法——计算机图形学基本算法之一, 点在多边形内部的判断
注:此时我已经完成了一个演示版本,但是为了文章的渐进性,我将把开发过程一步步的写出来,用来记录. 本实验代码用到的图形学关系和算法列举如下: 基本计算机图形学关系和算法 1.点在多边形内部的 点在多边 ...
- 计算机图形学曲线算法代码,计算机图形学自由曲线绘制算法.doc
计算机图形学自由曲线绘制算法 宁夏师范学院数学与计算机科学学院 <>实验报告 实验序号: 实验项目名称: 学 号姓 名专业.班实验地点指导教师时 间.实验内容与步骤 1 //TestVie ...
最新文章
- 设计模式之_工厂系列_02
- MAC OS 烧录ISO文件到U盘
- 大数据_Flink_数据处理_流处理API_Source_自定义测试数据源---Flink工作笔记0028
- VC++删除浮动工具条中“关闭”按钮
- Windows核心编程_锁屏
- laydate 在vue中使用_Vue中使用ArcGIS JS API 4.14开发
- 录ppt的时候录光标_光标的使用.ppt
- 外卖侠使用教程加体验地址
- Apache HTTP Server 下载,安装,配置,启动手把手教你
- java opts参数_JVM内存JAVA_OPTS参数说明
- 服务器共享文件设成禁止删除,服务器共享文件夹权限 禁止删除共享文件方法...
- super的使用方法(Java)
- iOS开发 动画(Animation)图片360度不停旋转
- Vue中使用pdfJs预览PDF、图片
- 鸿蒙手机 OS 等开发必备工具,华为 DevEco Studio 2.1
- anime+tv+android,Anime TV Watch - KissAnime
- 腾讯人口密度热力图_从腾讯位置大数据,看中国的超级城市
- 王学岗性能优化————APP启动优化(黑白屏问题的解决,trace工具的使用,热启动与冷启动的区别)
- 又一巨头告急!曾年赚500亿,如今连房租都付不起!
- 为什么要学习排序算法?