计算机图形学算法处理线段,急 修改了一下,主要是移动了一下位置。你的代码好老啊,比C99老多了,比C89还老。我简单的改了下,不知道是不是你的要求。也没TC,无法运行验证。includeincludedefine LEFT 1define RIGHT 2define BOTTOM 4define TOP 8define XL 100define XR 400define YB 100define YT 400去掉的代码float XL,YB,XR,YT;添加的代码/从main函数中移动过来void encode(float x,float y,int*code){int c=0;if(x)c=c|LEFT;else if(x>;XR)c=c|RIGHT;if(y)c=c|BOTTOM;else if(y>;YT)c=c|TOP;code=c;return;}(x1,y1)与(x2,y2)是线段端点坐标,其它四个参数分别定义窗口的左,下,右,上边界*/void C_S_LineCLip(float x1,float y1,float x2,float y2){int code1,code2,code;float x,y;encode(x1,y1,&code1);encode(x2,y2,&code2);while((code1。0)|(code2。0)){if((code1&code2)。0)return;code=code1;if(code1=0)code=code2;if((LEFT&code)。0)/*线段与左边界相交*/{x=XL;y=y1+(y2-y1)*(XL-x1)/(x2-x1);}else if((RIGHT&code)。0)/*线段与右边界相交*/{x=XR;y=y1+(y2-y1)*(XR-x1)/(x2-x1);}else if((BOTTOM&code)。0)/*线段与下边界相交*/{y=YB;x=x1+(x2-x1)*(YB-y1)。MATLAB如何画等高线图,等高线图在实际应用中经常被用到,MATLAB提供了三维等高线绘图指令和平面的线的绘图指令,可以根据实际画出想要的等高线图。C++画圆(计算机图形学) #includeinclude<;graphics.h>;/*预定义库函数*/void circlePoint(int x,int y)/*八分法画圆程序*/{circle(320 x*20,240 y*20,3);circle(320 y*20,240 x*20,3);circle(320-y*20,240 x*20,3);circle(320-x*20,240 y*20,3);circle(320-x*20,240 y*20,3);circle(320-x*20,240-y*20,3);circle(320-y*20,240-x*20,3);circle(320 y*20,240-x*20,3);circle(320 x*20,240-y*20,3);}void MidBresenhamcircle(int r)/*中点Bresenham算法画圆的程序*/{int x,y,d;x=0;y=r;d=1-r;计算初始值*/while(x){ circlePoint(x,y);绘制点(x,y)及其在八分圆中的另外7个对称点*/if(d)d=2*x 3;根据误差项d的判断,决定非最大位移方向上是走还是不走*/else{ d=2*(x-y)5;y-;}x;delay(900000);}/*while*/}main(){int i,j,r,graphmode,graphdriver;detectgraph(&graphdriver,&graphmode);initgraph(&graphdriver,&graphmode,\"\");printf(\"中点Bresenhamcircle算法画圆的程序\\n\");提示信息*/printf(\"注意|r|);printf(\"\\n输入半径值 r:\");scanf(\"%d\",&r);printf(\"按任意键显示图形.\");getch();cleardevice();setbkcolor(BLACK);for(i=20;i;i=20)/*使用双循环画点函数画出表格中的纵坐标。计算机图形学题目:完成一个点在一个正弦曲线上运动的动画程序 不知道你用什么语言。我的思路是这样的:作坐标系,在坐标系上添加圆的控件(缩小些就成了点.要不实际的点是一个像素的,看不清啊)。用程序的时钟功能(VB里面是timer),动态设置圆的坐标(x,sina(x))。注意:1.软件工作区域的左上角是它的坐标圆点,你自己作的坐标系要通过坐标变换获得真实的坐标(高中学过的);2.设置x的范围。当超过最大值,重新开始。3.时钟间隔设置,每次x递进的量,两者之间协调好,这样点移动的时候会自然写,人的视觉延迟大概0.1s,注意这个,产生连续效果。MATLAB学习与使用:如何绘制三维心形图,MATLAB是MATrixamLABoratory(矩阵实验室)的缩写,是一款强大的科学软件,具有编程、绘图、仿真等功能。利用MATLAB绘制一款三维的。
随机阅读
- 这是做什么用的,是景德镇吗?在线等谢谢 工艺品水仙盆
- 汇仁肾宝片和同仁堂锁精丸一起吃吗 汇仁肾宝可以和
- 自动王离合器故障 语音王不要手动
- 赖氨酸口服液的价格 赖氨酸维b12口服液价格?
- 请教下:蒋府锦园回迁房哪家好? 福润堂大药房红星路
- 北京万达嘉华酒店自助餐多少钱一个人 乌鲁木齐万达文华酒店自助餐
- 成都利康医院与华西医院是什么联系? 武康哪里有心理咨询中心
- 别人发给我的CAD图,我打开后字体点取消后就显示不了标注,字体我控制面板里也有,怎么才能显示? CAD打开一些文件工具面板字体异常
- 枫泾到上海电机学院(分校杨浦的)怎么坐车去要转几号地铁 枫泾到杨浦区水丰路100号怎么走
- 447路唐家岭新城站 想知道:北京市 从唐家岭新城到北京西站怎么坐公交?
- 开网约车挣钱吗?到底哪个平台比较靠谱? 帮考网与优路谁好
- 报告文学的讲究 报告文学在写作上讲究新闻性和文学性双重特色,而最根本的生命线是( )A.新闻性 B
- 汉中适合夏天带小孩子玩的地方 汉中有什么适合小孩子玩的景点吗?
- 《百年孤独》的悲剧性体现在哪里? 羊皮卷全书语音版
- 试乘试驾专员干什么工作 试乘驾驶员
- 南充金鱼岭151号在哪里,从营门口坐哪路车去? 南充金鱼岭路有钢材吗
- 永乐店到山原县怎么走 廊坊到陕西三原县路程怎么走
- 云南省中医院祛斑面膜 中医院皮肤科用的那个白色的面膜是什么原料
- 民生银行合肥分行营业部 安徽合肥新站区哪有民生银行营业厅
- 事业单位招聘药学专业,考试的科目包括哪些呀......... 中药学专科自考科目安排