Bài giảng Đồ họa máy tính
Tóm tắt Bài giảng Đồ họa máy tính: ...point không còn đúng nữa, vì không chính xác. Bài 4 Cài đặt giải thuật vẽ elip có tâm là gốc tọa độ, bán kính trục chính, trục phụ là a, b. Gợi ý: Dựa trên cơ sở giải thuật Midpoint cho vẽ đường tròn, nhưng vẽ cho cung ¼ rồi lấy đối xứng. Bài 5 Cài đặt thuật toán tô màu đường biên cho đối ...ng điểm. Đầu tiên, việc kiểm tra các đoạn một lần nửa được thực hiện bằng cách dùng mã vùng. Bất kỳ đoạn nào không được chấp nhận hoàn toàn hoặc không bị huỷ bỏ hoàn toàn (nhờ vào kiểm tra mã vùng) thì sẽ được đi tìm giao điểm bằng cách kiểm tra tọa độ trung điểm. Tiếp cận này được minh họa ...mặt z=0 của hệ tọa độ bàn tay trái. Chúng ta giả sử rằng mặt phẳng chiếu là mặt z = 0 của hệ tọa độ bàn tay trái. Phép chiếu song song bảo tồn mối quan hệ về chiều của các đối tượng, và đây là kỹ thuật được dùng trong việc phác thảo để tạo ra các bức vẽ tỷ lệ của các đối tượng ba chiều. Phươ...
a các hình ảnh thực là sự xác định và xóa bỏ các phần của đối tượng hình học mà ta không nhìn thấy được từ một vị trí quan sát. Có nhiều tiếp cận chúng ta cần để giải quyết vấn đề này, và cũng có nhiều thuật toán khác nhau đã và đang được phát triển để xóa bỏ các phần bị che khuất một cách hiệu quả cho những loại ứng dụng khác nhau. Có phương pháp tốn bộ nhớ, một số khác cần nhiều thời gian xử lý hay chỉ áp dụng được cho những kiểu đối tượng đặc biệt. Các thuật toán về đường khuất và mặt khuất dựa vào xử lý trực tiếp định nghĩa đối tượng hay xử lý hình chiếu của các đối tượng đó. Hai tiếp cận này được gọi là các phương pháp không gian đối tượng và các phương pháp không gian ảnh. Phương pháp không gian đối tượng xác định các thành phần của đối tượng được nhìn thấy bằng cách sử dụng các quan hệ hình học và không gian. Nó thực hiện với độ chính xác từ dữ liệu mô tả đối tượng. Trong thuật toán không gian ảnh, tính chất nhìn thấy được của một điểm được quyết định bởi điểm ở vị trí pixel trên mặt phẳng chiếu. Hầu hết các thuật toán khử mặt khuất dùng phương pháp không gian ảnh, tuy nhiên các phương pháp không gian đối tượng vẫn có thể được dùng một cách hiệu quả cho một số trường hợp. Các thuật toán khử đường khuất hầu hết dùng phương pháp không gian đối tượng, dù rằng nhiều thuật toán khử mặt khuất không gian ảnh có thể dễ dàng được chỉnh sửa cho việc khử đường khuất. Trong chương này, chúng ta khảo sát một vài trong số các phương pháp phổ biến để xóa bỏ các đường khuất và mặt khuất. 6.3.1 Phương pháp mặt sau Một phương pháp không gian đối tượng đơn giản là phương pháp mặt sau, dựa vào các phương trình mặt phẳng: Ax + By + Cz + D = 0 (6-9) Bất kỳ điểm (x’, y’, z’) trên hệ tọa độ bàn tay trái sẽ ở “phía trong” mặt này nếu nó thỏa bất phương trình: Ax’ + By’ + Cz’ + D < 0 (6-10) Nếu điểm (x’, y’, z’) là vị trí quan sát, khi đó bất kỳ mặt phẳng nào làm cho bất phương trình 6-10 đúng phải là một mặt ở đằng sau. Tức là, nó là mặt ta không thể nhìn thấy từ vị trí quan sát. Hình 6.9 Một mặt phẳng với tham số C < 0 trong hệ quan 40 sát bàn tay phải được xác định như mặt ở đằng sau khi hướng quan sát cùng chiều với trục z âm. Chúng ta có thể thực hiện một cách kiểm tra mặt đằng sau đơn giản hơn bằng cách nhìn ở vector pháp tuyến của mặt có phương trình 7-1, vector này có tọa độ Descartes (A, B, C). Trong hệ tọa độ bàn tay phải với hướng quan sát cùng chiều với trục z âm (xem hình 6.9), vector có tham số C song song với hướng quan sát. Nếu C<0, vector chỉ ra xa khỏi vị trí quan sát, và mặt phải là mặt ở đằng sau. Các tham số A, B, C, và D có thể được tính từ tọa độ các đỉnh được xét theo chiều kim đồng hồ (thay vì hướng ngược chiều kim đồng hồ được dùng trong hệ tọa độ bàn tay phải). Bất phương trình 6-10 sau đó cho một kiểm tra hợp lệ đối với các điểm nằm phía trong. Cũng như vậy, các mặt ở đằng sau có các vector chỉ ra xa khỏi vị trí quan sát và được xác định bởi C>0 khi hướng quan sát cùng hướng với trục z dương. Trong tất cả các thảo luận sau này trong chương, chúng ta giả sử rằng hệ quan sát bàn tay trái được dùng. Hình 6.10 Trong hệ quan sát bàn tay trái, khi hướng quan sát cùng chiều với trục zv dương, một mặt ở đằng sau là mặt với tham số C>0. Bằng việc kiểm tra tham số C ở mỗi mặt của đối tượng, ta có thể xác định được ngay tất cả các mặt ở đằng sau. Đối với một khối đa diện lồi đơn lẻ, như hình kim tự tháp trong hình 6.10, việc kiểm tra này xác định tất cả các mặt bị che khuất trên đối tượng, bởi vì mỗi mặt thì là hoàn toàn được nhìn thấy hoặc hoàn toàn bị che khuất. Đối với các đối tượng khác, các kiểm tra phức tạp hơn cần được thực hiện để xác định xem các mặt là bị che khuất hoàn toàn hay chỉ bị che khuất một phần. Hình 6.11 Ảnh một đối tượng với một mặt bị che khuất một phần Tương tự, chúng ta cần xác định xem các đối tượng là có một phần hay toàn bộ bị che khuất bởi các đối tượng khác. Một cách tổng quát, việc khử mặt khuất sẽ loại bỏ khoảng một nữa số mặt trong một ảnh khi thực hiện các phép kiểm tra tính nhìn thấy được sau này. 6.3.2 Phương pháp vùng đệm độ sâu Một tiếp cận không gian ảnh được dùng phổ biến để khử mặt khuất là phương pháp vùng đệm độ sâu. Một cách cơ bản, thuật toán này kiểm tra tính nhìn thấy được của các mặt mỗi lần một điểm. Với mỗi vị trí pixel (x,y) trên mặt phẳng quan sát, mặt nào có giá trị tọa độ z nhỏ nhất ở vị trí pixel đó thì nhìn thấy được. Hình 6.4 trình bày ba mặt có độ sâu khác nhau, với sự quan tâm đến vị trí (x, y) trong hệ quan sát bàn tay trái. Mặt S1 có giá trị z nhỏ nhất ở vị trí này vì vậy giá trị độ sáng ở (x, y) được lưu. 41 Hai vùng đệm được cần để cài đặt phương pháp này. Một vùng đệm độ sâu được dùng để lưu trữ các giá trị z cho mỗi vị trí (x, y) của các mặt được so sánh. Vùng đệm thứ hai là vùng đệm làm tươi (hay còn gọi là vùng đệm khung), lưu giữ các giá trị độ sáng cho mỗi vị trí (x, y). Phương pháp này có thể được thực hiện hiệu quả trong các hệ tọa độ chuẩn, với các giá trị độ sâu thay đổi từ 0 đến 1. Giả sử rằng một không gian chiếu được ánh xạ vào một không gian quan sát hình hộp chuẩn, ánh xạ của mỗi mặt lên mặt phẳng quan sát là một phép chiếu trực giao. Độ sâu của các điểm trên bề mặt của một đa giác được tính từ phương trình mặt phẳng. Ban đầu, tất cả các vị trí trong vùng đệm độ sâu được đặt giá trị 1 (độ sâu lớn nhất), và vùng đệm làm tươi được khởi tạo giá trị của độ sáng nền. Mỗi mặt (đã được lập danh sách trong các bảng đa giác sau đó được xử lý. Mỗi lần một đường quét tính độ sâu, hoặc giá trị z, ở mỗi vị trí (x, y). Giá trị z vừa được tính xong sẽ được so sánh với các giá trị lưu trữ trước đó trong vùng đệm độ sâu ở vị trí đó. Nếu giá trị z vừa được tính xong nhỏ hơn các giá trị trước đó, giá trị z mới sẽ được lưu, và độ sáng của mặt ở vị trí đó cũng được cập nhật lại vào vị trí tương ứng trong vùng đệm làm tươi. Hình 6.12 Ở vị trí (x, y), mặt S1 có giá độ sâu nhỏ nhất và vì thế được nhìn thấy ở ví trí đó Chúng ta có thể tổng kết các bước của thuật toán vùng đệm độ sâu như sau: 1. Khởi tạo vùng đệm độ sâu và vùng đệm làm tươi để với tất cả các vị trí (x,y), depth(x, y) =1 và refresh(x, y) = background. 2. Đối với mỗi vị trí trên mỗi mặt, so sánh các giá trị độ sâu với các giá trị độ sâu được lưu trước đó trong vùng đệm độ sâu để xác định tính chất nhìn thấy được. a. Tính giá trị z cho mỗi vị trí (x, y) trên mặt. b. Nếu z < depth(x, y) thì đặt lại depth(x, y)= z và refresh(x, y) = i , với i là giá trị độ sáng trên mặt ở vị trí (x, y). Trong bước cuối cùng, nếu z không nhỏ hơn giá trị trong vùng đệm độ sâu ở vị trí đó, điểm không được nhìn thấy. Khi quá trình này được hoàn thành cho tất cả các mặt, vùng đệm độ sâu chứa các giá trị z của các mặt nhìn thấy được và vùng đệm làm tươi chỉ chứa các giá trị độ sáng của các mặt nhìn thấy được đó. Các giá trị độ sâu cho một vị trí (x, y) được tính từ phương trình của mỗi mặt: (6-11) Với mỗi đường quét bất kỳ (xem hình 6.5), các tọa độ x trên cùng đường quét sai khác nhau 1, và các giá trị y giữa hai đường quét cũng sai khác nhau 1. Nếu độ sâu của vị trí (x,y) được xác định là z, khi đó độ sâu z’ của vị trí kế tiếp (x+1, y) dọc theo theo đường quét có được từ phương trình C DByAx z )( 42 6.4 như sau: Với mỗi đường quét bất kỳ, các tọa độ x trên cùng đường quét sai khác nhau 1, và các giá trị y giữa hai đường quét cũng sai khác nhau 1. Nếu độ sâu của vị trí (x,y) được xác định là z, khi đó độ sâu z’ của vị trí kế tiếp (x+1, y) dọc theo theo đường quét có được như sau: hình 6.13 hoặc C A zz' (6-12) Tỷ số A/C không đổi với mỗi mặt, vì vậy giá trị độ sâu của điểm kế tiếp trên cùng đường quét có được từ giá trị trước đó với một phép trừ. Chúng ta thu được các giá trị độ sâu giữa các đường quét theo cách tương tự. Một lần nữa giả sử rằng vị trí (x, y) có độ sâu z. Khi đó ở vị trí (x, y-1) trên đường quét ngay bên dưới, giá trị độ sâu được tính từ phương trình mặt phẳng như sau: hoặc C B z'z' (6-13) Độ sâu z được cộng thêm tỷ số B/C. Phương pháp vùng đệm độ sâu thì dễ dàng để cài đặt, và nó không cần sắp xếp các mặt trong ảnh. Nhưng nó cần đến một vùng đệm thứ hai đó là vùng đệm làm tươi. Một hệ thống với độ phân giải 1024 x 1024 có thể cần hơn một triệu vị trí trong vùng đệm độ sâu, với mỗi vị trí cần đủ bit để lưu giữ các tọa độ z tăng. Một cách để giảm bớt không gian lưu giữ cần thiết là tại mỗi thời điểm chỉ xử một phần của ảnh, dùng một vùng độ sâu nhỏ hơn. Sau mỗi phần ảnh được xử lý xong, vùng đệm được dùng lại cho phần kế tiếp. 6.3.3 Phương pháp phân chia vùng Kỹ thuật khử mặt khuất này thì hiệu quả cho phương pháp không gian ảnh, nhưng các phương pháp không gian đối tượng có thể được dùng để thực hiện việc sắp xếp các mặt theo độ sâu. Phương pháp phân chia vùng tận dụng các thuận lợi của các vùng cố kết trong ảnh bằng cách xác định các vùng quan sát này để tách chúng làm nhiều phần nhỏ, mỗi phần được xem như một mặt đơn lẻ. Chúng ta áp dụng phương pháp này bằng cách phân chia thành công toàn bộ vùng quan sát thành các hình chữ nhật càng lúc càng nhỏ cho đến khi mỗi vùng nhỏ là hình chiếu của một phần của một mặt đơn lẻ nhìn thấy được, hoặc cho đến khi không thể tiếp tục phân chia. Hình 6.14 Các phần chia được thực hiện thành công với phép chia 2. Để thực hiện phương pháp này, ta cần xây dựng các phép kiểm tra để xác định nhanh chóng vùng là một phần của một mặt đơn lẻ hoặc cho ta biết vùng thì quá phức tạp để phân tích bình thường. Bắt đầu với cái nhìn tổng thể, ta áp dụng các phép kiểm tra để xác định xem có nên phân chia toàn bộ vùng thành các hình chữ nhật nhỏ hơn không. Nếu các phép kiểm tra chỉ ra rằng mặt quan sát đủ phức tạp, ta phân chia nó. Kế tiếp, chúng ta áp dụng các phép kiểm tra đến mỗi vùng nhỏ hơn, chia nhỏ những vùng này nếu các phép kiểm tra xác định rằng tính nhìn thấy được của một mặt đơn là vẫn chưa chắc chắn. Chúng ta tiếp tục quá trình này đến khi các phần phân chia là dễ dàng được phân tích như là một mặt đơn lẻ hoặc đến C DBy1)A(x z' )( C D)1)B(yAx( 'z' 43 khi chúng được thu giảm kích thước thành một pixel. Một cách để phân chia một vùng thành công là chia kích thước nó ra làm 2, như trong hình 6.6. Một vùng quan sát với độ phân giải 1024x1024 có thể được chia 10 lần trước khi một phần chia giảm thành 1 điểm. Các phép kiểm tra để xác định tính nhìn thấy được của một mặt đơn trong phạm vi vùng chỉ định được thực hiện bằng cách so sánh các mặt với biên của vùng. Có bốn khả năng có thể xảy ra khi xem xét mối quan hệ giữa một mặt với biên vùng chỉ định. Ta có thể mô tả đặc điểm của các quan hệ này theo các cách sau như hình dưới đây. Hình 6.15 Các quan hệ có thể xảy ra giữa các mặt đa giác và một vùng chữ nhật. Mặt bao quanh là mặt hoàn toàn bao quanh một vùng. Mặt nằm chồng là mặt có một phần nằm trong và một phần nằm ngoài vùng. Mặt bên trong là mặt hoàn toàn nằm bên trong vùng. Mặt bên ngoài là mặt hoàn toàn nằm bên ngoài vùng. Các phép kiểm tra để xác định tính nhìn thấy được của mặt trong phạm vị một vùng có thể được đề cập giới hạn trong bốn loại này. Không có sự phân chia nào thêm nữa cho một vùng nếu một trong các điều kiện sau là đúng: 1. Tất cả các mặt nằm bên ngoài vùng. 2. Chỉ một mặt bên trong, mặt nằm chồng hoặc mặt bao quanh ở trong vùng. 3. Một mặt bao quanh che khuất tất cả các mặt khác trong phạm vi các biên của vùng. Kiểm tra 1 có thể được thực hiện bằng cách kiểm tra các biên chữ nhật bao quanh các mặt với biên của vùng. Kiểm tra 2 cũng có thể dùng các biên chữ nhật trong mặt xy để xác định mặt nằm trong. Với những kiểu mặt khác, các biên chữ nhật có thể được dùng như một bước kiểm tra ban đầu. Nếu một biên chữ nhật cắt vùng theo cách nào đó, các kiểm tra tiếp theo mới được thực hiện để xác định xem mặt là: mặt bao quanh, mặt nằm chồng, hay mặt bên ngoài. Nếu được xác định là mặt bên trong, mặt nằm chồng, hay mặt bao quanh, các giá trị độ sáng của nó được chuyển đến vùng thích hợp trong vùng đệm khung. Hình 6.16 Một mặt bao quanh với độ sâu lớn nhất của zmax (xét trong vùng quan sát) che khuất tất cả các mặt mà độ 44 sâu nhỏ nhất xmin của chúng lớn hơn zmax. Một phương pháp để thực hiện bước 3 là sắp xếp các mặt dựa theo độ sâu nhỏ nhất của chúng. Sau đó, với mỗi mặt bao quanh, ta đi tính giá trị z lớn nhất trong vùng được xem xét. Nếu giá trị lớn nhất z của một mặt nào (trong số các mặt mặt bao quanh) nhỏ hơn giá trị z nhỏ nhất của các mặt còn lại trong vùng, kiểm tra 3 thỏa mãn không. Một phương pháp khác để thực hiện kiểm tra 3 mà không cần đến sắp xếp độ sâu là dùng các phương trình mặt phẳng để tính các giá trị z ở bốn đỉnh của vùng cho tất cả các mặt bao quanh, mặt nằm chồng, hay mặt bên trong. Nếu các giá trị z của một trong số các mặt bao quanh mà nhỏ hơn các giá trị z của các mặt còn lại, kiểm tra 3 đúng. Sau đó vùng có thể được tô với các giá trị độ sáng của mặt bao quanh.Trong vài trường hợp, cả hai phương pháp cho kiểm tra 3 trên sẽ thất bại để xác định đúng một mặt bao quanh che khuất tất cả các mặt còn lại khác. Việc kiểm tra thêm nữa sẽ được thực hiện để xác định mặt đơn che phủ vùng, tuy nhiên, thuật toán sẽ nhanh hơn nếu ta phân chia vùng hơn là tiếp tục làm các kiểm tra phức tạp. Khi các mặt bên ngoài và mặt bao quanh vừa được xác định cho một vùng, chúng nó sẽ còn lại các mặt bên ngoài và bao quanh cho tất cả các phần phân chia của vùng. Hơn nữa, vài mặt bên trong và mặt nằm chồng có thể đang chờ để bị loại bỏ khi quá trình phân chia tiếp tục, để các vùng trở nên dễ dàng hơn cho phân tích. Trong trường hợp đã đi đến giới hạn, kích thước vùng chia chỉ còn là 1 pixel, ta đơn giản đi tính độ sâu của mỗi mặt có liên quan ở điểm đó và chuyển giá trị độ sáng của mặt gần nhất vào vùng đệm khung. Hình 6.17 Vùng A được phân chia thành A1 và A2 bằng cách dùng biên của mặt S trên mặt phẳng chiếu. Như một thay đổi lên quá trình phân chia cơ bản, ta có thể phân chia các vùng dọc theo biên của mặt thay vì chia chúng làm 2. Nếu các mặt vừa được sắp theo độ sâu nhỏ nhất, ta có thể dùng mặt có giá trị z nhỏ nhất để phân chia một vùng được cho. Hình 6.17 minh họa phương pháp này để phân chia các vùng. Hình chiếu của biên mặt S được dùng để phân chia vùng ban đầu thành các phần A1 và A2. Mặt S sau đó trở thành mặt bao quanh của A1 và các phép kiểm tra 2 và 3 có thể được áp dụng để xác định xem việc phân chia thêm nữa có cần thiết không. Trong trường hợp tổng quát, sự phân chia ít hơn được cần dùng tiếp cận này, tuy nhiên nhiều xử lý thêm nữa sẽ được cần để chia vùng và phân tích mối liên hệ giữa các mặt với các biên vùng chia. 6.4 Bài tập áp dụng Bài 1 Viết chương trình vẽ đường cong Bezier. Bài 2 Viết chương trình vẽ mặt lưới B – Spline. Bài 3 Viết chương trình vẽ phối cảnh hình khối cầu, lăng trụ.. . 45 Gợi ý: Sử dụng thư viện đồ họa Direct X hoặc OpenGL. TÀI LIỆU THAM KHẢO - Đặng Văn Đức. Kỹ thuật đồ họa máy tính. Viện Công nghệ thông tin. 2002. - Donald Hearn, M. Pauline Baker, Computer Graphics, Prentice-Hall Inc., Englewood Cliffs, New Jersey, 1986. - F.S.Hill, Computer graphics, 1990 ĐỀ THI THAM KHẢO Các đề thi có thời gian làm bài 60 phút Đề số 1 Câu 1 Cho 3 điểm A, B, C có tọa độ lần lượt là A(0, 40); B(-37, 125); C(40, -81). Hãy tìm tọa độ mới của các điểm trên qua biến đổi: a. Phép biến đổi tỷ lệ với hệ số tỷ lệ theo trục hoành là 3, trục tung là 2. b. Phép quay góc 60o , ngược chiều kim đồng hồ quanh gốc tọa độ. Câu 2 Hãy tìm các hệ số p và tọa độ các điểm sẽ nảy sinh của đoạn thẳng được vẽ theo giải thuật bresenham, nếu biết đoạn thẳng đi qua hai điểm là A(5, 10) và B(15, 15). Đề số 2 Câu 1 Cho hệ 3 điểm A, B, C có tọa độ lần lượt là A(43, 0); B(25, -67); C(-40, -34). Hãy tìm tọa độ mới của các điểm trên qua biến đổi: a. Phép tịnh tiến với hệ số tịnh tiến theo trục hoành là 44, trục tung là -81. b. Phép đối xứng qua trục tung. c. Tìm ma trận biến đổi của 2 phép tịnh tiến và phép đối xứng trên. Câu 2 Hãy tìm các hệ số p và tọa độ các điểm sẽ nảy sinh của đoạn thẳng được vẽ theo giải thuật midpoint, nếu biết đoạn thẳng đi qua hai điểm là A(0, 13) và B(10, 7). Đề số 3 Câu 1 Cho 3 điểm A, B, C có tọa độ lần lượt là A(43, 0); B(25, -67); C(-40, -34). Hãy tìm tọa độ mới của các điểm trên qua biến đổi: a. Phép biến dạng với hệ số biến dạng theo trục hoành là 4, trục tung là 3. b. Phép quay góc 45o , ngược chiều kim đồng hồ quanh gốc tọa độ. Câu 2 Hãy tìm hệ số p và tọa độ của 10 điểm sẽ nảy sinh đầu tiên của cung 1/8 đường tròn được vẽ theo giải thuật midpoint, nếu biết đường tròn có tâm (10, -25) và bán kính 90. Đề số 4 Câu 1 Cho 3 điểm A, B, C có tọa độ lần lượt là A(0, 0); B(67, -46); C(-9, 22). Hãy tìm tọa độ mới của các điểm trên qua biến đổi: a. Phép đối xứng qua trục hoành. b. Phép biến đổi tỷ lệ với hệ số tỷ lệ theo trục hoành là 2, trục tung là 1. c. Tìm ma trận biến đổi của 2 phép đối xứng và phép biến đổi tỷ lệ trên. 46 Câu 2 Hãy tìm hệ số p và tọa độ của 32 điểm sẽ nảy sinh đầu tiên của đường tròn được vẽ theo giải thuật midpoint, nếu biết đường tròn có tâm (-30, -12) và bán kính 60. Đề số 5 Câu 1 Cho 3 điểm A, B, C có tọa độ lần lượt là A(0, 1, 18); B(7, -16, 9); C(-9, 12, 4). Hãy tìm tọa độ mới của các điểm trên qua biến đổi: a. Phép biến dạng theo trục z, hệ số biến dạng tác động lên hoành độ là 3, lên tung độ là 2. b. Tìm ma trận biến đổi của phép đối xứng qua đường y = x. Câu 2 Cho cửa sổ giới hạn bởi điểm trên trái có tọa độ (10, 76) và điểm dưới phải có tọa độ (60, 24). Áp dụng giải thuật Cohen-Sutherland thực hiện cắt xén các đoạn thẳng sau với biên cửa sổ: √ Đoạn thẳng AB: A(4, 35); A(50, 80) √ Đoạn thẳng CD: C(47, 29); D(55, 3) √ Đoạn thẳng EF: E(-10, 29); F(0, 3) Đề số 6 Câu 1 Cho 3 điểm A, B, C có tọa độ lần lượt là A(1, -6, -18); B(16, 7, -9); C(0, 4, -3). Hãy tìm tọa độ mới của các điểm trên qua biến đổi: a. Phép biến đổi tỷ lệ, hệ số biến đổi theo trục x là 1, trục y là 3, trục z là 2. b. Tìm ma trận biến đổi của phép đối xứng qua đường y = -x. Câu 2 Cho cửa sổ giới hạn bởi điểm trên trái có tọa độ (4, 50) và điểm dưới phải có tọa độ (60, - 30). Áp dụng giải thuật Cohen-Sutherland thực hiện cắt xén các đoạn thẳng sau với biên cửa sổ: √ Đoạn thẳng AB: A(24, 0); B(40, 90) √ Đoạn thẳng CD: C(38, -35); D(55, 0) √ Đoạn thẳng EF: E(-10, 29); F(0, 3) Đề số 7 Câu 1 Cho 3 điểm A, B, C có tọa độ lần lượt là A(0, 1, 18); B(7, -16, 9); C(-9, 12, 4). Hãy tìm tọa độ mới của các điểm trên qua biến đổi: a. Phép tịnh tiến, hệ số tịnh tiến theo trục x là 10, trục y là -15, trục z là 30. b. Tìm ma trận biến đổi của phép đối xứng qua đường y = x. Câu 2 Cho cửa sổ ở hệ tọa độ thực giới hạn bởi điểm trên trái có tọa độ (10, 76) và điểm dưới phải có tọa độ (60, 24); cửa sổ quan sát giới hạn bởi điểm trên trái có tọa độ (-15, 15) và điểm dưới phải có tọa độ (-10, 24). Cho tam giác ABC xác định trong hệ tọa độ như sau: A(14, 35); B(50, 29); C(47, 39). Tìm tọa độ mới của tam giác trong cửa sổ quan sát. Đề số 8 Câu 1 Cho 3 điểm A, B, C có tọa độ lần lượt là A(-1, -6, 8); B(6, 0, -39); C(4, 0, -2). Hãy tìm tọa độ mới của các điểm trên qua biến đổi: a. Phép biến đổi tỷ lệ, hệ số biến đổi theo trục x là 2, trục y là 3, trục z là 1. b. Tìm ma trận biến đổi của phép đối xứng qua đường y = -x. 47 Câu 2 Cho cửa sổ ở hệ tọa độ thực giới hạn bởi điểm trên trái có tọa độ (20, 80) và điểm dưới phải có tọa độ (50, 34); cửa sổ quan sát giới hạn bởi điểm trên trái có tọa độ (-15, 20) và điểm dưới phải có tọa độ (-12, 25). Cho tam giác ABC xác định trong hệ tọa độ như sau: A(14, 35); B(50, 29); C(47, 39). Tìm tọa độ mới của tam giác trong cửa sổ quan sát. ybx ii ]122)1( x y x[2
File đính kèm:
- bai_giang_do_hoa_may_tinh.pdf