ĐỒ HỌA MÁY TÍNH - CƠ BẢN pps

10 450 3
ĐỒ HỌA MÁY TÍNH - CƠ BẢN pps

Đang tải... (xem toàn văn)

Thông tin tài liệu

3/28/2011 1 Trƣơng Văn Quốc Nhật 1 CHƢƠNG 1. CƠ BẢN Nội dung 2 1. Điểm, đoạn thẳng 2. Hệ màu 3. Thuật toán vẽ đoạn thẳng 4. Thuật toán vẽ đƣờng tròn 5. Thuật toán vẽ elíp 6. Thuật toán vẽ đồ thị hàm số bất kỳ 7. Vẽ trong .NET, Bài tập 3/28/2011 2 Điểm, đoạn thẳng 3 Hệ màu 4  RGB  CMY, CMYK  HSV, HSB 3/28/2011 3 5 Vẽ đoạn thẳng – DDA (Digital Differential Analyser) 1 1 ii xx baxy xayyyy iii 1 ay i 11 , yxA 1 1 ii yy y a xxxx iii 1 1 a x i 1 B1. Tính: 12 xxx 22 , yxB 'A 'B 12 yyy yxstep ,max B2. Khởi tạo: 11 , yyxx step y dy step x dx Vẽ điểm B3. for i=1step: dyydxx , Vẽ điểm )(),( yroundxround yx, 6 d 1 d 2 i y 1 i y i x 1 i x P Q M 21 ddxp i 1212 11 ii yxyxxyxy 11 121222 xyyxxyyx ii 11 , yxA 22 , yxB bxay iM 1 12 1 12 1 yy yy xx xx x y xx yy a 12 12 x y xyb 11 , cxyyxp iii 111 22 iiii yyxypp 11 22 iM yyd 1 Mi yyd 1, 2 122 21 iM yydd 0 i p Chọn P ypp ii 2 1 0 i p Chọn Q xypp ii 22 1 xyp 2 1 ? ? 3/28/2011 4 7 12 xxx 12 yyy xyp 2 21 xxxfor Vẽ điểm yx, 1 yy 0pif yp 2 else xyp 22 y { } { } 12 xxdx 12 yydy dxcp 1 21 xxxfor Vẽ điểm yx, 1 yy 0pif 1 cp else 2 cp y { } { } dyc 2 1 dxdyc 22 2 0 i p Chọn P, ypp ii 2 1 0 i p Chọn Q, xypp ii 22 1 xyp 2 1 Vẽ đoạn thẳng ttoán Bresenham Vẽ đoạn thẳng – ttoán MidPoint 8 i y 1 i y i x 1 i x P Q M cbyaxyxf ),( =0 >0 <0 1 -2 ? ? 3/28/2011 5 Nội dung 9 1. Điểm, đoạn thẳng 2. Hệ màu 3. Thuật toán vẽ đoạn thẳng 4. Thuật toán vẽ đƣờng tròn 5. Thuật toán vẽ elíp 6. Thuật toán vẽ đồ thị hàm số bất kỳ 7. Vẽ trong .NET, Bài tập Vẽ đƣờng tròn – ttoán MidPoint 10 (0,R) (0,-R) (R,0) (-R,0) 222 ),( Ryxyxf x O y 0),( yxf 0),( yxf 0),( yxf :trên :trong :ngoài AB 3/28/2011 6 Thuật toán MidPoint 11 M (x, y) (x+1, y) (x+1, y+1) P Q  M ngoài chọn P 5.0,1)( yxfMfd 0d  M …  chọn Q 0d M ở đâu? cumoi ddd M mới s 12 (x,y) (x+1, y) (x+1,y+1) P Q M cũ M mới M cũ (x,y) (x+1, y) (x+1,y+1) P Q 222 )5.1()2( Ryxd moi 222 )5.0()1( Ryxd cu 222 )5.0()2( Ryxd moi 222 )5.0()1( Ryxd cu cumoi ddd 32x 522 yx 3/28/2011 7 Thuật toán MidPoint 13 5.0,1 0 Rfd (0,-R) (1,-R) (1,-R+1) M 0 x=0; y=-R; d=1 -R; plot(x,y); //vẽ điểm đầu tiên R25.1 while (y<x){ if (d<0){ //chọn P d+=2*x+3; }else{ //chọn Q d+=2*(x+y)+5; y++; } x++; plot(x,y); //vẽ điểm (x,y) } .25 14 x O y 1 2 4 5 6 7 8 3 (x,y) (-x,y) (x,-y) (-x,-y) (y,x) (y,-x) (-y,x) (-y, -x) 3/28/2011 8 15 Bresenham M (x, y) (x+1, y) (x+1, y+1) P Q  M ngoài  chọn P 0Mf  M …  chọn Q 0Mf (x, y) (x+1, y) (x+1, y+1) P Q MidPoint d 1 d 2 M  chọn P 0 21 dd  chọn Q 0 21 dd 222 ),( Ryxyxf Vẽ elíp 16 b -b a -a C(x 0 ,y 0 ) 1 2 2 2 2 b y a x x O y AB CD 1 1 0 2 0 2 2 0 2 0 ya xb b yy a xx 00 , yxC Phƣơng trình chính tắt: 3/28/2011 9 Vẽ đồ thị hàm số 17 x y O 1 x 2 x Ý tưởng: Cho x chạy từ x 1 đến x 2 , lấy các tọa độ (x, f(x)) sau đó nối lại. Vẽ trong .NET 18 Image Graphics Pen Brush •DrawLine •DrawCircle •DrawEllipse •FillEllipse 3/28/2011 10 Bài tập 01 19 1. Bắt buộc:  Tìm hiểu các hệ màu (color model) thông dụng: RGB, CMY(K), HSV, HSB  file word.  Xây dựng thuật toán vẽ đoạn thẳng (MidPoint).  Xây dựng thuật toán vẽ elíp (Bresenham).  Xây dựng thuật toán vẽ elíp (MidPoint, Bresenham).  Cài đặt các thuật toán vẽ đoạn thẳng, vẽ đƣờng tròn, vẽ elíp (DDA, MidPoint, Bresenham)  mỗi thuật toán vẽ là 1 phƣơng thức, gộp vào 1 file mã nguồn (đuôi là cs). 2. Không bắt buộc:  Tìm hiểu (+cài đặt) thuật toán vẽ đoạn thẳng, vẽ đƣờng tròn, vẽ elíp khử răng cưa.  Tìm hiểu (+cài đặt) thuật toán vẽ đoạn thẳng, vẽ đƣờng tròn, vẽ elíp có độ rộng >1 pixel.  Vẽ đồ thị hàm số bất kỳ. . Q d+=2*(x+y)+5; y++; } x++; plot(x,y); //vẽ điểm (x,y) } .25 14 x O y 1 2 4 5 6 7 8 3 (x,y) (-x,y) (x,-y) (-x,-y) (y,x) (y,-x) (-y,x) (-y, -x) 3/28/2011 8 15 Bresenham M (x, y) (x+1, y) (x+1, y+1) P Q  M ngoài . Ryxd cu cumoi ddd 32x 522 yx 3/28/2011 7 Thuật toán MidPoint 13 5.0,1 0 Rfd (0,-R) (1,-R) (1,-R+1) M 0 x=0; y=-R; d=1 -R; plot(x,y); //vẽ điểm đầu tiên R25.1 while (y<x){ if (d<0){ //chọn. Văn Quốc Nhật 1 CHƢƠNG 1. CƠ BẢN Nội dung 2 1. Điểm, đoạn thẳng 2. Hệ màu 3. Thuật toán vẽ đoạn thẳng 4. Thuật toán vẽ đƣờng tròn 5. Thuật toán vẽ elíp 6. Thuật toán vẽ đồ thị hàm số bất kỳ 7.

Ngày đăng: 02/08/2014, 05:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan