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

求A、B两点之间所有的点,该如何处理

2012-01-29 
求A、B两点之间所有的点已知CPoint a,b;求所有在a、b之间每个3个像素的点。用VC语言谢谢各位。[解决办法]数学

求A、B两点之间所有的点
已知CPoint a,b;
求所有在a、b之间每个3个像素的点。

用VC语言

谢谢各位。

[解决办法]
数学问题 ???
[解决办法]
以ab为斜边,加上水平和垂直方向的线组成直角三角形。。。
[解决办法]
[Quote=引用:]
已知CPoint a,b;

C/C++ code
求所有在a、b之间每个3个像素的点。  //什么意思???
[解决办法]
google搜“bresenham算法”
[解决办法]
void Bresenham(HDC hdc,int x1,int y1,int x2,int y2)
{
int t,x,y,dx,dy,error;
bool flag = abs(y2-y1)>abs(x2-x1);
if( flag )
{
t=x1;x1=y1;y1=t;
t=x2;x2=y2;y2=t;
}
if( x1>x2 )
{
t=x1;x1=x2;x2=t;
t=y1;y1=y2;y2=t;
}
dx=x2-x1;
dy=abs(y2-y1);
error=dx/2;
for(x=x1,y=y1;x<=x2;++x)
{
if(flag) SetPixel(hdc,y,x,0);
else SetPixel(hdc,x,y,0);
error-=dy;
if(error<0)
{
y1<y2?++y:--y;
error+=dx;
}
}
}

热点排行