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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C++编程绘图.docx

1、C+编程绘图VC+编程绘图161编写在屏幕上绘制桁架示意图的程序,不注尺寸,大致安放在屏幕中央。在void CMy161View:OnDraw(CDC* pDC)中添加如下程序代码: int i; POINT pp13=-160,0,-160,-40,-80,0,-80,-80,0,0,80,-80,80,0,160,-40,160,0,240,0,0,-120,-240,0,240,0; CRect rc; GetClientRect(&rc); int x0,y0; x0=(int)rc.right/2;y0=(int)rc.bottom/2; pDC-SetViewportOrg(x0,

2、y0); pDC-MoveTo(pp0); for(i=0;iLineTo(ppi); pDC-MoveTo(pp10); pDC-LineTo(pp4);图形输出如下:16-2:15个不同颜色和半径的圆彼此相切于公共点(300,100),最小圆的半径为10,其余各圆的半径按级差10递增。分析圆心的变化规律,并绘制该图的程序。在void CMy162View:OnDraw(CDC* pDC)中添加如下程序代码:CPen *pPen,*pOldPen; CPoint p1(290,100),p2(310,120); int i; int rgb15=RGB(0,0,0),RGB(0,0,255)

3、,RGB(0,0,128),RGB(0,255,0),RGB(0,128,0),RGB(0,255,255),RGB(0,128,128),RGB(255,0,0),RGB(128,0,0),RGB(255,0,255),RGB(128,0,128),RGB(255,255,0),RGB(128,128,0),RGB(128,128,128),RGB(192,192,192); for(i=0;iSelectObject(pPen); pDC-SelectStockObject(NULL_BRUSH); pDC-Ellipse(CRect(p1,p2); p1.Offset(-10,0); p

4、2.Offset(10,20); pDC-SelectObject(pOldPen); delete pPen; 输出图形如下:16-3:编写绘制五角星的程序,10个顶点的坐标按等分大,小圆周通过计算得到,R1=100,R2=38.2在void CMy163View:OnDraw(CDC* pDC)中添加如下程序代码: double x11=0,y11=0; int i,j; CRect rc; GetClientRect(&rc); pDC-SetViewportOrg(rc.right/2,rc.bottom/2); for (i=1;i=9;i+=2) xi=100*cos(1.5708

5、+(i-1)*2*3.141592654/10); yi=-100*sin(1.5708+(i-1)*2*3.141592654/10); x11=x1;y11=y1; for (j=2;jMoveTo (int)x1,(int)y1); for (i=1;iLineTo (int)xi,(int)yi); for(i=1;iMoveTo (int)xi,(int)yi); pDC-LineTo (int)xj,(int)yj); 并在程序的预处理部分添加函数头#include math.h。程序图形输出如下: 16-4:编程绘制钢结构构件断面图程序,不注尺寸.在void CMy164View

6、:OnDraw(CDC* pDC)中添加如下程序代码: int x0,y0,i; CRect rc; GetClientRect(&rc); x0=(int)rc.right/2; y0=(int)rc.bottom/2; pDC-SetViewportOrg(x0,y0); POINT pp6=-5,0,-5,-100,5,-100,5,0,85,0,-85,0; pDC-MoveTo(pp0); for(i=0;iLineTo(ppi); CRect r1(-85,-10,-65,10); CRect r2(65,-10,85,10); CRect r3(-15,-80,5,-60); C

7、Rect r4(-5,-80,15,-60); POINT p8=-75,-10,-15,-70,-5,-80,5,-80,15,-70,75,-10,-15,-10,15,-10; pDC-MoveTo(p0); pDC-Arc(r1,p0,pp5); pDC-MoveTo(pp4); pDC-Arc(r2,pp4,p5); pDC-MoveTo(p2); pDC-Arc(r3,p2,p1); pDC-MoveTo(p4); pDC-Arc(r4,p4,p3); pDC-MoveTo(p0); pDC-LineTo(p6); pDC-LineTo(p1); pDC-MoveTo(p4); p

8、DC-LineTo(p7); pDC-LineTo(p5);图形输出如下: 16-5:编写月亮门的程序在void CMy165View:OnDraw(CDC* pDC)中添加如下程序代码:CRect rc; GetClientRect(&rc); int x0,y0; x0=(int)rc.right/2; y0=(int)rc.bottom/2; pDC-SetViewportOrg(x0,y0); int i; POINT p6=-82.91561976,-125,-280,-125,-280,100,280,100,280,-125,82.91561976,-125; pDC-MoveT

9、o(p0); for(i=0;iLineTo(pi); CRect r1(-150,-150,150,150); pDC-MoveTo(p5); pDC-Arc(r1,p5,p0); POINT pp4=-60,80,-60,100,60,100,60,80; pDC-MoveTo(pp0); for(i=0;iLineTo(ppi); CRect r2(-100,-100,100,100); pDC-MoveTo(pp3); pDC-Arc(r2,pp3,pp0);图形输出如下: 16-6:由同心的半圆和椭圆弧组成,设R=70,椭圆长半径为140短半径为50在void CMy166View:

10、OnDraw(CDC* pDC)中添加如下程序代码: CRect rc;GetClientRect(&rc);pDC-SetViewportOrg(rc.right/2,rc.bottom/2);int a,b;a=140;b=50;pDC-Arc(-70,70,70,-70,70,0,-70,0);int i;double dt,xf,yf,phi,x,y,theta;dt=.01745;x=xp(0);y=yp(0);pDC-MoveTo(x,y);for(i=1;i=360;i+) phi=i*dt; xf=a*cos(phi);yf=b*sin(phi); if(yf0&sqrt(xf

11、*xf+yf*yf)SelectStockObject(NULL_PEN); else pDC-SelectStockObject(BLACK_PEN); x=xp(phi); y=yp(phi);pDC-LineTo(x,y);并在程序预处理理部分添加函数头和宏定义:#include math.h#define xp(phi) a*cos(phi)#define yp(phi) b*sin(phi)图形输出如下: 16-7:编程绘制球面及其上均匀分布的经线和纬线的正面投影.在void CMy167View:OnDraw(CDC* pDC)中添加如下程序代码:CRect rc; GetClie

12、ntRect(&rc); int x0,y0,i; x0=(int)rc.right/2; y0=(int)rc.bottom/2; pDC-SetViewportOrg(x0,y0); double x1,y1; x1=100*pow(3,.5)/2;y1=100; int x2,y2; x2=(int)x1;y2=(int)y1; pDC-Ellipse(-100,-100,100,100); pDC-Ellipse(-x2,-y2,x2,y2); pDC-Ellipse(-50,-100,50,100); POINT p12=0,100,-50,x2,-x2,50,-100,0,-x2,

13、-50,-50,-x2,0,-100,50,x2,x2,50,100,0,x2,-50,50,-x2; for(i=0;iMoveTo(pi); pDC-LineTo(pi+6);并在图形的预处理部分添加函数头#include math.h图形输出如下: 16-8:在void CMy168View:OnDraw(CDC* pDC)中添加如下程序代码:int x0,y0,x,y,s1=120; double r,theta; CRect rc; GetClientRect (&rc); x0=rc.right/2;y0=rc.bottom/2; pDC-SetMapMode(MM_LOMETRI

14、C); pDC-SetViewportOrg(int)x0,(int)y0); for(theta=0;thetaMoveTo(0,0); pDC-LineTo(x,y); 并在程序的预处理部分添加函数头和宏定义:#includemath.h#define R(theta) cos(1.5*theta)*s1图形输出如下: 16-9:对百叶窗正面图的程序进行改造.在void CMy169View:OnDraw(CDC* pDC)中添加如下程序代码:int i; double dt=0.01745,x,y,x0,y0,a,b,xc,yc,phi,x1,y1,a1,b1; phi=45*dt; C

15、Rect rc; GetClientRect (&rc); x0=rc.right/2;y0=rc.bottom/2; pDC-SetViewportOrg(int)x0,(int)y0); xc=0;yc=0; pDC-Ellipse(-150,-150,150,150); pDC-Ellipse(-140,-140,140,140); for(i=0;iMoveTo(x,y); pDC-LineTo(a,b); for(i=0;iMoveTo(x,y); pDC-LineTo(a,b); 并在程序的预处理部分添加函数头和宏定义:#includemath.h#define xp(x,y) c

16、os(phi)*x+sin(phi)*y+xc#define yp(x,y) cos(phi)*y-sin(phi)*x+yc程序图形输出如下: 16-10:错切系数为0.4,试编写根据左图画成右图的程序.在void CMy1610View:OnDraw(CDC* pDC)中添加如下程序代码:int i; double s1=1.5,x,x0,y0; CRect rc; GetClientRect (&rc); x0=rc.right/2;y0=rc.bottom/2; pDC-MoveTo(fnx(0),fny(0,0); pDC-LineTo(fnx(200),fny(200,0); pD

17、C-MoveTo(fnx(0),fny(0,65); pDC-LineTo(fnx(200),fny(200,65); for(i=1;iMoveTo(fnx(x),fny(x,65); pDC-LineTo(fnx(x),fny(x,-25); for(i=1;iMoveTo(fnx(x),fny(x,65); pDC-LineTo(fnx(x),fny(x,0);并在程预处理部分添加函数头和宏定义:#includemath.h#define fnx(x) (int)(x0+(x)*s1)#define fny(x,y) (int)(y0-(y+0.4*x)*s1)程序图形输出如下: 16-

18、11:编写绘制图形程序.在void CMy1611View:OnDraw(CDC* pDC)中添加如下程序代码:int j; double dt=0.01745,s1=1.0,x,y,x0,y0,a,b,c,s,xc,yc,phi,theta,i; CRect rc; GetClientRect (&rc); x0=rc.right/2;y0=rc.bottom/2; a=100;b=40;xc=0;yc=0; for(i=0;iMoveTo(fnx(x),fny(y); for(j=1;jLineTo(fnx(x),fny(y);并在程序的预处理部分添加函数头和宏定义:#includemat

19、h.h#define fnx(x) (int)(x0+(x)*s1)#define fny(y) (int)(y0-(y)*s1)#define xp(phi) cos(phi)*a*c-sin(phi)*b*s+xc#define yp(phi) cos(phi)*a*s+sin(phi)*b*c+yc程序输出图形如下: 16-12:编程绘制大门在预处理部分添加宏定义:#define fnx(x) (int)(x0+(x)*s*s1)#define fny(x) (int)(y0-(x)*s1)添加变量:int i,x0,y0,s; double s1;添加函数:draw( );在自定义函数

20、部分添加程序代码如下:int i; CClientDC dc(this); dc.MoveTo(fnx(0),fny(50); dc.LineTo(fnx(300),fny(50); dc.Rectangle(fnx(165),fny(50),fnx(215),fny(250); dc.Rectangle(fnx(155),fny(250),fnx(225),fny(260); dc.Arc(fnx(190-25),fny(260-25),fnx(190+25),fny(260+25),x0+300,fny(260),x0-300,fny(260); dc.MoveTo(fnx(215),fny(55); dc.LineTo(fnx(300),fny(55); dc.MoveTo(fnx(215),fny(190); dc.LineTo(fnx(300),fny(190); dc.MoveTo(fnx(215),fny(195); dc.LineTo(fnx(300),fny(195); for(i=1;iTextOut(x,y,w); s=1;s1=.5; draw(); s=-s; draw();程序图形输出如下:

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2