首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

DDA算法画直线,该如何解决

2012-01-24 
DDA算法画直线希望在表格中采用DDA算法画直线,运行效果是,能够在表格上看出由算法生成的点形成直线的效果,

DDA算法画直线
希望在表格中采用DDA算法画直线,运行效果是,能够在表格上看出由算法生成的点形成直线的效果,一般情况下,形成
的直线应该成阶梯状(即一条锯齿线),可是VC中的像素间距太小,人视觉上无法看出它的阶梯状,而是一条很平滑的直线,
希望哪位前辈能给出些方法和建议,能视觉上看出由DDA算法画直线的阶梯效果来!!!

[解决办法]
上面的代码k求错了,重新贴一下:

C/C++ code
void lineDDA( int x0,int y0,int x1,int y1 ,HDC hdc ){    float k = ( float( y1- y0 ) )/( float( x1 - x0 ) )  ;    float y = y0;    int x = 0;    int i= 0;    /**    * 调整此抽样间隔,可看到阶梯效果,为1时比较光滑    */    int dx = 1;    for( x = x0; x <= x1; x += dx )    {             for( long j = 0;j<dx ;j ++ )        {            ::SetPixel( hdc,x + j,y,RGB(0,0,0 ) );        }        y += k;    }} 

热点排行