void CDfgView::lifangti(CPoint point, int a,int b,int c/*kuan*/)
{
int x=0,y=0,z=0; //x,y,z为3坐标轴,其中z轴定义为与x轴夹
CPoint po,po1=point,po2=point;//角为-150度,所以zuo函数里进行坐标转化时
//乘了0.866
CDC *dc=GetDC (); //代码不够简洁,请见谅
dc->MoveTo (point );
po=(0,0);
po= zuo (po,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=a;
po.y =0;
po=zuo(po ,0);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=0;
po.y =b;
po=zuo(po ,0);
po+=po1;
dc->LineTo (po );
po.x=a;
po.y=0;
point=zuo(po,c);
point +=po2;
dc->MoveTo (point ); po.x=a;
po.y =0;
po=zuo(po ,0);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point );
po.x=a;
po.y =b;
po=zuo(po ,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=0;
po.y =0;
po=zuo(po ,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point );
po.x=0;
po.y =0;
po=zuo(po ,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=0;
po.y=b;
point=zuo(po,c);
point +=po2;
dc->MoveTo (point ); po.x=0;
po.y =0;
po=zuo(po ,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point );
po.x=a;
po.y =b;
po=zuo(po ,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=0;
po.y =b;
po=zuo(po ,0);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=a;
po.y=b;
point=zuo(po,0);
point +=po2;
dc->MoveTo (point ); po.x=0;
po.y =b;
po=zuo(po ,0);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=a;
po.y =0;
po=zuo(po ,0);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=a;
po.y =b;
po=zuo(po ,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); ReleaseDC (dc);
} POINT CDfgView::zuo(CPoint pp, int cc) //坐标转换用;{
pp.x=(int)(pp.x-0.86603*cc);
pp.y=(int)(pp.y +0.5*cc);
return (pp);
}
{
int x=0,y=0,z=0; //x,y,z为3坐标轴,其中z轴定义为与x轴夹
CPoint po,po1=point,po2=point;//角为-150度,所以zuo函数里进行坐标转化时
//乘了0.866
CDC *dc=GetDC (); //代码不够简洁,请见谅
dc->MoveTo (point );
po=(0,0);
po= zuo (po,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=a;
po.y =0;
po=zuo(po ,0);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=0;
po.y =b;
po=zuo(po ,0);
po+=po1;
dc->LineTo (po );
po.x=a;
po.y=0;
point=zuo(po,c);
point +=po2;
dc->MoveTo (point ); po.x=a;
po.y =0;
po=zuo(po ,0);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point );
po.x=a;
po.y =b;
po=zuo(po ,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=0;
po.y =0;
po=zuo(po ,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point );
po.x=0;
po.y =0;
po=zuo(po ,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=0;
po.y=b;
point=zuo(po,c);
point +=po2;
dc->MoveTo (point ); po.x=0;
po.y =0;
po=zuo(po ,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point );
po.x=a;
po.y =b;
po=zuo(po ,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=0;
po.y =b;
po=zuo(po ,0);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=a;
po.y=b;
point=zuo(po,0);
point +=po2;
dc->MoveTo (point ); po.x=0;
po.y =b;
po=zuo(po ,0);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=a;
po.y =0;
po=zuo(po ,0);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); po.x=a;
po.y =b;
po=zuo(po ,c);
po+=po1;
dc->LineTo (po );
dc->MoveTo (point ); ReleaseDC (dc);
} POINT CDfgView::zuo(CPoint pp, int cc) //坐标转换用;{
pp.x=(int)(pp.x-0.86603*cc);
pp.y=(int)(pp.y +0.5*cc);
return (pp);
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货