计算机图形学算法处理线段,急 修改了一下,主要是移动了一下位置。你的代码好老啊,比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绘制一款三维的。
随机阅读
- 胖瘦听天由命 怎么才能在几个月内长胖二十斤
- 如何做出老娘舅 那的香香的米饭 老娘舅豌豆饭热量
- dd武林门 武林外传怎么收徒
- 有谁知道一般环保局分哪些科室,以及每个室负责什么? 责任区域卫生整治新闻
- 广州的著名小吃有哪些?地道的店在哪里? 盐洲岛赤贝村
- 形容学生沉着冷静的四字词语 形容沉着冷静的词语
- 米非司酮片与前列腺素药物序贯合并使用有生... 卡前列甲酯栓有几个厂家
- 毛好看的大狗 狗狗吃什么对毛好?
- 青菜有什么营养简单点说 各种蔬菜都有什么营养物质?
- 怪物猎人p3冰洁弹和水冷弹 怪物猎人p3 求调和列表
- 健身气功几种掌形 八段锦每天练几遍最好?
- qq上的广场上的语音大厅在哪 新版手机QQ如何进入语音大厅?
- 天涯里章子怡泼墨事件里的叶家指的是谁 华北军政大学 李刚
- 第一个公开向神学挑战并宣告自然科学的独立的科学家是()。A.亚里士多德 B.哥白尼 第一个公开挑战神学的科学家
- 美少女的谎言到底是怎么回事 美少女的谎言 到底谁是A 第三季结局到底什么意思 还有第四季吗
- 四川华新现代职业学院毕业生就业率高吗? 四川华新现代职业学院就业
- dnf冰结换装buff装备推荐选择? dnf贪狼装备冰结
- 对长期投资进行评估主要评估的是 对长期投资的评估,一般进行的程序包括( )。 A.应明确投资的种类、原始投资额、评
- 妈妈领着孩子购物的图片大全 为什么妈妈不喜欢带孩子出门?
- 我在河北省衡水市安平县买了套房子,网签了 衡水安平新房