网站首页 | 图形处理 | 网页设计 | 编程学习 | 操作系统学习 | 办公软件学习 | 常用软件学习 | 视频教程 | 设计作品欣赏| IT认证 | 设计素材下载 | 常用软件下载


 C语言-编程实例-三视图的画法


C语言-编程实例-三视图的画法

大一的时候学画法几何,感觉很难画三视图。近日,计算机图形学老师教了我们一个三视图的算法,感觉很好。特来发表。因为时间关系,我编了个特别简单的做为示例。

#include<graphics.h>
int dx[12]={0,60,60,0,0,60,60,0,60,0,60,0}; /*确定组合体X坐标*/
int dy[12]={0,0,120,120,0,0,40,40,80,80,120,120};/*确定组合体Y坐标*/
int dz[12]={0,0,0,0,80,80,80,80,40,40,40,40};/*确定组合体Z坐标*/
int ld[24]={0,1,2,3,0,4,5,6,7,4,10,11,9,8,10,2,3,11,8,6,9,7,1,5};/*确定连接各线的顺序*/
int tl[24]={0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,0,1,0,1,0,1};
int i,j,vh=100,vw=120,x,y,x0=250,y0=200;
main()
{
int driver=DETECT,mode=0;
initgraph(&driver,&mode,"");
setbkcolor(BLUE);
setcolor(YELLOW);
zu();
fu();
zo();
fo();
getch();
closegraph();
}
zu()/*主视图*/
{
for(i=0;i<24;i )
{
j=ld[i];
x=x0-dx[j];
y=y0-dz[j];
if(tl[i]==0)
moveto(x,y);
lineto(x,y);
}
}

fu()/*俯视图*/

{
for(i=0;i<24;i )
{j=ld[i];
x=x0-dx[j];
y=y0 dy[j] vh;
if(tl[i]==0)
moveto(x,y);
lineto(x,y);
}
}

zo()/*侧视图*/

{
for(i=0;i<24;i )
{
j=ld[i];
x=x0 dy[j] vw;
y=y0-dz[j];
if(tl[i]==0)
moveto(x,y);
lineto(x,y);
}
}

fo()/*轴侧图*/

{
for(i=0;i<24;i )
{j=ld[i];
x=x0-0.7071*dx[j] 0.7071*dy[j] 150;
y=y0 0.4082*dx[j] 0.4082*dy[j]-0.8165*dz[j] 150;
if(tl[i]==0)
moveto(x,y);
lineto(x,y);
}
}

文章来源:
电脑软件教程下载库



  • 上一篇教程:
  • 下一篇教程:

  •  
    推荐

    最新
    · C语言-编程实例-很普通很…
    · C语言-编程实例-三视图的…
    · C语言-编程实例-我编的国…
    · C语言-编程实例-用递归法…
    · C语言-编程实例-C与脚本…
    · C语言-编程实例-c语言优…
    · C语言-编程实例-输入一串…
    · C语言-编程实例-跳动的小…
    · C语言-编程实例-花心
    · C语言-编程实例-求最大数

     

    没有任何图片教程



    本站提供大量Photoshop照片处理,语言编程,网页设计制作,windows系统等软件在线实例教程,欢迎你投稿你的设计作品.lhy514251@163.com

    粤ICP备06081596