(c) SE/FIT/HUT 2002
Bài 2:
Các giithutsinh
các thc th cơs
Le Tan Hung
hunglt@it-hut.edu.vn
(c) SE/FIT/HUT 2002 2
Giithutxâydng các
thcthcơs
Giithutsinhđường thng Line
Giithutsinhđường tròn - Circle
Giithut VanAken sinh Ellipse
Giithutsinhđagiác
Giithutsinhkýt
(c) SE/FIT/HUT 2002 3
Rirchoáđimnh
(Scan Conversion rasterization)
Scan Conversion rasterization
Tính cht các đốitượng cnđảmbo:
smooth
continuous
pass through specified points
uniform brightness
efficient
(c) SE/FIT/HUT 2002 4
Biudinđonthng
Biudintường minh
(y-y1)/( x-x1) = ( y2-y1)/( x2-x1)1
y = kx + m
Biudinkhôngtường minh
(y2-y1)x - (x2-x1)y + x2y1 - x1y2 = 0
hay rx + sy + t = 0
Biudinthambiến
P(u) = P1 + u(P2 - P1)
u [0,1]
m
P(x1, y1)
P(x2 ,y2)
u
(c) SE/FIT/HUT 2002 5
ThuttoánDDA
(Digital Differential Analizer)
GiithutDDA
Vi 0 < k < 1
xi+1 = xi+ 1
yi+1 = yi+ k
vi i=1,2,3....
Giithut thông thường
DrawLine(int x1,int y1, int x2,int y2,
int color)
{
float y;
int x;
for (x=x1; x<=x2; x++)
{
y = y1 + (x-x1)*(y2-y1)/(x2-x1)
WritePixel(x, Round(y), color );
}}