ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:57.32KB ,
资源ID:12281270      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12281270.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机图形学大作业.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机图形学大作业.docx

1、计算机图形学大作业学生学号实验课成绩计算机图形学大作业实验课程名称计算机图形学开 课 学 院计算机科学与技术学院指导教师姓名佘名高学 生 姓 名学生专业班级201-201 学年 第 学期3、程序源代码#include#includevoid bresenhamline (int x0,int y0,int x1, int y1,int color)int x, y, dx, dy,i;float k, e;dx = x1-x0; dy = y1- y0; k=1.0*dy/dx;e=-0.5; x=x0; y=y0;for (i=0; i= 0) y+, e=e-1;void main() i

2、nt gd = DETECT; int gm; initgraph(&gd,&gm, ); bresenhamline(200,132,570,200, WHITE); getchar();4、程序运行截图3、程序源代码#include stdio.h#include graphics.h#include math.hvoid drawSin(int x,int y,int A) int i = 0; line(x-300,y,x+340,y);line(x+330,y-10,x+340,y);line(x+330,y+10,x+340,y); line(x,y-250,x,y+250);li

3、ne(x-10,y-240,x,y-250);line(x+10,y-240,x,y-250); for (i = -314/2;i314/2;i+) putpixel(x+i,(int)A*sin(double)i/25)+y, WHITE); void main() int gd = DETECT; int gm; initgraph(&gd,&gm,); drawSin(300,250,100); getchar(); closegraph();4、程序运行截图3、程序源代码#include #include#include void main() int gd = DETECT; in

4、t gm; int i; float x; x=0; initgraph(&gd, &gm, ); cleardevice(); for (i=0;i=1800;i+) circle(350,250,150); circle(350+150*cos(x),250+150*sin(x),30); x=x+3.1415926/180; Sleep(10); cleardevice(); getchar(); closegraph();4、程序运行截图3、程序源代码#include#include#include#include#includefloat Ri,Ro,Rc,u1,v1,u2,v2,u

5、3,v3,mmaxx,mmaxy;float x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6;float cx1,cy1,cx2,cy2,cx3,cy3,cx4,cy4,cx5,cy5,cx6,cy6,ox1,oy1,ox2,oy2, ox3,oy3,ox4,oy4,ox5,oy5,ox6,oy6;void EnterData() clrscr(); gotoxy(1,6); printf(Enter the radius of: he circle. n); gotoxy(1,8); printf(Entere in circle radius(=12.5):n);

6、scanf(%f,&Ri); printf(Enter out_circle radius(=25.0): n); scanf(%f,&Ro); printf(Enter convex_radius(=10.0): n); scanf(%f,&Rc);void Initialize() int graphdriver,grapgmode; graphdriver=DETECT; initgraph(&graphdriver,&grapgmode, ); mmaxx=getmaxx()/2; mmaxy=getmaxy()/2;void Base_Center_Line() float desh

7、_R; desh_R=(4*Ro+Ri)/5; u1=(4*Ro+Ri)/5)*cos(-30*0.017453); v1=(4*Ro+Ri)/5)*sin(-30*0.017453); u2=0.0; v2=(4*Ro+Ri)/5); u3=(4*Ro+Ri)/5)*cos(210*0.017453); v3=(4*Ro+Ri)/5)*sin(210*0.017453); line(mmaxx-Ro-Rc,mmaxy,mmaxx-(Ro+Rc)/2,mmaxy); line(mmaxx-(Ro+Rc)/2+5,mmaxy,mmaxx-(Ro+Rc)/2+5,mmaxy); line(mmax

8、x-(Ro+Rc)/2+10,mmaxy,mmaxx-(Ro+Rc)/2,mmaxy); line(mmaxx+(Ro+Rc)/2+5,mmaxy,mmaxx-(Ro+Rc)/2+5,mmaxy); line(mmaxx+(Ro+Rc)/2+10,mmaxy,mmaxx+Ro+Rc,mmaxy); line(mmaxx,mmaxy+Ro+Rc,mmaxx,mmaxy+(Ro+Rc)/2+10); line(mmaxx,mmaxy+(Ro+Rc)/2+5,mmaxx,mmaxy+(Ro+Rc)/2+5); line(mmaxx,mmaxy+(Ro+Rc)/2,mmaxx,mmaxy-(Ro+Rc

9、)/2+10); line(mmaxx,mmaxy-(Ro+Rc)/2+5,mmaxx,mmaxy-(Ro+Rc)/2+5); line(mmaxx,mmaxy-(Ro+Rc)/2,mmaxx,mmaxy-Ro-Rc); arc(mmaxx,mmaxy,0,25,desh_R); arc(mmaxx,mmaxy,28,29,desh_R); arc(mmaxx,mmaxy,32,110,desh_R); arc(mmaxx,mmaxy,113,114,desh_R); arc(mmaxx,mmaxy,117,185,desh_R); arc(mmaxx,mmaxy,187,188,desh_R

10、); arc(mmaxx,mmaxy,191,255,desh_R); arc(mmaxx,mmaxy,258,259,desh_R); arc(mmaxx,mmaxy,262,300,desh_R); arc(mmaxx,mmaxy,303,304,desh_R); arc(mmaxx,mmaxy,307,360,desh_R);void Known_Circle() circle(mmaxx,mmaxy,Ri); circle(mmaxx+u1,mmaxy-v1,Rc/2); circle(mmaxx+u2,mmaxy-v2,Rc/2); circle(mmaxx+u3,mmaxy-v3,

11、Rc/2);void Link_Arc_Center() float A,B,D1,D2,D3,B2_4AC1,B2_4AC2,B2_4AC3; float BD1,BD2,BD3,Root1,Root2,Root3,temp; A=Ro*Ro+8*Ro*Rc/5+16*Rc*Rc/25; B=Ro*Ro+8*Ro*Rc/5-13*Rc*Rc/5; D1=u1*u1+v1*v1; D2=u2*u2+v2*v2; D3=u3*u3+v3*v3; BD1=B+D1; BD2=B+D2; BD3=B+D3; B2_4AC1=u1*u1*(4*A*D1)-BD1*BD1); B2_4AC2=u2*u2

12、*(4*A*D2)-BD2*BD2); B2_4AC3=u3*u3*(4*A*D3)-BD3*BD3); Root1=sqrt(B2_4AC1); Root2=sqrt(B2_4AC2); Root3=sqrt(B2_4AC3); y1=(v1*BD1-Root1)/(2*D1); temp=A-y1*y1; x1=sqrt(temp); y2=(v1*BD1+Root1)/(2*D1); temp=A-y2*y2; x2=sqrt(temp); y3=(v2*BD2+Root2)/(2*D2); temp=A-y3*y3; x3=sqrt(temp); y4=(v2*BD2+Root2)/(

13、2*D2); x4=-sqrt(A-y4*y4); y5=(v3*BD3+Root3)/(2*D3); x5=-sqrt(A-y5*y5); y6=(v3*BD3-Root3)/(2*D3); x6=-sqrt(A-y6*y6); void Tangent_Point() float Rj,Lc,Lo; Rj=4*Rc/5; Lc=4.0/5.0; Lo=Rj/Rc; cx1=(x1+Lc*u1)/(1+Lc); cy1=(y1+Lc*v1)/(1+Lc); cx2=(x2+Lc*u1)/(1+Lc); cy2=(y2+Lc*v1)/(1+Lc); cx3=(x3+Lc*u2)/(1+Lc);

14、 cy3=(y3+Lc*v2)/(1+Lc); cx4=(x4+Lc*u2)/(1+Lc); cy4=(y4+Lc*v2)/(1+Lc); cx5=(x5+Lc*u3)/(1+Lc); cy5=(y5+Lc*v3)/(1+Lc); cx6=(x6+Lc*u3)/(1+Lc); cy6=(y6+Lc*v3)/(1+Lc); ox1=(x1+Lo*0.0)/(1+Lo); oy1=(y1+Lo*0.0)/(1+Lo); ox2=(x2+Lo*0.0)/(1+Lo); oy2=(y2+Lo*0.0)/(1+Lo); ox3=(x3+Lo*0.0)/(1+Lo); oy3=(y3+Lo*0.0)/(1

15、+Lo); ox4=(x4+Lo*0.0)/(1+Lo); oy4=(y4+Lo*0.0)/(1+Lo); ox5=(x5+Lo*0.0)/(1+Lo); oy5=(y5+Lo*0.0)/(1+Lo); ox6=(x6+Lo*0.0)/(1+Lo); oy6=(y6+Lo*0.0)/(1+Lo); void Myarc(float ctx,float cty,float startx,float starty,float endx,float endy,float R) float sx,sy,ex,ey,sangle,eangle; sx=startx-ctx; sy=starty-cty;

16、 ex=endx-ctx; ey=endy-cty; if(sx!=0.0) if(sx0.00)sangle=atan(sy/sx); if(sx0.0)sangle=3.1415926/2; if(sy0.0)eangle=atan(ey/ex); if(ex0.0)eangle=3.1415926/2; if(ey0.0)eangle=3*3.1415926/2; sangle=sangle/0.017453; eangle=eangle/0.017453; arc(mmaxx+ctx,mmaxy-cty,sangle,eangle,R); void Out_Link_Arc() flo

17、at Rj; Rj=4*Rc/5; Myarc(u1,v1,cx1,cy1,cx2,cy2,Rc); Myarc(x2,y2,ox2,oy2,cx2,cy2,Rj); Myarc(0.0,0.0,ox2,oy2,ox3,oy3,Ro); Myarc(x3,y3,cx3,cy3,ox3,oy3,Rj); Myarc(u2,v2,cx3,cy3,cx4,cy4,Rc); Myarc(x4,y4,ox4,oy4,cx4,cy4,Rj); Myarc(0.0,0.0,ox4,oy4,ox5,oy5,Ro); Myarc(x5,y5,cx5,cy5,ox5,oy5,Rj); Myarc(u3,v3,cx5,cy5,cx6,cy6,Rc); Myarc(x6,y6,ox6,oy6,cx6,cy6,Rj); Myarc(0.0,0.0,ox6,oy6,ox1,oy1,Ro); Myarc(x1,y1,cx1,cy1,ox1,oy1,Rj);void main() EnterData(); Initialize(); Base_Center_Line(); Known_Circle(); Link_Arc_Center(); Tangent_Point(); Out_Link_Arc(); getche(); closegraph(); 3、程序运行截图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1