| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 820 人关注过本帖
标题:C++中如何进行图形编程
取消只看楼主 加入收藏
xuchang1032
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-2-27
结帖率:100%
收藏
 问题点数:0 回复次数:1 
C++中如何进行图形编程
请问C++中要进行图形编程要用到什么头文件?
好象有人说C++中没有这个头文件。只能调用系统API?
是如何做的?谢谢
搜索更多相关主题的帖子: 图形 
2008-09-18 14:05
xuchang1032
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-2-27
收藏
得分:0 
回复 1# xuchang1032 的帖子
可以具体点说明怎么操作吗?
计算机图形学上有画直线的函数,但是不完整
算法如下:
dda_line(float x1,float y1,float x2,float y2)
{//实数直线生成算法,有时不能准确达到终点,下一个算法更好
    float x,y,n,t,dx,dy;

    dx=x2-x1;
    dy=y2-y1;
    n=fabs(dx);
    t=fabs(dy);
    if(t>n)
        n=t;
    if(n!=0.0){          //计算叠加分量
        dx=dx/n;
        dy=dy/n;
    }
    x=x1+0.5;
    y=y1+0.5;
    x1=int(x);
    y1=int(y);
    x2=int(x2+0.5);
    y2=int(y2+0.5);
    n=fabs(x1-x2);
    t=fabs(y1-y2);
    if(t>n)               //计算画点的个数
        n=t;
    setcolor(255,0,0);
    putpixel(x1,y1);      // 画直线的起点
    setcolor(rr,gg,bb);
    while(n>0) {
        x=x+dx;
        y=y+dy;
        n=n-1;
        putpixel(x,y);
    }
}

//-----------------------------------------------

dda_line1(float x1,float y1,float x2,float y2)
{//实数直线1生成算法 ,能准确到达起点与终点,且直线宽度均匀,显示效果好
 //而计算出的各个点,通过4舍5入,使其位于坐标网格点上
    float x,y,n,t,dx,dy,dx1,dy1,dx2,dy2;

    dx=x2-x1;
    dy=y2-y1;
    n=fabs(dx);
    t=fabs(dy);
    if(t>n)
        n=t;
    if(n!=0.0){          //计算理想条件下的叠加分量
        dx1=dx/n;
        dy1=dy/n;
    }
    n=int(n);           //计算画点的次数
//    dx2=dx-dx1*n;     //这样推算出的终点,有可能有较大的积累误差,舍弃这种方法
//    dy2=dy-dy1*n;
    x=x1+0.5;
    y=y1+0.5;
    setcolor(255,0,0);
    putpixel(x,y);      // 画直线的起点
    setcolor(rr,gg,bb);
    while(n>0) {
        x=x+dx1;
        y=y+dy1;
        putpixel(x,y);
        n--;
    }
//    x=x+dx2;
//    y=y+dy2;
//    putpixel(x,y);      //一般能准确到达终点(但个别情况有2*E-5的误差),
    putpixel(x2+0.5,y2+0.5);      //准确地画直线的终点
 
}
怎么才能写出完整的C++程序来呢?
2008-09-18 18:40
快速回复:C++中如何进行图形编程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044891 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved