收藏 分销(赏)

土木工程制图VC--编程习题.doc

上传人:仙人****88 文档编号:8369672 上传时间:2025-02-11 格式:DOC 页数:10 大小:186KB 下载积分:10 金币
下载 相关
土木工程制图VC--编程习题.doc_第1页
第1页 / 共10页
土木工程制图VC--编程习题.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
2-1 CRect c; GetClientRect(c); pDC->SetMapMode(7); pDC->SetWindowExt(100,100); pDC->SetViewportExt(100,-100); pDC->SetWindowOrg(0,0); pDC->SetViewportOrg(c.right /2,c.bottom/2); POINT p1[4]={-240,0, 0,120, 240,0, -240,0}; POINT p2[9]={-160,0, -160,40, -80,0, -80,80, 0,0, 80,80, 80,0, 160,40, 160,0}; pDC->MoveTo(-240,0); pDC->Polyline(p1,4); pDC->MoveTo(-160,0); pDC->Polyline(p2,9); pDC->MoveTo(0,0); pDC->LineTo(0,120); 2-2 Cpen*pPen,*pOldPen; int i; int c[16]={ RGB(0,0,0), RGB(0,0,128) RGB(0,128,0), RGB(128,0,128) RGB(128,0,0), RGB(128,128,128) RGB(128,128,0), RGB(0,128,128) RGB(255,0,0), RGB(0,0,255) RGB(0,255,0), RGB(255,255,0) RGB(255,0,255), RGB(0,255,255) RGB(255,255,255), RGB(255,255,128) for(i=15;i>=1;i--) { pPen=new CPen(PS_SOLID,2,c[i]); pOldPen=pDC->SelectObject(pPen); CRect r=300-10*i,100,300+10*i,100+2*10*i); pDC->Ellipse(r); pDC-> SelectObject(pOldPen); delete pPen; } } 2-3 #include”math.h” CRect rc; GetClientRect(&rc); pDC->SetMapMode(MM_ISOTROPIC); pDC->SetViewportOrg(rc.right/2,rc.bottom/2); int r1=100; double r2=38.2,pi=3.141592654/180; POINT p[11]={0,100,-r2*sin(36*pi),r2*cos(36*pi),-r1*sin(72*pi),r1*cos(72*pi), -r2*sin(36*3*pi),r2*cos(36*3*pi),-r1*sin(36*4*pi),r1*cos(36*4*pi), 0,-r2,r1*sin(36*pi),-r1*cos(36*pi),r2*sin(36*3*pi),r2*cos(36*3*pi), r1*sin(72*pi),r1*cos(72*pi),r2*sin(36*pi),r2*cos(36*pi),0,100 }; BYTE pt[11]= {PT_MOVETO,PT_LINETO,PT_LINETO,PT_LINETO,PT_LINETO,PT_LINETO,PT_LINETO,PT_LINETO,PT_LINETO,PT_LINETO,PT_LINETO }; pDC->PolyDraw(p,pt,11); 2-4 CRect rc; GetClientRect(&rc); pDC->SetMapMode(MM_LOMETRIC); pDC->SetViewportOrg(rc.right/2,rc.bottom/2); pDC->MoveTo(85,0); pDC->LineTo(-85,0); pDC->MoveTo(-75,10); pDC->AngleArc(-75,0,10,-90,-90); pDC->MoveTo(-75,10); pDC->LineTo(-15,10); pDC->LineTo(-15,70); pDC->AngleArc(-5,70,10,-90,-90); pDC->Rectangle(-5,0,5,100); pDC->MoveTo(85,0); pDC->AngleArc(75,0,10,-90,90); pDC->MoveTo(75,10); pDC->LineTo(15,10); pDC->LineTo(15,70); pDC->AngleArc(5,70,10,-90,90); 2-5 #include "math.h" CRect rc; GetClientRect(&rc); pDC->SetMapMode(7); pDC->SetWindowOrg(0,0); pDC->SetViewpointOrg(rc.right/2,rc.bottom*3/4); pDC->SetWindowExt(100,100); pDC->SetViewpointExt(100,-100); CPen pen(PS_SOLID,3,RGB(0,0,0)); pDC->SelectObject(&pen); POINT p1[5]={-60,20,-60,0,-280,0,-280,225,-sqrt(150*150-125*125),225}; POINT p2[5]={-60,20,-60,0,280,0,280,225,sqrt(150*150-125*125),225}; pDC->Polyline(p1,5); pDC->Polyline(p2,5); pDC->Arc(-100,200,100,0,60,20,-60,20); pDC->Arc(-150,250,150,-50,-sqrt(150*150-125*125),225, -sqrt(150*150-125*125),225); 2-6 #include "math.h" CRect rc; GetClientRect(&rc); pDC->SetViewportOrg(rc.right/2,rc.bottom/2); pDC->MoveTo(70,0); pDC->AngleArc(0,0,70,0,180); int i; double p=3.1415926/180,x,y; pDC->MoveTo(140,0); for(i=0;i<360;i++) {x=140*cos(p*i); y=50*sin(p*i); if(x*x+y*y<70*70&&y<0) pDC->SelectStockObject(NULL_PEN); else pDC->SelectStockObject(BLACK_PEN); pDC->LineTo(x,y);} 2-7 #include"math.h" CRect rc; GetClientRect(&rc); pDC->SetViewportOrg(rc.right/2,rc.bottom/2); int j; double p=3.141592654/180,x,y; double a,b; a=sqrt(150*150-50*j*50*j); b=50*j; pDC->MoveTo(-150,0); pDC->LineTo(150,0); pDC->SelectStockObject(NULL_BRUSH); for(j=0;j<4;j++) {x=150*sin(30*j*p); pDC->Ellipse(x,150,-x,-150); } pDC->MoveTo(0,-150); pDC->LineTo(0,150); pDC->MoveTo(sqrt(150*150-50*50),-50); pDC->LineTo(-sqrt(150*150-50*50),-50); pDC->MoveTo(sqrt(150*150-50*2*50*2),100); pDC->LineTo(-sqrt(150*150-50*2*50*2),100); pDC->MoveTo(sqrt(150*150-50*50),50); pDC->LineTo(-sqrt(150*150-50*50),50); pDC->MoveTo(sqrt(150*150-50*2*50*2),-100); pDC->LineTo(-sqrt(150*150-50*2*50*2),-100); 2-8 #include"math.h" CRect rc; GetClientRect(&rc); pDC->SetViewportOrg(rc.right/2,rc.bottom/2); int i; double x,y,r,p=3.141592654/180; for(i=0;i<3600;i++) { r=120*cos(1.5*i*p); x=cos(i*p)*r; y=sin(i*p)*r; pDC->LineTo(x,y); pDC->MoveTo(0,0); pDC->LineTo(x,y); } 2-9 #include"math.h" CRect rc; GetClientRect(rc); pDC->SetViewportOrg(rc.right/2,rc.bottom/2); pDC->Ellipse(-75,-75,75,75); pDC->Ellipse(-70,-70,70,70); int i; double x[14],y[14],x1[14],y1[14],x2[14],y2[14]; pDC->MoveTo(70,0); for(i=0;i<=6;i++) {x1[i]=(sqrt(49*10*10-i*i*10*10)); y1[i]=10*i; x1[13-i]=-x1[i]; y1[13-i]=10*i; } for(i=0;i<=13;i++) { x[i]=x1[i]*cos(3.14/4)-y1[i]*sin(3.14/4); y[i]=y1[i]*cos(3.14/4)+x1[i]*sin(3.14/4); x2[i]=x1[i]*cos(3.14/4)+y1[i]*sin(3.14/4); y2[i]=-y1[i]*cos(3.14/4)+x1[i]*sin(3.14/4); } for(i=0;i<=6;i++) {pDC->MoveTo(x[i],-y[i]); pDC->LineTo(x[13-i],-y[13-i]); pDC->MoveTo(x2[i],-y2[i]); pDC->LineTo(x2[13-i],-y2[13-i]); } 2-10 #include "math.h" CRect rc; GetClientRect(&rc); pDC->SetViewportOrg(rc.right/2,rc.bottom/2); pDC->SetMapMode(MM_LOMETRIC); int i; int x[11],y[11]; for(i=0;i<11;i++){ x[i]=20*i; y[i]=10+10*pow(-1.0,double(i+1))+0.4*20*i; //x[i]=20*i; //y[i]=10+10*pow(-1.0,double(i+1));} pDC->MoveTo(x[0],y[0]+20); pDC->LineTo(x[10],y[10]+20); pDC->MoveTo(x[0],y[0]+85); pDC->LineTo(x[10],y[10]+85); for(i=0;i<11;i++) {pDC->MoveTo(x[i],y[i]); pDC->LineTo(x[i],85+0.4*20*i); } 2-11 #include"math.h" CRect rc; GetClientRect(&rc); pDC->SetViewportOrg(rc.right/2,rc.bottom/2); int i,j; double x,y,p=3.141592654/180; pDC->MoveTo(100*cos(22.5*p),100*sin(22.5*p)); for(j=1;j<9;j++) {for(i=0;i<360;i++) {x=100*cos(i*p)*cos(j*22.5*p)-40*sin(i*p)*sin(j*22.5*p); y=100*cos(i*p)*sin(j*22.5*p)+40*sin(i*p)*cos(j*22.5*p); pDC->LineTo(x,y); } pDC->MoveTo(100*cos((j+1)*22.5*p),100*sin((j+1)*22.5*p)); } 2-12 #define fnx(x) (int)(xo+(x)*s*sl) #define fny(y) (int)(yo-(y)*sl) CRect rc; GetClientRect(rc); CString sa="欢迎参观指导"; TEXTMETRIC tm; xo=rc.right/2; yo=rc.bottom/2+100; s=1; sl=0.5; draw(); s=-s; draw(); int a=xo-50,b=yo-150; pDC->SelectStockObject(ANSI_FIXED_FONT); pDC->TextOut(a,b,sa); void CGgView::draw() {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),xo+300,fny(260), xo-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;i<=4;i++) {dc.MoveTo(fnx(215+20*i),fny(55)); dc.LineTo(fnx(215+20*i),fny(190)); }}
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服