13 August 2001 Vẽ đường thẳng Chris Weigle - Comp 136.

Slides:



Advertisements
Similar presentations
Môn: NGỮ VĂN Năm học: PHÒNG GD&ĐT NAM TR À MY TRƯỜNG PTDTBT THCS TRÀ DON Trà Don, ngày 26 tháng 10 năm 2015.
Advertisements

Báo cáo Cấu trúc đề thi PISA và Các dạng câu hỏi thi PISA
MỘT SỐ TÁC GIẢ TIÊU BIỂU ( ) Nhóm tự lực văn đoàn và phong trào thơ mới. Ngoài ra còn có các nhóm: Phong hóa, Ngày nay, Hà Nội báo (Huy Thông,
XÂY DỰNG VÀ PHÁT TRIỂN CHƯƠNG TRÌNH ĐÀO TẠO THEO ĐỀ XƯỚNG CDIO
Rainforest Alliance đào tạo cho các nông trại trà ở Việt Nam
CÁC THUẬT TOÁN TÌM KIẾM TRÊN ĐỒ THỊ
Kiểm thử và đảm bảo chất lượng phần mềm
L/O/G/O NGUYÊN LÝ KẾ TOÁN Nguyễn Hữu Quy (MBA,CPA,APC)
1 ĐỒNG NAI ĐÁNH GIÁ TÌNH HÌNH VÀ ĐỀ XUẤT ÁP DỤNG HIỆU QUẢ MÔ HÌNH KINH TẾ DƯỢC TẠI BỆNH VIỆN ĐA KHOA ĐỒNG NAI NĂM 2017 Học viên: Nhóm 5 _ PP111.
GIỚI THIỆU TRÌNH BIÊN DỊCH FREE PASCAL
Thực hiện các cuộc họp quan trọng
MÔN NGHỀ TIN HỌC VĂN PHÒNG LỚP 11
Giới thiệu về các phần mềm mô phỏng phổ biến
Sứ Mệnh GoCoast 2020 được thành lập bởi thống đốc Phil Bryant thông qua điều hành để phục vụ như là hội đồng cố vấn chính thức cho việc phân phối quỹ nhận.
Trường Đại học Khoa học Xã hội và Nhân văn, Hà Nội
Ghi chú chung về khóa học
Ngôn ngữ lập trình C/C++
Giới thiệu các Controls trong VC6.0
KHAI PHÁ DỮ LIỆU (DATA MINING)
THÔNG TIN MÔN HỌC Quản trị chuỗi cung ứng (Supply Chain Management): 45 tiết Tài liệu nghiên cứu Quản lý chuỗi cung ứng –Th.S. Nguyễn Kim Anh, Đại học.
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
THAM VẤN TÂM LÝ Bài Giới Thiệu.
Khoa CNTT- Học viện kỹ thuật quân sự
Ngôn ngữ lập trình C/C++
Đức Hồng Y Nguyễn Văn Thuận cầu bầu
Module 6 – Managing for Sustainability
TẠI SAO PHẢI NGHIÊN CỨU MÔ HÌNH HỒI QUY ĐA BIẾN?
Khoa Công nghệ Thông tin – Đại học Công Nghệ
KỸ NĂNG LẮNG NGHE- CHÚ TÂM
CHAPTER 7: TREES (Cấu trúc cây)
Theo mặc định toàn bộ dung lượng dùng lưu trữ, các thư mục hiện có trong các Partition , các dịch vụ hệ thống đã được chia sẽ cho mọi người được phép sử.
Dễ Dàng Và An Toàn Hướng Dẫn Rename Hàng Loạt Computer Cùng Lúc
Phần 7: Duy trì độ phì đất Ngôn ngữ: tiếng Việt Phiên bản: 2011
Khi ấy, Chúa Giêsu trở về quê nhà và các môn đệ cùng theo Người.
Chiến lược CSR –Là gì và làm thế nào để chúng ta sàng lọc lựa chọn?
Con trỏ và mảng cấp phát động trong C++
KỸ THUẬT LẬP TRÌNH GV: Phạm Thị Xuân Diệu
LẬP TRÌNH ỨNG DỤNG WINDOW FORM
Tiện (Turning) Đ1. CÔNG DỤNG VÀ PHÂN LOẠI
THUYẾT TRÌNH JAVASCRIPT
Chapter 16: Chiến lược giá
Biến và Kiểu Dữ Liệu Chương 2.
Giới Thiệu Tiêu Đề I.
Operators and Expression
(CTV Viện CNTT – ĐHQG Hà Nội)
Trách nhiệm giải trình của doanh nghiệp ở diện rộng
Chương 2: Các phép toán cơ bản trên hệ nhị phân
QUYỀN LỰC VÀ MÂU THUẪN TRONG NHÓM
Bài giảng TIẾT 55 : ĐIỆP NGỮ Chương trình Ngữ văn, lớp 7
Chương 2 Căn bản về Cung và Cầu 1.
GIỚI THIỆU VỀ LIÊN KẾT HYDRO
Môn: Lập trình Hướng đối tượng (Object Oriented Programming)
Tối đa hóa Lợi nhuận và Cung Cạnh tranh
Điều kiện Chương 5.
NHÂN QUYỀN LÀ GÌ? Dẫn Nhập Nhân quyền và thu thập tài liệu: Bài Một.
Trường CĐ CNTT HN Việt Hàn
Tr¸ch nhiÖm h×nh sù cña ng­êi ch­a thµnh niªn ph¹m téi
SEMINAR: MÁY STM (SCANNING TUNNELING MICROSCOPE)
Chương 11: Cấu trúc cây Phần 2: Cân bằng cây.
KHAI THÁC THỦY SẢN ĐẠI CƯƠNG
Nh÷ng lêi khuyªn cho trî lý träng tµi
Chương 4: Tập gõ 10 ngón Chương 2: Học cùng máy tính
Chương 3: Tổ chức thông tin
PHÂN TÍCH & THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
Bµi 14. LµM QUEN VíI PHÇN MÒM T¹O ¶NH §éNG
c¸c thµnh phÇn c¬ b¶n cña ng«n ng÷ lËp tr×nh
Ng­êi d¹y: NguyÔn Thuý Nga Tr­êng: TH Kh­¬ng §×nh
NGỮ VĂN 8 Tiết 54:Tập làm văn LUYỆN NÓI THUYẾT MINH VỀ MỘT THỨ ĐỒ DÙNG
Tuần 29. Tiết 57, 58 Bµi 20. M¹ng m¸y tÝnh 4/12/2019 Nguồn: Sưu tầm.
Chµo mõng c¸c thÇy c« gi¸o ®Õn dù héi thi gi¸o viªn giái
Presentation transcript:

13 August 2001 Vẽ đường thẳng Chris Weigle - Comp 136

Đường thẳng trên màn hình Đường thẳng được hình thành từ các điểm rời rạc Các điểm được xác định từ phương trình của đường thẳng Ideal Line Rasterized line

Đặc điểm của đường thẳng nguyên Xấp xỉ đường thẳng thực Không liên tục Dạng răng cưa (hình bậc thang) Nhanh – Thao tác cơ bản để tạo thành các đối tượng khác

Phương trình đường thẳng thực (x1,y1) (x2,y2) Dy Dx y = m * x + b Dx = x2 - x1 Dy = y2 - y1 m = Dy / Dx b = y1 - m * x1

Thuật toán Slope - Intercept SlopeInterceptLine(int x1, int y1, int x2, int y2, int color) { int Dx = x2 – x1; int Dy = y2 – y1; int x = x1, y = y1; putpixel(x, y, color); if (Dx != 0) { float m = (float)Dy / (float)Dx; float b = y1 - m*x1; int stepX = (x2 > x1) ? 1 : -1; while (x != x2) { x += stepX; y = round(m*x + b); }

Lưu ý Khi độ lớn của hệ số góc đường thẳng lớn hơn 1 thì các điểm trên đường thẳng rời rạc. Khắc phục:Tính tọa độ x theo y, nghĩa là x = g(y) (x2,y2) (x1,y1) Dy Dx

ImprovedSlopeInterceptLine(int x1, int y1, int x2, int y2, int color) { int Dx = x2 – x1; int Dy = y2 – y1; int x = x1, y = y1; putpixel(x, y, color); if (abs(Dx) > abs(Dy)) { float m = (float)Dy / (float)Dx; float b = y1 - m*x1; int stepX = (Dx < 0) ? -1 : 1; while (x != x2) { x += stepX; putpixel(x, round(m*x + b), color); } } else if (Dy != 0) { float m = (float)Dx / (float)Dy; float b = x - m*y; int stepY = (Dy < 0) ? -1 : 1; while (y != y2) { y += stepY; putpixel(round(m*y + b), y, color); Thuật toán cải tiến

Cải tiến Vòng lặp bên trong: while (x != x2) { x += stepX; putpixel(x, round(m*x + b), color); } Giá trị của y được tính trực tiếp từ phương trình Chúng ta có thể tính giá trị của y bằng cách khác: float t = m * x + b + 0.5; t += m; putpixel(x, (int)t, color);

Digital Differential Analyzer DDALine(int x1, int y1, int x2, int y2, int color) { int Dx = x2 – x1; int Dy = y2 – y1; float t = 0.5; int x = x1, y = y1; putpixel(x, y, color); if (abs(Dx) > abs(Dy)) { float m = (float)Dy / (float)Dx; float b = y - m*x; int stepX = (Dx < 0) ? -1 : 1; t += b + m*x; m *= (float)stepX; while (x != x2) { x += stepX; t += m; putpixel(x, (int)t, color); } } else if (Dy != 0) { // swap x & y to do other slopes