intTypePromotion=1

Câu hỏi về đồ họa máy tính kèm theo lời giải

Chia sẻ: Nguyễn Văn Thanh | Ngày: | Loại File: PDF | Số trang:29

0
224
lượt xem
41
download

Câu hỏi về đồ họa máy tính kèm theo lời giải

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Câu 1. Đồ họa máy tính là gì? Cho biết các ứng dụng của đồ họa máy tính? Khái niệm ĐHMT - Đồ họa máy tính là tất cả những gì liên quan đến việc sử dụng máy tính để phát sinh ra hình ảnh. Các vấn đề liên quan tới công việc này bao gồm : tạo, lưu trữ, thao tác trên các mô hình (các mô tả hình học của đối tượng) và các ảnh.

Chủ đề:
Lưu

Nội dung Text: Câu hỏi về đồ họa máy tính kèm theo lời giải

  1. Câu 1. Đồ họa máy tính là gì? Cho biết các ứng dụng của đồ họa máy tính?  Khái niệm ĐHMT - Đồ họa máy tính là tất cả những gì liên quan đến việc sử dụng máy tính để phát sinh ra hình ảnh. Các vấn đề liên quan tới công việc này bao gồm : tạo, lưu trữ, thao tác trên các mô hình (các mô tả hình học của đối tượng) và các ảnh. - Đồ họa máy tính bao gồm việc thiết kế phần cứng như thiết bị hiển thị, các thuật toán cần thiết để phát sinh các đƣờng trên các thiết bị này, các phần mềm đƣợc sử dụng cho cả ngƣời lập trình hệ thống và người lập trình ứng dụng đồ họa, và các chƣơng trình ứng dụng tạo ảnh bằng máy tính. - Đồ họa máy tính tƣơng tác là một trong những phƣơng tiện mang lại thêm nhiều sự thuận lợi cho ngƣời dùng trong việc phát sinh hình ảnh kể từ khi có phát minh của máy ảnh và truyền hình.  Các ứng dụng của đồ họa máy tính  Hỗ trợ thiết kế (CAD/CAM) CAD: Computer Aided Design, CAM: Computer Aided Manufacture - Đồ họa máy tính đƣợc ứng dụng trong việc thiết kế các thành phần và hệ thống cơ khí, điện, các thiết bị điện tử, xây dựng, hệ thống cáp quang, mạng điện thoại, thiết kế các mạch điện tử…Những phần liên quan đến thiết kế và vẽ đƣợc thực hiện trực tiếp trên màn hình nhờ những công cụ trợ giúp đồ họa..  Xây dựng giao diện ngƣời dùng (User Interface) - Mọi ứng dụng đều phải có giao diện giao tiếp với ngƣời dùng. Các ứng dụng dựa trên hệ điều hành MS Windows là một minh họa rất trực quan của giao diện đồ họa. Các chức năng của các ứng dụng này đƣợc thiết kế cho ngƣời dùng làm việc thông qua các biểu tƣợng mô tả chức năng đó. - Các ứng dụng có giao diện đồ họa còn cho phép ngƣời dùng khả năng làm việc dễ dàng với nhiều cửa sổ với nhiều dạng tài liệu khác nhau cùng một lúc.  Biểu diễn thông tin - Đây là các ứng dụng sử dụng đồ họa máy tính để phát sinh các biểu đồ, đồ thị,… dùng minh họa mối quan hệ giữa nhiều đối tƣợng với nhau. Các ứng dụng này thƣờng đƣợc dùng để tóm lƣợc các dữ liệu về tài chính, thống kê, kinh tế, khoa học, toán học, … giúp cho việc nghiên cứu, quản lí, … một cách có hiệu quả.  Tự động hoá văn phòng và chế bản điện tử - Có thể tạo ra các văn bản điện tử và các văn bản sao chép cứng nhƣ tài liệu, biểu, các hình vẽ, hình ảnh.  Lĩnh vực giải trí, nghệ thuật. 1
  2. + Sản xuất phim hoạt hình và tạo các hiệu ứng đặc biệt. + Trò chơi máy tính. + Duyệt Web  Ứng dụng trong tự động hóa và điều khiển - Những hệ thống phức tạp nhƣ nhà máy điện, hệ thống điều khiển không lƣu cần phải có sự theo dõi giám sát cẩn thận. Thông thƣờng phải bố trí ít nhất một nhân viên giám sát để canh chừng những sự cố có thể xảy ra. Họ đƣợc cung cấp thông tin hiện tại của hệ thống trên màn hình trạng thái dƣới dạng dễ hiểu và dễ nắm bắt nhất. Quá trình đo đạc trong hệ thống đƣợc tiến hành liên tục và dữ liệu đƣợc gửi đến trạm giám sát, ở đó nó đƣợc chuyển đổi thành biểu diễn đồ họa và hiển thị trên màn hình.  Mô phỏng - Trong số các đối tƣợng đƣợc thể hiện trực quan bằng đồ họa, có một số đối tƣợng tồn tại trong thực tế và có thể tiến hành đo đạc theo thời gian thực. Trong khi đó một số đối tƣợng chƣa bao giờ đƣợc xây dựng trong thực tế mà chỉ tồn tại dƣới dạng phƣơng trình hay thuật toán trong máy tính. Tuy vậy chúng vẫn có thể đƣợc kiểm tra vận hành nhƣ thể chúng tồn tại thực sự. Đồ họa máy tính có khả năng hiển thị những đối tƣợng này nhƣ thể chúng tồn tại, trong khi chúng chỉ là các mô hình đƣợc mô tả bên trong máy tính.  Lĩnh vực bản đồ (Cartography) - Đồ họa máy tính đƣợc sử dụng để đƣa ra sơ đồ vị trí địa lý và các hiện tƣợng tự nhiên một cách chính xác từ những số liệu đo đạc đƣợc. Ví dụ nhƣ bản đồ địa lý, bản đồ thời tiết, bản đồ mật độ dân số, bản đồ khai thác cho khoan và khao thác mỏ, bản đồ hải dƣơng học…  Giáo dục và đào tạo - Có thể dùng đồ họa để nghiên cứu các thực thể trìu tƣợng, mô phỏng cấu trúc của vật thể, tiến trình của các phản ứng hóa học trong chất lỏng, của hạt nhân, hệ thống sinh lý, hoạt động của các gói tin trên mạng máy tính…đƣợc dùng rất nhiều trong việc hỗ trợ giảng dạy. Trong đào tạo, các ứng dụng mô phỏng đƣợc dùng để kiểm tra trình độ ngƣời lái, huấn luyện phi công, điều khiển giao thông…  Hình ảnh hóa số liệu khoa học: - Số liệu khoa học thƣờng rất phức tạp, quan hệ giữa các đại lƣợng thực nghiệm thƣờng rất khó hình dung. Đồ họa máy tính cung cấp một công cụ tuyệt vời để thể hiện thông tin khoa học dƣới dạng dễ tƣởng tƣợng và dễ nắm bắt nhất. Câu 2: Trình bày hệ hiển thị thiết bị dạng Raster và Vecto?.  Phương thức hiển thị Raster - Tia điện tử quét ngang trên màn hình từ trái qua phải, khi quét hết một dòng ngang, tia điện tử đƣợc dập tắt và lái hồi về đầu dòng tiếp. 2
  3. - Mỗi điểm ảnh trên màn hình đƣợc gọi là pixel. - Ảnh hiển thị theo công nghệ Raster là các đƣờng raster nằm ngang, mỗi đƣờng là một hàng gồm nhiều pixel. Hệ hiển thị Raster lƣu trữ dƣới dạng ma trận các điểm ảnh biểu diễn toàn bộ màn hình. - Sự bật tắt các điểm sáng trên màn hình phụ thuộc vào cƣờng độ của tia điện tử và đây chính là cơ sở của việc tạo ra hình ảnh trên màn hình. - Ưu điểm: Nguyên lý hoạt động tƣơng tự nhƣ tivi, hình ảnh tạo ra tƣơng đối tốt. - Nhược điểm: xảy ra hiệu ứng bậc thang. Phương pháp để tạo ra các pixel - Phương pháp dùng phần mềm để vẽ trực tiếp từng pixel một. - Dựa trên các lý thuyết mô phỏng để xây dựng nên hình ảnh mô phỏng của sự vật. - Phương pháp rời rạc hoá (số hoá) hình ảnh thực của đối tượng. - Có thể sửa đổi hoặc xử lý mảng các pixel thu được theo những phương pháp khác nhau để thu được hình ảnh đặc trưng của đối tượng.  Phương thức hiển thị vector - Quét vector theo tọa độ các điểm đầu và cuối vector. Ngƣời ta sử dụng các cuộn lái tia để quét thành các đoạn thẳng và nhƣ thế để vẽ đƣợc một đối tƣợng đồ họa ngƣời ta phải phân tích đối tƣợng thành các đoạn thẳng cơ sở và lần lƣợt vẽ chúng. - Chỉ di chuyển một số lần cần thiết để tạo ra hình ảnh. Khi đang ở giữa hai điểm mút của đoạn thẳng định vẽ thì chùm tia không bao giờ bị tắt. - Ưu điểm: + Thích hợp cho việc hiển thị các đối tƣợng hình học + Không bị hiệu ứng bậc thang + Tốn ít bộ nhớ - Nhƣợc điểm: + Với các ảnh phức tạp, cần thời gian vẽ lớn. - Một số loại thiết bị là “máy” vẽ đƣờng thẳng. Ví dụ máy vẽ (pen plotter). Nó di chuyển bút vẽ đến một vị trí nào đó đƣợc chỉ định bởi máy tính, đặt bút xuống, sau đó kéo bút đến một vị trí khác, để lại vết mực với màu sắc nào đó. 3
  4. - Ngoài ra cũng có loại màn hình đƣợc gọi là màn hình “vector” hay màn hình “random -scan”. Loại màn hình này có mạch điện tử đƣợc thiết kế để quét chùm tia điện tử từ điểm này đến điểm khác trên bề mặt của ống tia âm cực, và để lại vệt sáng. Câu 3. Trình bày hệ tọa độ thế giới thực, hệ tọa độ thiết bị, hệ tọa độ chuẩn?  Hệ toạ độ thế giới thực (WCS: World Coordinate System) - WCS hay hệ toạ độ thực là hệ toạ độ đƣợc dùng mô tả các đối tƣợng trong thế giới thực. - Một trong hệ toạ độ thực đƣợc dùng nhiều nhất là hệ toạ độ Descartes. Bất kì điểm nào trong mặt phẳng đƣợc mô tả bằng cặp toạ độ (x,y) trong đó x,y ốc toạ độ là điểm O có toạ độ (0,0), Ox,Oy lần lƣợt là trục hoành và trục tung và x,y là hoành độ và tung độ. - Các toạ độ thế giới thực cho phép ngƣời sử dụng bất kì một thứ nguyên (dimension) qui ƣớc: foot, cm, nm, km, inch....tuỳ ý.  Hệ toạ độ thiết bị (DCS: Device Coordinate System) - Hệ toạ độ thiết bị là hệ toạ độ đƣợc dùng bởi một thiết bị xuất cụ thể nào đó như máy in, màn hình... - Các điểm đƣợc biểu diễn bởi cặp toạ độ (x,y), nhƣng x,y N. Điểm trong toạ độ thực đƣợc định nghĩa liên tục, còn trong toạ độ thiết bị thì rời rạc do tính chất của tập các số tự nhiên. - Các toạ độ (x,y) có giới hạn trong một khoảng nào đó. Khoảng giới hạn các tọa độ x, y là khac nhau đối với từng thiết bị khác nhau.  Hệ tọa độ thiết bị chuẩn (Normalized device coordinates) - Do cách định nghĩa các hệ tọa độ thiết bị khác nhau nên một hình ảnh hiển thị đƣợc trên thiết bị này là chính xác thì chƣa chắc hiển thị chính xác trên thíết bị khác. - Ngƣời ta xây dựng một hệ tọa độ thiết bị chuẩn đại diện chung cho tất cả các thiết bị để có thể mô tả các hình ảnh mà không phụ thuộc vào bất kỳ thiết bị nào. 4
  5. - Trong hệ tọa độ chuẩn, các tọa độ x, y sẽ đƣợc gán các giá trị trong đoạn từ [0,1]. Nhƣ vậy, vùng không gian của hệ tọa độ chuẩn chính là hình vuông đơn vị có góc trái dƣới (0, 0) và góc phải trên là (1, 1). - Quá trình mô tả các đối tƣợng thực nhƣ sau: Câu 4. Trình bày nguyên lý chung vẽ đoạn thẳng ?  Nguyên lý chung Đầu vào: cho 2 điểm đầu mút (x1,y1) (x2,y2), màu vẽ C. Phương trình đƣờng thẳng đi qua 2 điểm đầu mút: (x-x1)/(y-y1) = (x2-x1)/(y2-y1) => Y=(y2-y1)*(x-x1)/(x2-x1)+y1 Đặt m= (y2-y1)/(x2-x1) b= y1-mx1 ta có phƣơng trình y=mx+b m đƣợc gọi là độ dốc hay hệ số góc của đƣờng thẳng, b đƣợc gọi là đoạn chắn trên trục y. - Từ phƣơng trình này chúng ta có thể xây dựng quá trình vẽ các đƣờng thẳng khi cho x biến thiên các khoảng x và kết quả ta có thể thu đƣợc giá trị của y thay đổi với các khoảng y tƣơng ứng y=m x. - Hoặc có thể làm ngƣợc lại cho y biến thiên từng khoảng y và kết quả ta có thể thu đƣợc giá trị của x thay đổi các khoảng x tƣơng ứng x= y/m - Đơn vị nhỏ nhất của màn hình là một điểm ảnh nên thông thƣờng chọn x= 1 ( x= -1) hoặc y= 1 ( y= -1). - Nguyên lý chung là cho một thành phần tọa độ x hay nguyên biến đổi theo từng đơn vị và tính tọa độ nguyên còn lại sao cho gần với tọa độ thực nhất. Câu 5. Trình bày thuật toán DDA vẽ đoạn thẳng ? - Để đơn giản hóa giải thuật, chúng ta chỉ xét các đƣờng thẳng có hệ số góc m trong khoảng [0,1] và Dx>0. Mỗi bƣớc nhẩy của x trong mỗi lần tính tƣơng đƣơng một điểm ảnh. 5
  6. Như vậy tại bước i+1: = +1 Và tọa độ y tƣơng ứng 1= +m Vì m là số thực nên để thu đƣợc nguyên buộc ta phải làm tròn y trƣớc khi đƣa tọa độ truy xuất lên màn hình. - Với đƣờng thẳng có hệ số góc m>1, ta có thể cho x biến đổi theo y nghĩa là ở đây y đóng vai trò tăng và x đƣợc tính theo tƣơng ứng: = +1, = +1/m. Và chúng ta có thể tính tƣơng tự cho các trƣờng hợp còn lại. - Nhận xét: Độ chính xác của thuật toán cao, đoạn thẳng vẽ đƣợc thể hiện rất gần với đoạn thẳng thực tế. Tuy nhiên tốc độ tính toán chậm do phải thƣờng xuyên làm việc với các phép toán cộng số thực và làm tròn. Câu 6. Trình bày thuật toán Breshenham vẽ đoạn thẳng? - Đây là một phƣơng pháp có hiệu quả chỉ sử dụng cộng trừ các số nguyên và phép nhân. Thực tế cho thấy rằng, máy tính có thể biểu diễn phép cộng trừ các số nguyên một cách nhanh chóng, giải quyết đƣợc về mặt thời gian khi biểu diễn các phép nhân, chia cho lũy thừa của 2 vì chỉ phải sử dụng các phép dịch bit. - Xét đoạn thẳng có hệ số góc m [0,1] Dx>0 Lúc này bằng cách cho x tăng một đơn vị tại mỗi bƣớc, ta sẽ tìm cách tính y để vẽ các pixel tƣơng ứng. Giả sử ở bƣớc thứ k ta đã xác định các tọa độ nguyên (xk, yk) nhƣ vậy chúng ta cần xác định tọa độ ( , ) cho bƣớc kế tiếp Theo công thức ta có: = +1 6
  7. Giá trị của có thể đƣợc chọn bởi một trong 2 giá trị yk hoặc yk+1. Điểm đƣợc chọn là điểm gần với y thực nhất. Xét khoảng cách d1, d2 từ y thực đến yk và đến yk+1 Gọi (xk+1,y) là điểm thuộc đoạn thẳng, ta có y=m(xk+1)+b d1 = y - yk = m(xk +1) + b - yk . d2 = yk+1 - y = yk + 1 - m(xk + 1) - b - Nếu d1 < d2 => yk+1 = yk - Ngƣợc lại d1 >= d2 => yk+1 = yk +1 d1 - d2= 2m(xk + 1) - 2yk + 2b - 1 m=(y2-y1)/(x2-x1) Nếu xác định đƣợc dấu của d1-d2 thì sẽ biết đƣợc điểm ảnh nào gần với đoạn thẳng hơn. Xác định tham số quyết định Pk cùng dấu với d1-d2. Đặt Pk = (x2-x1) (d1 - d2) Do Dx>0 nên Pk cùng dấu với d1-d2 Pk = (x2-x1)[(2(y2-y1)(xk +1)+(x2-x1)(- 2yk +2b-1)]/(x2-x1) =2(y2-y1)xk-2(x2-x1)yk+c Trong đó c là hằng số đối với đoạn thẳng và c=2(y2-y1)+(x2-x1)(2b-1) Pk+1 =2(y2-y1)xk+1-2(x2-x1)yk+1+c Pk+1 tại bƣớc thứ k+1 đƣợc tính tăng dần bằng cách sử dụng giá trị Pk tại bƣớc thứ k nhƣ sau : +) Pk=d2 chọn yk+1=yk+1 7
  8. Pk+1 =2(y2-y1)(xk+1)-2(x2-x1)(yk+1)+c = Pk +2(y2-y1)-2(x2-x1) Tính giá trị P1 khởi tạo : P1=2(y2-y1)x1-2(x2-x1)y1+2(y2-y1)+(2b-1)(x2-x1) Do (x1, y1) là điểm nguyên thuộc đoạn thẳng nên ta có y1=mx1+b = (Dy/Dx)*x1 + b. Thế vào phƣơng trình trên ta suy ra : P1=2(y2-y1)- (x2-x1) Câu 7. Thuật toán trung điểm vẽ đoạn thẳng (MidPoint) Xét đoạn thẳng có hệ số góc thuộc [0,1]. Dx>0 Tại mỗi bƣớc x tăng lên một đơn vị, y giữ nguyên hoặc tăng lên một đơn vị, chọn giá trị y gần với đƣờng thẳng nhất. Thuật toán MidPoint đƣa ra cách chọn yi+1 là yi hay yi+1 bằng cách so sánh điểm thực Q(xi+1, y) với điểm MidPoint là trung điểm của S và P. Ta có: + Nếu điểm Q nằm dƣới điểm MidPoint, ta chọn S. + Ngƣợc lại nếu điểm Q nằm trên điểm MidPoint ta chọn P. Ta có dạng tổng quát của phƣơng trình đƣờng thẳng: F(x,y)=Ax+By+C=0 A=y2-y1, B= -(x2-x1), C=x2y1-x1y2 F(x,y)=0 với mọi điểm (x,y) thuộc đƣờng thẳng F(x,y)>0 với các điểm (x,y) nằm phía dƣới đƣờng thẳng F(x,y)
  9. Lúc này việc chọn các điểm S, P ở trên đƣợc đƣa về việc xét dấu của pi=2F(M)=2F(xi+1, yi+0.5)= 2A(xi+1)+2B(yi+0.5)+C M là trung điểm của PS + Nếu pi < 0 điểm M nằm phía trên đoạn thẳng. Lúc này điểm thực Q nằm dƣới điểm M nên ta chọn S tức là yi+1=yi Pi+1=2F(xi+1+1, yi+1+0.5)=2F(xi+2, yi+0.5)= 2A(xi+2)+2B(yi+0.5)+C = pi+2A = pi+2Dy + Nếu pi>=0, điểm M nằm phía dƣới đoạn thẳng. Lúc này điểm thực Q nằm phía trên điểm M nên ta chọn P tức là yi+1=yi+1 Pi+1=2F(xi+1+1, yi+1+0.5)=2F(xi+2, yi+1.5)= 2A(xi+2)+2B(yi+1.5)+C = pi+2A+2B=pi + 2Dy-2Dx Ta tính giá trị p1 ứng với điểm ban đầu (x1, y1), với nhận xét rằng (x1, y1) là điểm thuộc về đoạn thẳng, tức là ta có Ax1+By1+C=0. P1=2F(x1+1, y1+0.5)= 2A(x1+1)+2B(y1+0.5)+C = 2(Ax1+By1+C)+ 2A+B =2A+B= 2Dy-Dx Câu 8. Trình bày nguyên lý chung vẽ đường tròn? Trong hệ tọa độ Descartes, phƣơng trình đƣờng tròn bán kính R có dạng: Với tâm O(0,0) : + = Với tâm C(xc, yc): (x-xc)2+ (y-yc)2=R2 Trong hệ tọa độ cực : x = xc + R.cosθ, y=yc + R.sinθ với θ [0, 2π]. Do tính đối xứng của đƣờng tròn C nên ta chỉ cần vẽ 1/8 cung tròn, sau đó lấy đối xứng qua 2 trục tọa độ và 2 đƣờng phân giác thì ta vẽ đƣợc cả đƣờng tròn. Với đƣờng tròn tâm (xc, yc) ta có thể vẽ đƣờng tròn tâm (0,0) sau đó tịnh tiến theo vecto (xc, yc). Cho x = 0, 1, 2, ..., int(R x sqrt(2)/2) với R>1. - Tại mỗi giá trị x, tính int(y = sqrt(R2-x2)). 9
  10. - Vẽ điểm (x,y) cùng 7 điểm đối xứng của nó. Một cách tiếp cận khác là vẽ các điểm (R cos (θ), R sin (θ)), với θ chạy từ 00 đến 900. Cách này sẽ khắc phục hạn chế đƣờng không liền nét của thuật toán trên, tuy nhiên điểm hạn chế chính của thuật toán này đó là chọn bƣớc nhảy cho θ nhƣ thế nào cho phù hợp khi bán kính thay đổi. Câu 9. Thuật toán trung điểm (MidPoint) vẽ đƣờng tròn Xét đƣờng tròn tâm tại gốc tọa độ, bán kính R. Xét cung 1/8 đƣờng tròn C(1/8), sau đó lấy đối xứng. Nhƣ vậy nếu có (x, y) thuộc (C1/8) thì các điểm : (y, x), (y,-x), (x,-y), (-x,-y), (y,-x), (-y,x), (-x,y) sẽ thuộc (C). Chọn điểm bắt đầu để vẽ là điểm (0,R). Dựa vào hình vẽ, nếu (xi, yi) là điểm nguyên đã tìm đƣợc ở bƣớc thứ i, thì (xi+1, yi+1) ở bƣớc thứ (i+1) là sự lựa chọn giữa S và P. Nhƣ vậy: xi+1 =xi+1 yi+1 ϵ {yi, yi-1} Tƣơng tự nhƣ thuật toán MidPoint vẽ đoạn thẳng, việc quyết định chọn một trong hai điểm S và P sẽ đƣợc thực hiện thông qua việc xét dấu của một hàm nào đó tại điểm MidPoint là điểm nằm giữa chúng. Đặt F(x,y)=x2+y2-R2, ta có F(x,y) 0 nếu (x,y) nằm ngoài đƣờng tròn Gọi M là trung điểm PS Xét pi=F(M)=F(xi+1, yi-0.5)= (xi+1)2+ (yi-0.5)2-R2 10
  11. pi+1=F(xi+1+1, yi+1-0.5)= (xi+1+1)2+ (yi+1-0.5)2- R2 Ta có : + Nếu pi=0, điểm M nằm ngoài đƣờng tròn. Lúc này điểm thực Q gần P hơn nên ta chọn P, tức là yi+1=yi-1 pi+1=F(xi+2, yi - 1.5)= (xi+2)2+ (yi-1.5)2-R2 = pi+ 2xi-2yi+5 Tính giá trị p1 ứng với điểm ban đầu (x1, y1) = (0, R) P1=F(1, R-0.5)= 5/4 –R Câu 10. Trình bày nguyên lý thuật toán trung điểm vẽ đường elip?  Nguyên lý chung Cho elip tâm (h, k), độ dài trục chính là a, độ dài trục phụ là b Phƣơng trình đƣờng elip đƣợc xác định nhƣ sau : (x-h)2/a2+(y-k)2/b2=1. Phƣơng trình elip với tâm tại gốc tọa độ x2/b2+y2/b2=1 Elip đƣợc chia thành 4 phần đối xứng qua 2 trục tọa độ, do vậy ta chỉ cần vẽ cung ¼ elip sau đó thực hiện lấy đối xứng để thu đƣợc các phần còn lại. Để vẽ elip tâm (h,k) ta có thể thực hiện vẽ elip tâm tại gốc tọa độ sau đó tịnh tiến theo véc tơ (h,k). Tại mỗi bƣớc ta cho x tăng từ 0 đến a sau đó tính giá trị y tƣơng ứng qua biểu thức trên, sau đó lấy giá trị nguyên gần với giá trị y thực nhất.  Thuật toán trung điểm (MidPoint) vẽ elip Xét elip tâm tại gốc tọa độ. Phƣơng trình đƣờng elip: F(x,y)=b2x2+a2y2−a2b2=0 Xét vẽ cung ¼ elip, sau đó lấy đối xứng để thu đƣợc các phần còn lại 0
  12. Chia cung ¼ elip này thành 2 vùng với điểm chia P là tiếp điểm của tiếp tuyến có hệ số góc là -1. Véc tơ gradient vuông góc với tiếp tuyến tại tiếp điểm đƣợc xác định nhƣ sau: GradF(x,y) = (∂F/∂x)i+(∂F/∂y)j=2b2x.i+2a2y.j Ta có tiếp tuyến với cung tròn (độ dốc) = -1 Vector gradient có độ dốc là 1, do đó tại P các thành phần i và j của vecto gradient có cùng độ lớn. Trong vùng 1 thành phần j lớn hơn thành phần i của gradient. a2(yp-0.5)>b2(xp+1). Trong vùng 2 thì ngƣợc lại. + Xét trên phần 1: Bắt đầu từ (0,b), Tại mỗi bƣớc x tăng lên một đơn vị, y biến đổi theo x bƣớc thứ i (xi,yi), Ở bƣớc i+1 chọn tiếp A(xi+1, yi) hoặc B(xi+1,yi-1). Chọn điểm gần với đƣờng elip nhất dựa trên việc xét dấu của hàm F tại trung điểm M của AB. Tham số quyết định: pi =F(M)= F(xi+1,yi-1/2) = b2(xi+1)2 + a2(yi-1/2)2 -a2b2 pi+1 = F(xi+1+1,yi+1-1/2) = b2 (xi+1+1)2 + a2 (yi+1-1/2)2 - a2b2 - Nếu pi =0 chọn B: xi+1=xi+1 yi+1=yi -1 pi+1 = b2(xi+2)2 + a2(yi-1.5)2 -a2b2 = pi + b2(2xi +3) + a2(-2yi +2) - Tính P1 khởi tạo tại (0,b): p1 = F(1,b-1/2) = b2 + a2(b-1/2)2 -a2b2 = b2 - a2b +a2/4 + Xét trên phần 2: Ta lấy toạ độ của Pixel sau cùng trong phần 1 của đƣờng cong để tính giá trị ban đầu cho phần 2. Tại mỗi bƣớc y giảm từng đơn vị, x biến đổi theo y. Tại bƣớc j ta có điểm (xj,yj). Pixel ở bƣớc kế tiếp j+1 có thể là: C(xj,yj-1) hoặc D(xj+1, yj-1 12
  13. Tham số quyết định: qj =F(M)= F(xj+1/2,yj-1) = b2(xj+1/2)2 + a2(yj-1)2 -a2b2 qj+1 = F(xj+1 +1+1/2, yj+1 -1) = b2(xj+1+1/2)2 + a2(yj+1-1)2 -a2b2 - Nếu qj =0 chọn C: yj+1 =yj-1, xj+1 = xj qj+1 = b2(xj+1+1/2)2 + a2(yj+1-1)2 -a2b2 = b2(xj+1/2)2 + a2(yj-2)2 -a2b2 = qj + a2(- 2yj+3) - Tính q1 khởi tạo q1 = f(xp+1/2,yp -1) = b2(xp+1/2)2 + a2(yp-1)2 -a2b2 Câu 11. Định nghĩa đa giác, cho biết cách vẽ một đa giác?  Khái niệm đa giác Đa giác là thành phần cơ bản nhất của bề mặt. Việc biểu diễn đa giác có thể thông qua tập các đƣờng thẳng hay tập các điểm thuộc đa giác. Một đa giác là một đƣờng gấp khúc có điểm đầu và điểm cuối trùng nhau.  Xây dựng cấu trúc dữ liệu để vẽ đa giác Type d_dinh = record x,y: longint; end; dinh = array[0..10] of d_dinh; var d: dinh; Với cách xây dựng cấu trúc dữ liệu nhƣ thế này thì chúng ta chỉ cần nhập vào tọa độ các đỉnh và sau đó gọi thủ tục vẽ đƣờng thẳng lần lƣợt qua 2 đỉnh nhƣ (0, 1), (1,2), ..., (n-1, n), trong đó đỉnh n trùng với đỉnh 0 thì ta sẽ vẽ đƣợc toàn bộ đa giác. Câu 12. Trình bày thuật toán tô màu dựa theo dòng quét? Giả sử vùng tô đƣợc cho bởi một đa giác N đỉnh : Pi(xi, yi),i=0,…,N-1. Đa giác này có thể là đa giác lồi, đa giác lõm, và cả đa giác tự cắt, … Ta có thể tóm bắt các bƣớc chính của thuật toán : - Tìm ytop, ybottom lần lƣợt là giá trị lớn nhất, nhỏ nhất của tập các tung độ của các đỉnh của đa giác đã cho: 13
  14. ytop= max{yi,(xi,yi) ϵ P}, ybottom= min{yi, (xi, yi)ϵP} - Ứng với mỗi dòng quét y=k, với k thay đổi từ ybottom đến ytop lặp : + Tìm tất cả các hoành độ giao điểm của dòng quét y=k với các cạnh của đa giác. + Sắp xếp các hoành độ giao điểm theo thứ tự tăng dần : x0, x1, … + Tô màu các đoạn thẳng trên đƣờng thẳng y=k lần lƣợt đƣợc giới hạn bởi các cặp (x0,x1), (x2, x3), …. Nếu chỉ dừng ở mức này và chuyển sang cài đặt, chúng ta sẽ gặp một số vấn đề sau : + Nhận xét rằng, ứng với mỗi dòng quét, không phải lúc nào tất cả các cạnh của đa giác cũng tham gia cắt dòng quét. + Việc tìm giao điểm của cạnh đa giác với mỗi dòng quét sẽ gặp các phép toán phức tạp nhƣ nhân, chia, … trên số thực nếu ta dùng cách giải hệ phƣơng trình tìm giao điểm. + Nếu số giao điểm tìm đƣợc giữa các cạnh đa giác và dòng quét là lẻ thì việc nhóm từng cặp giao điểm kế tiếp nhau để hình thành các đoạn tô có thể sẽ không chính xác.. Nếu tính số giao điểm tại đỉnh dòng quét đi ngang qua là hai thì có thể sẽ cho kết quả tô không chính xác. Ngoài ra, việc tìm giao điểm của dòng quét với các cạnh nằm ngang là một trƣờng hợp đặc biệt cần phải có cách xử lí thích hợp. Câu 13. Trình bày thuật toán tô màu theo đường biên? Đường biên của vùng tô đƣợc xác định bởi tập các đỉnh của một đa giác, đƣờng biên trong thuật toán đƣợc mô tả bằng một giá trị duy nhất đó là màu của tất cả các điểm thuộc về đƣờng biên. Bắt đầu từ điểm nằm bên trong vùng tô, ta sẽ kiểm tra các điểm lân cận của nó đã đƣợc tô màu hay có phải là điểm biên hay không, nếu không phải là điểm đã tô và không phải là điểm biên ta sẽ tô màu nó. Quá trình này đƣợc lặp lại cho tới khi nào không còn tô đƣợc điểm nào nữa thì dừng. Có hai quan điểm về cách tô này, đó là dùng bốn điểm lân cận hay tám điểm lân cận đối với điểm đang xét đƣợc tô bằng màu trắng Hình 2.25: 4 điểm lân cận (a) và 8 điểm lân cận (b) 14
  15. Nhận xét + Thuật toán này có thể sẽ không hoạt động chính xác khi có một số điểm nằm trong vùng tô có màu là màu cần tô của vùng (FillColor). (không kt đc 1 điểm đã tô hay chưa) + Gây tràn bộ nhớ nếu ảnh lớn. Câu 14. Trình bày các mô hình màu RGB, CMY, CMYK?  Mô hình màu RGB (Red, Green, Blue - đỏ, lục, lam) - Mô hình không gian màu RGB đƣợc sắp xếp theo khối lập phƣơng đơn vị. Đƣờng chéo chính của khối lập phƣơng với sự cân bằng về số lƣợng từng màu gốc tƣơng ứng với các mức độ xám với đen là (0,0,0) và trắng (1,1,1). - Tọa độ trên các cạnh trục biểu diễn các màu cơ sở. - Các cạnh còn lại biểu diễn màu bù cho mỗi màu cơ sở. Đây là mô hình màu cộng tính C = rR + gG + bB Trong đó C = màu hoặc ánh sáng kết quả. (r,g,b) = toạ độ màu trong miền [0 1], (R,G,B) = các màu cơ bản đỏ, lục và lam. Nếu hai màu tạo ra cùng một giá trị kích thích thì chúng ta không thể phân biệt đƣợc hai màu. Không gian màu RGB dựa theo chuẩn ITU-R BT.709, với gama = 2.2 và điểm trắng của mô hình là 6500 degrees K. Một số thuận lợi khi dùng không gian RGB : + Không gian RGB là chuẩn công nghiệp cho các thao tác đồ họa máy tính. 15
  16. + Có thể chuyển đổi qua lại giữa không gian RGB với các không gian màu khác nhƣ CIE, CMY, HSL, HSV, ... + Các thao tác tính toán trên không gian RGB thƣờng đơn giản hơn. Một số bất lợi : + Các giá trị RGB của một màu là khác nhau đối với các màn hình khác nhau : các giá trị RGB của màu tim trên màn hình màu này sẽ không sinh ra đúng màu đó trên một màn hình khác. + Sự mô tả các màu trong thế giới thực đối với không gian RGB còn nhiều hạn chế bởi vì không gian RGB không hoàn toàn phù hợp với sự cảm nhận màu sắc của con ngƣời.  Mô hình màu CMY (Cyan, Magenta, Yellow - xanh tím, Đỏ tƣơi, vàng) 3 màu cơ sở là Cyan, Magenta, Yellow đây là 3 màu bù của 3 màu Red, Green, Blue. Đây là mô hình màu bù (Subtractive color models) hiển thị ánh sáng và màu sắc phản xạ từ mực in. Bổ xung thêm mực đồng nghĩa với ánh sáng phản xạ càng ít. Khi bề mặt không phủ mực thì ánh sáng phản xạ là ánh sáng trắng - white. Khi 3 màu có cùng giá trị cho ra màu xám. Khi các giá trị đạt max cho màu đen. Color = cC + mM + yY Ta có Red +Cyan = Black ; Green +Magenta = Black ; Blue + Yellow = Black Đây là mô hình màu trừ tính. - Hệ màu CMY được dùng cho các thiết bị in màu/giấy, chẳng hạn như máy in tĩnh điện hoặc máy in phun. 16
  17.  Mô hình màu CMY- K Mô hình mở rộng của CMY ứng dụng trong máy in màu. Giá trị đen bổ xung vào thay thế cho hàm lƣợng màu bằng nhau của 3 màu cơ bản. Công thức chuyển đổi: K = min(C, M, Y) ; C=C-K; M = M - K; Y=Y-K; C-Cyan, M-Magenta, Y-Yellow; K-blacK Câu 15. Trình bày các mô hình màu HSV, HLS?  Mô hình màu HSV (Hue, Saturation,Value) Yếu tố cảm nhận màu sắc: - Hue - sắc màu: dùng để phân biệt sự khác nhau giữa các màu nhƣ xanh, đỏ, vàng... - Saturation - độ bão hoà: chỉ ra mức độ thuần của một màu hay khoảng cách của màu tới điểm có cƣờng độ cân bằng(màu xám) - Lightness - độ sáng: hiện thân về mô tả cƣờng độ sáng từ ánh sáng phản xạ nhận đƣợc từ đối tƣợng. - Brightness - độ phát sáng: cƣờng độ ánh sáng mà tự đối tƣợng phát ra chứ không phải do phản xạ từ các nguồn sáng khác. - HSV (Hue, Saturation, Value)=HSB(Hue, Saturation, Brightness) định hƣớng ngƣời sử dụng dựa trên cơ sở về trực giác về tông màu, sắc độ và sắc thái mỹ thuật Hue: màu sắc 00-3600 đo bởi góc quay xung quanh trục đứng với màu đỏ là 00, màu lục là 1200, màu lam là 2400. Các màu bổ sung cho hình chóp ở 1800 đối diện với màu khác. Value-Brightness:(độ sáng) 0-1 đƣờng cao V với đỉnh là các điểm gốc toạ độ (0,0). Điểm ở đỉnh là màu đen và giá trị V=0. Khi điểm có S=0 và V=1 là điểm màu trắng, những giá trị trung gian của V đối với S=0 là các màu xám. Khi S=0 giá trị của H phụ thuộc đƣợc gọi bởi các qui ƣớc không xác định. Ngƣợc lại khi S khác 0 giá trị H sẽ là phụ thuộc. Saturation: Độ bão hoà 0-1, giá trị của S là tập các giá trị từ 0 trên đƣờng trục tâm (trục V) đến 1 trên các mặt bên tại đỉnh của chóp 6 cạnh. 17
  18.  Một số thuận lợi của không gian HSV : + Không gian HSV dễ dàng đáp ứng các màu sắc của các chƣơng trình đồ họa do đƣợc xây dựng dựa trên sự bắt chƣớc luật trộn màu của ngƣời họa sĩ. + Do không cần sử dụng các phép biến đổi lƣợng giác khi muốn chuyển sang không gian RGB nên không gian HSV có nhiều thuận lợi về mặt tính toán hơn so với không gian HSL.  Một số bất lợi : + Cần có các phép hiệu chỉnh gamma.  Mô hình màu HLS (Hue, Lightness, Saturation Model) – không gian màu trực quan Mô hình thƣờng đƣợc sử dụng trong kỹ thuật đồ hoạ. Ưu điểm là rất trực giác ví dụ ta có thể chọn màu, thay đổi độ sáng và thay đổi độ bão hoà. Nhược điểm là khi chuyển đổi với không gian màu RGB sẽ có sai số (cube stood on end) thay đổi trên các loại màn hình khác nhau, rõ ràng không cảm nhận đều các màu. 18
  19. Có thể coi mô hình HLS nhƣ một sự biến dạng của mô hình HLS mà trong đó mô hình này màu trắng đƣợc kéo hƣớng lên hình chóp sáu cạnh phía trên từ mặt V=1. Độ sáng (Lightness)=0 cho màu đen (tại điểm mút thấp nhất của hình chóp sáu cạnh đôi) và bằng 1 cho màu trắng (tại đầu mút cao nhất).  Một số thuận lợi của không gian HSL : + Không gian HSL gần với sự cảm nhận các thuộc tính màu sắc của con ngƣời hơn không gian RGB. Các màu đƣợc xác định dễ dàng hơn. + Việc kiểm soát các màu cơ sở HSL dễ hơn cho những ngƣời mới làm quen với các chƣơng trình đồ họa.  Một số bất lợi : + Việc thêm vào một vector không thể thực hiện đơn giản nhƣ không gian RGB (chỉ thêm vào các thành phần màu). Các thao tác lƣợng giác khi biến đổi sẽ ảnh hƣởng đáng kể đến tốc độ của chƣơng trình. + Cần phải qua hiệu chỉnh gamma trƣớc khi hiển thị (giống nhƣ các không gian khác). Câu 16. Cho biết các vị trí tương đối của một đoạn thẳng và một cửa sổ xén hình chữ nhật cho trước? Cho biết cách xác định giao điểm trong trường hợp đoạn thẳng cắt cửa sổ?  Các vị trí tương đối của một đoạn thẳng và một cửa sổ xén hình chữ nhật cho trước. Giả sử cửa sổ xén là cửa sổ hình chữ nhật có tọa độ của các điểm dƣới bên trái và điểm trên bên phải lần lƣợt là (xmin, ymin), (xmax, ymax) Cho đoạn thẳng đi qua 2 điểm đầu mút (x1, y1), (x2, y2). Đoạn thẳng sẽ thuộc vào một trong 3 trƣờng hợp sau: 19
  20.  Trƣờng hợp 1: Nhìn thấy Đoạn thẳng nằm hoàn toàn trong cửa sổ xén. Tọa độ 2 đầu mút nằm hoàn toàn trong cửa sổ xén. Đoạn thẳng sẽ đƣợc hiển thị toàn bộ trong vùng dữ liệu hiển thị.  Trƣờng hợp 2: Không nhìn thấy Đoạn thẳng nằm hoàn toàn về một phía ngoài của cửa sổ. 2 đầu mút của đoạn thẳng nằm hoàn toàn về một phía ngoài của cửa sổ thỏa mãn một trong 4 bất đẳng thức sau: x1, x2> xmax x1, x2< xmin y1,y2>ymax y1, y2
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2