Bresenham hay MidPoint Version beta
Trang 1 trong tổng số 1 trang
Bresenham hay MidPoint Version beta
Mừng quá. Chỉ cần ngồi chút xíu và thêm chút quyết tâm nhất định sẽ làm được.
- Code:
void Bresenham(int x1, int y1, int x2, int y2)
{
bool flag=0;
int p,const1,const2;
int Dy,Dx;
int i,tang;
if(abs(x1-x2)<abs(y1-y2))
{
flag=1;
swap(x1,y1);
swap(x2,y2);
}
if(x1>x2)
{
swap(x1,x2);
swap(y1,y2);
}
//---------Tinh Bresenham------------
Dy=y2-y1;
Dx=x2-x1;
//--------Tinh huong tang cua Dy
if(Dy>0) tang=1;
else
{
tang=-1;
Dy=Dy*-1;
}
p=2*Dy-Dx;
const1=2*Dy;
const2=2*(Dy-Dx);
putpixel(x1,y1);
if(flag==0)
{
for(i=x1;i<x2;i++)
{
if(p<0) p=p+const1;
else
{
p=p+const2;
y1+=tang;
}
x1++;
putpixel(x1,y1);
}
}
else
{
for(i=x1;i<x2;i++)
{
if(p<0) p=p+const1;
else
{
p=p+const2;
y1+=tang;
}
x1++;
putpixel(y1,x1);
}
}
}
Re: Bresenham hay MidPoint Version beta
Lúc nào không phải lập trình cũng ra, không phải lúc nào cũng xem kết quả. Quan trọng khi viết, mình cần biết mình sẽ viết những gì, viết như thế nào cho tốt. Phải có phương pháp.
Nhiều lúc bài mình suy nghĩ 1 ngày, nói bạn mình trong 1 tiếng làm sao bạn mình hiểu. Và bạn mình quá vội, chỉ muốn đạt kết quả cuối cùng mà quên rằng bước phân tích lại cực kì quan trọng.
Làm sao để thay đổi đây?
Nhiều lúc bài mình suy nghĩ 1 ngày, nói bạn mình trong 1 tiếng làm sao bạn mình hiểu. Và bạn mình quá vội, chỉ muốn đạt kết quả cuối cùng mà quên rằng bước phân tích lại cực kì quan trọng.
Làm sao để thay đổi đây?
Phương pháp suy nghĩ
Kết hợp rất nhiều thứ:
- Bản đồ tư duy
- Tìm hiểu mối quan hệ giữa các đại lượng
- Cách sử dụng chúng thế nào?
- Quan trọng nhất là ý tưởng để nảy sinh bài toán.
Similar topics
» DDA version 1
» The Bresenham Line-Drawing Algorithm
» Tô màu Tam giác-Final Version
» Portable Yahoo!Messenger 10.0.0.525 Beta
» The Bresenham Line-Drawing Algorithm
» Tô màu Tam giác-Final Version
» Portable Yahoo!Messenger 10.0.0.525 Beta
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|