Giáo trình Đồ họa máy tính: Các thuật toán cơ bản và ứng dụng

MỤC LỤC

Thiết bị sao chép cứng

Màn hình chỉ cho phép chúng ta quan sát những hình ảnh tạm thời, trong khi đó chúng ta thường muốn có một hình ảnh được in trên giấy hoặc film. Có nhiều loại thiết bị khác nhau được dùng để tạo ra bản sao chép cứng của hình ảnh. Tất cả các thiết bị này đều tạo hình ảnh bằng cách chuyển thông tin từ bộ đệm frame, lần lượt từ pixel đầu tiên đến pixel cuối cùng, ra thiết bị xuất. +) Máy in film (film recorder): trong máy in film, “màn hình” là chuỗi các khung hình film và chùm tia điện tử sẽ “rửa” những tấm film này khi nó quét qua chúng. Một số máy in film là các thiết bị độc lập có bộ đệm frame riêng, một số khác chỉ đơn giản là camera gắn trực tiếp lên màn CRT. Máy in film thường dùng để tạo ra film hoặc loại slide 35mm chất lượng cao. Là thiết bị quét dòng. +) Máy in nhiệt Hai loại máy in nhiệt. Sáp từ băng mực bị đốt nóng truyền sang giấy Đầu in đốt nóng giấy, giấy đổi màu. +) Máy in phun Là thiết bị quét dòng. Hiện nay rất nhiều loại máy in bên trong có trang bị một bộ vi xử lý được lập trình sẵn để thông dịch ngôn ngữ PostScript- ngôn ngữ mô tả trang in.

Các thiết bị nhập vật lý +) Chuột

Là thiết bị quét dòng. +) Máy in nhiệt Hai loại máy in nhiệt. Sáp từ băng mực bị đốt nóng truyền sang giấy Đầu in đốt nóng giấy, giấy đổi màu. +) Máy in phun Là thiết bị quét dòng. Đôi khi một menu được in trên bảng điện cho phép người sử dụng có thể chọn một mục bằng cách nhấn bút vẽ vào mục đó.

Video Ram (Bộ nhớ ảnh)

Giống như con chuột, bảng điện cung cấp dữ liệu nhập “định vị” và “chọn”. Bảng điện cung cấp một vùng làm việc cho phép người dùng có thể rê một chiếc bút trên đó. Đầu chiếc bút chứa một chuyển mạch nhỏ. Bằng cách nhấn vào nút ấn tương ứng trên chiếc bút, người sử dụng có thể kích hoạt những chức năng logic mong muốn. Bảng điện rất tiện lợi cho việc số hóa bản vẽ: Người dùng dán bản vẽ lên bề mặt của bảng điện và sau đó di chuyển bút vẽ dựa trên đường nét của bản vẽ, nhấn nút để gửi thông tin đến trạm làm việc. Đôi khi một menu được in trên bảng điện cho phép người sử dụng có thể chọn một mục bằng cách nhấn bút vẽ vào mục đó. Phần mềm sẽ ánh xạ mỗi mục được in trên bảng điện với chức năng nào đó trong chương trình. ảnh và lưu giá trị pixel vào trong bộ đệm. Phần điều khiển quét dòng phụ trách nhiệm vụ hiển thị. Nó vận hành một cách độc lập và thực hiện cùng một thao tác cho từng pixel. Bộ điều khiển quét dòng ra lệnh cho bộ điều khiển gửi từng pixel một đến một vị trí thích hợp trên màn hình thông qua bộ chuyển đổi. Bộ chuyển đổi nhận giá trị của pixel và chuyển nó thành đại lượng định tính tương ứng để tạo ra một điểm trên màn hình. Để đặc tả màu của điểm ảnh có 2 cách:. +) Xác định màu trên cơ sở Palette Đặc tả gián tiếp. Khi cần sử dụng một màu, ta chỉ cần chỉ định số thứ tự (index) tương ứng của màu đó trong LUT, số phần tử trong bảng LUT chính là số màu có thể được hiển thị cùng một lúc trên màn hình.

Hình 1.6 Song ánh giữa vùng đệm khung và màn hình
Hình 1.6 Song ánh giữa vùng đệm khung và màn hình

Phần mềm

Khi các công cụ được thiết kế với hàm đồ hoạ chuẩn, phần mềm có thể được di chuyển một cách dễ dàng từ hệ phần cứng này sang hệ phần cứng khác và được dùng trong nhiều cài đặt và ứng dụng khác nhau. VRML (Virtual Reality Modeling Language): ngôn ngữ thực tại ảo, một hướng phát triển trong công nghệ hiển thị được đề xuất bởi hãng Silicon Graphics, sau đó đã được chuẩn hóa như một chuẩn công nghiệp.

Các ứng dụng của đồ họa máy tính

Điểm thuận lợi chính khi dùng biểu tượng là kích thước không gian mà nó chiếm ít hơn nhiều so với dùng văn bản để mô tả cho cùng một chức năng, ngoài ra việc nắm bắt các chức năng qua các biểu tượng sẽ dễ dàng hơn rất nhiều khi người dùng gặp trở ngại về mặt ngôn ngữ. 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.

Hình 1.8 : Giao diện của chương trình MS Word - Biểu diễn thông tin
Hình 1.8 : Giao diện của chương trình MS Word - Biểu diễn thông tin

CÁC THUẬT TOÁN XÂY DỰNG CÁC THỰC THỂ CƠ SỞ

Thuật toán DDA (Digital DifferentialAnalyzer)

Để đơ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. Vì m là số thực nên để thu được yi+1 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.

Thuật toán vẽ đoạn thẳng Bresenham

Thuật toán Bresenham chỉ thao tác trên số nguyên và chỉ tính toán trên phép cộng và phép nhân 2 (phép dịch bit). Ý tưởng chính của thuật toán này là ở chỗ xét dấu Pi để quyết định điểm kế tiếp, và sử dụng công thức truy hồi Pi +1 - Pi để tính Pi bằng các phép toán đơn giản trên số nguyên.

Thuật toán trung điểm vẽ đoạn thẳng (MidPoint)

• Đa giác được gọi là lồi nếu bất kỳ đường thẳng nào đi qua một cạnh của đa giác thì toàn bộ đa giác nằm về một phía của đường thẳng đó. Ứng với từng phương trình đường thẳng, xét xem các đỉnh còn lại có nằm về một phía đối với đường thẳng đó hay không?.

Hỡnh 2.11 : Đa giỏc lồi và đa giỏc lừm.
Hỡnh 2.11 : Đa giỏc lồi và đa giỏc lừm.

Nguyên lý chung

Cách làm này không hiệu quả do gặp phải các phép toán nhân và lấy căn làm hạn chế tốc độ, ngoài ra đường tròn vẽ ra theo cách này có thể không liền nét (trừ trường hợp R lớn) khi x gần R (do chỉ có một giá trị y duy nhất cho một giá trị x). Chúng ta có thể khắc phục điều này bằng cách điều chỉnh đối tượng thay đổi là x (rồi tính y theo x) hay y (rồi tính x theo y) tùy vào giá trị tuyệt đối của hệ số góc đường tròn là lớn hơn hay nhỏ hơn 1, nhưng cách làm này đòi hỏi thêm các phép tính toán và kiểm tra nên làm cho thuật toán phức tạp thêm.

Thuật toán trung điểm (MidPoint) vẽ đường tròn

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. 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.

Thuật toán vẽ đường elip .1 Nguyên lý chung

    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. 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.

    Các thuật toán tô màu

      Khi cài đặt để khỏi phải xét điều kiện này cho phức tạp, khi xây dựng dữ liệu cho mỗi cạnh trước khi đưa vào ET, người ta sẽ xử lí các cạnh có đỉnh tính hai giao điểm bằng cách loại đi một pixel trên cùng của một trong hai cạnh như hình dưới. Khác với thuật toán tô màu dựa theo dòng quét, đườ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.

      Hình 2.25: Cạnh P i-1 P i  được lưu trong ET chỉ là P i-1 P i *
      Hình 2.25: Cạnh P i-1 P i được lưu trong ET chỉ là P i-1 P i *

      MÀU SẮC TRONG ĐỒ HỌA

      Lý thuyết màu sắc trong đồ họa

      Ánh sáng trắng hay dải sóng mà mắt người có thể cảm nhận được, sau khi phân tích qua lăng kính thành các phổ màu: tím, chàm, lam, lục, vàng, da cam, đỏ….Ánh sáng là sóng điện từ có bước sóng λ đi từ 400nm – 700nm. • Phổ điện từ đó có bước sóng từ 350 tới 780 nm và màu được đặc trưng bởi c(λ) Cảm nhận màu sắc của con người (Physiology - Sinh lý - Human Vision) Cấu tạo hệ quan sát của con người gồm 2 loại tế bào cảm thụ - sensors.

      Hình 3.1: Tần số, màu sắc và bước sóng của ánh sáng nhìn thấy.
      Hình 3.1: Tần số, màu sắc và bước sóng của ánh sáng nhìn thấy.

      Các mô hình màu

        Các thao tác màu sắc có thể được tính toán trên các không gian màu khác nhưng cuối cùng cần phải chuyển về không gian RGB để có thể hiển thị trên màn hình (do thiết kế của phần cứng dựa trên mô hình RGB). Như với mô hình chóp sáu cạnh đơn, phần bổ sung của màu sắc được đặt ở vị trí 1800 hơn là xung quanh hình chóp sáu cạnh đôi, sự bão hoà được đo xung quanh trục đứng, từ không trên trục tới 1 trên bề mặt.

        CÁC GIẢI THUẬT XÉN HÌNH

        • Cắt xén với cửa sổ xén là hình chữ nhật
          • Cắt xén với cửa sổ xén là đa giác lồi .1 Khái niệm

            Bằng cách đánh số từ 1 đến 4 theo thứ tự từ phải qua trái, các bit của mã vùng được dùng theo quy ước sau để chỉ một trong bốn vị trí tương đối của vùng so với cửa sổ bao gồm : trái, phải, trên, dưới. + Nếu c1, c2 không thuộc về hai trường hợp trên, đoạn thẳng có thể hoặc không cắt ngang cửa sổ chắc chắn sẽ tồn tại một điểm nằm ngoài cửa sổ, không mất tính tổng quát giả sử điểm đó là P1.Bằng cách xét mã vùng của P1 là c1 ta có thể xác định được các biên mà đoạn thẳng có thể cắt để từ đó chọn một biên và tiến hành tìm giao điểm P1’của đoạn thẳng với biên đó.

            Hình 4.4: mã vùng quy định vị trí tương đối của vùng so với cửa sổ.
            Hình 4.4: mã vùng quy định vị trí tương đối của vùng so với cửa sổ.