利用油画家算法实现隐藏面的消除。设有四个平面,在屏幕上显示这四个平面,使前面的平面覆盖后面的平面。

#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();
}

计算机图形学-油画家算法相关推荐

  1. GIS地图界面和计算机图形学填充算法

    一 GIS地图界面 GIS程序最常见的界面就是,不同区域被边界隔开,填充为不同的颜色: 如下三个:是超图iServer自带: 京津地区土地利用现状,京津地区人口分布,京津地区地貌分布:用于学习是很好资 ...

  2. 计算机图形学算法详解,计算机图形学裁剪算法详解

    <计算机图形学裁剪算法详解>由会员分享,可在线阅读,更多相关<计算机图形学裁剪算法详解(10页珍藏版)>请在人人文库网上搜索. 1.裁剪算法详解在使用计算机处理图形信息时,计算 ...

  3. 计算机图形学常见算法原理,计算机图形学常用算法及代码大全

    <计算机图形学常用算法及代码大全>由会员分享,可在线阅读,更多相关<计算机图形学常用算法及代码大全(41页珍藏版)>请在人人文库网上搜索. 1.2.1.1 生成直线的DDA算法 ...

  4. 计算机图形学要学什么语言,计算机图形学:算法与实现

    计算机图形学:算法与实现 语音 编辑 锁定 讨论 上传视频 <计算机图形学:算法与实现>一书的出版社是清华大学出版社,出版时间是第1版 (2012年1月1日). 书    名 计算机图形学 ...

  5. 计算机图形学直线算法论文,《计算机图形学》中直线生成算法的教学心得

    摘要:<计算机图形学>是计算机科学与技术专业一门重要的专业课,其中直线生成算法是教学重点之一.该文通过分析几种直线生成算法的特点,阐述了理论教学和实践教学的重点和难点,总结了教学的体会和心 ...

  6. 计算机图形学 裁剪算法源代码,OpenGL计算机图形学梁友栋裁剪算法实验代码及运行结果.doc...

    OpenGL计算机图形学梁友栋裁剪算法实验代码及运行结果.doc (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分  .<计算 ...

  7. 计算机图形学+简单算法实现,《计算机图形学》课程设计-简单几何体的消隐算法实现.doc...

    PAGE PAGE 18 PAGE 18 课程名称:<计算机图形学> 论文题目:简单几何体的消隐算法实现 教学部: 年 级: 班 级: 学 号: 姓 名: 简单几何体的消隐算法实现 摘 要 ...

  8. 七巧板复原算法——计算机图形学基本算法之一, 点在多边形内部的判断

    注:此时我已经完成了一个演示版本,但是为了文章的渐进性,我将把开发过程一步步的写出来,用来记录. 本实验代码用到的图形学关系和算法列举如下: 基本计算机图形学关系和算法 1.点在多边形内部的 点在多边 ...

  9. 计算机图形学曲线算法代码,计算机图形学自由曲线绘制算法.doc

    计算机图形学自由曲线绘制算法 宁夏师范学院数学与计算机科学学院 <>实验报告 实验序号: 实验项目名称: 学 号姓 名专业.班实验地点指导教师时 间.实验内容与步骤 1 //TestVie ...

最新文章

  1. 设计模式之_工厂系列_02
  2. MAC OS 烧录ISO文件到U盘
  3. 大数据_Flink_数据处理_流处理API_Source_自定义测试数据源---Flink工作笔记0028
  4. VC++删除浮动工具条中“关闭”按钮
  5. Windows核心编程_锁屏
  6. laydate 在vue中使用_Vue中使用ArcGIS JS API 4.14开发
  7. 录ppt的时候录光标_光标的使用.ppt
  8. 外卖侠使用教程加体验地址
  9. Apache HTTP Server 下载,安装,配置,启动手把手教你
  10. java opts参数_JVM内存JAVA_OPTS参数说明
  11. 服务器共享文件设成禁止删除,服务器共享文件夹权限 禁止删除共享文件方法...
  12. super的使用方法(Java)
  13. iOS开发 动画(Animation)图片360度不停旋转
  14. Vue中使用pdfJs预览PDF、图片
  15. 鸿蒙手机 OS 等开发必备工具,华为 DevEco Studio 2.1
  16. anime+tv+android,Anime TV Watch - KissAnime
  17. 腾讯人口密度热力图_从腾讯位置大数据,看中国的超级城市
  18. 王学岗性能优化————APP启动优化(黑白屏问题的解决,trace工具的使用,热启动与冷启动的区别)
  19. 又一巨头告急!曾年赚500亿,如今连房租都付不起!
  20. 为什么要学习排序算法?

热门文章

  1. JMeter递增加压
  2. 一个屌丝程序猿的人生(九十六)
  3. java工具类-java仿微信九宫格头像
  4. java横向导出excel_JavaWeb POI 导出Excel
  5. 安装redhat系统步骤图解_RedHat Linux系统U盘安装图文教程 | Visant-i 行客
  6. 那些好看的渐变色linear-gradient(拿走不谢)
  7. 幸福的烦恼:显卡算力太高而pytorch版本太低不支持
  8. 二叉树寻找节点x的所有祖先
  9. mysql多字段修改update_MySQL学习从这里出发!
  10. 阿里云镜像恢复,镜像取证