Tìm kiếm
 
 

Display results as :
 


Rechercher Advanced Search

Latest topics
» Giải thuật Bresenham
Mon Jun 24, 2013 11:27 pm by hangme

» host facebook
Mon Apr 02, 2012 2:26 pm by Admin

» Cyberlink PowerDirector 9 key full
Thu Mar 29, 2012 5:00 pm by Admin

» PowerDirector 10 Ultra
Fri Mar 23, 2012 6:15 pm by Admin

» Mảng - Nhập mảng số nguyên, tính tổng phần tử dương, tìm số hoàn hảo, tìm max, min, sắp xếp từ lớn đến nhỏ, từ nhỏ đến lớn
Sun Mar 18, 2012 9:17 pm by Admin

» HTML+CSS Form đăng nhập
Tue Sep 13, 2011 10:38 pm by Admin

» HTML+javascript : Lịch Dương
Thu Sep 08, 2011 5:15 pm by Admin

» HTML+javascript : Đòng hồ điện tử
Thu Sep 08, 2011 5:06 pm by Admin

» HTML: Form Đăng nhập
Thu Sep 08, 2011 4:42 pm by Admin

Affiliates
free forum


Thuật toán DDA (Digital Differential Analizer)

Go down

Thuật toán DDA (Digital Differential Analizer)

Bài gửi  Admin on Sun May 15, 2011 7:37 pm

Tiến hành tính tại mỗi bước vốn sử dụng kết quả từ bước trước đó. Giả sử bước i đã tính
(xi,yi), bước tiếp (xi+1,yi+1) sẽ nghiệm đúng với Δy/Δx=k.
Δy = yi+1 -yi Δx = xi+1-xi
Vậy:yi+1 =yi +kΔxvà xi+1 =xi + Δy/k
- 0 < k < 1 (đảm bảo sự thay đổi của x trên trục toạ độ sẽ lớn hơn y)
- Bắt đầu x=x1 (x1<x2) và y=y1
xi+1 = xi + 1 đặt Δx=1 (gia số theo x)
yi+1= yi + k cứ như thế đến x2
- Khi k>1 bắt đầu y=y1 (y1<y2) và x=x1
- đặt Δy =1 (gia số theo y)
xi+1 =xi + 1/k tiếp tục đến y2


giải thuật:
void ddaline (int x1,int y1,int x2,int y2,int c)
{ int x=x1;
float y=y1;
float k=(float)(y2-y1)/(x2-x1);
putpixel(x,round(y),c);
for(int i=x1;i<=x2;i++)
{
x++;
y=y+k;
putpixel(x,round(y),c);
}
}
avatar
Admin
Admin

Tổng số bài gửi : 157
Join date : 09/06/2010
Age : 27
Đến từ : Hải Dương

Xem lý lịch thành viên http://bkiz.yourforum4u.com

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết