Please enable JavaScript.
Coggle requires JavaScript to display documents.
Đồ họa máy tính - Coggle Diagram
Đồ họa máy tính
Các thuật toán cắt xén (Clipping)
Khung nhìn trong 2D
Trong 2D, thế giới được định nghĩa là một mặt phẳng vô hạn, trong một hệ tọa độ nhất định.
Chúng ta cần lấy ra một vùng trong mặt phẳng 2D này để xem, thường được gọi là ‘cửa sổ.
Trong thiết bị hiển thị của chúng ta, cần phải xác định một vùng để hiển thị, thường được gọi là ‘viewport’, và sử dụng hệ tọa độ của thiết bị.
Cắt bỏ tất cả những vật thể nằm ngoài cửa sổ.
Tịnh tiến cho khớp với viewport.
Co giãn theo hệ tọa độ của thiết bị.
Clipping trong 2D
Cần phải cắt những đối tượng cơ bản theo các cạnh của cửa số.
Chấp nhận đơn giản
Hai đầu mút nằm trong cửa số → chấp nhận.
loại bỏ đơn giản
Hai đầu mút nằm ngoài và cùng phía → loại bỏ.
thuật toán Cohen-Sutherland
Phương pháp hiệu quả để chấp nhận hoặc loại bỏ những đoạn thẳng không cắt các cạnh của cửa sổ.
Gán mã 4 bit cho mỗi đầu mút: c(P) = x3x2x1x0
Bit 1: ở trên đỉnh của cửa sổ, y > ymax
Bit 2: ở phía dưới đáy, y < ymin
Bit 3 : bên phải của cạnh phải, x > xmax
Bit 4 : bên trái của cạnh trái, x < xmin
Mã 4-bit được gọi là: Outcode
Mã Cohen-Sutherland 2D
Nếu cả hai đầu có mã là 0000, chấp nhận, nếu không: Thực hiện phép AND logic 2 mã
Thực hiện AND logic mã của 2 đầu mút, Loại bỏ đoạn thẳng nếu khác không.
Giao đoạn thẳng
Cần xác định giao điểm của các đoạn thẳng với các cạnh của cửa sổ để tiến hành cắt các đoạn thẳng.
Chọn một cạnh cửa sổ bất kỳ, cắt các đoạn thẳng, thực hiện lại thuật toán CohenSutherland
Thuật toán Cyrus & Beck
Sử dụng phương trình tham số
Đường thẳng chứa đoạn cần xử lý sẽ cắt các đường thẳng chứa biên của cửa số ở đâu đó
Sử dụng phương trình tham số
Đường thẳng chứa đoạn cần xử lý sẽ cắt các đường thẳng chứa biên của cửa số ở đâu đó:
Tìm tất cả các giao điểm, kiểm tra xem nó có nằm trên cửa số hay không.
Xem xét véctơ pháp tuyến tại một điểm.
Dấu của mẫu số là quan trọng.
Phải khác 0 (bỏ qua những đoạn song song).
Phương trình tham số giúp thể hiện hướng.
Mẫu số < 0 → điểm vào khu vực cửa sổ.
Mẫu số > 0 → điểm ra khỏi khu vực cửa số.
Thuật toán Liang - Barsky
Phương trình tham số của đường thẳng nối (x1,y1) và (x2,y2)
(1) ck > 0, đt L đi từ phía trong ra phía ngoài của đường biên Bk khi t tăng, và chúng ta gọi tk là điểm ra.
(2) ck < 0, đt L đi từ phía ngoài vào phía trong của đường biên Bk khi t tăng và ta gọi tk là điểm vào.
(3) ck = 0, đt L song song với Bk, và ngoài cửa số nếu qk < 0
Loại bỏ đoạn thẳng nếu:
Một giá trị vào (t ứng với điểm vào) >1
Hoặc giá trị ra (t ứng với điểm ra) <0
Hoặc một giá trị vào > hơn giá trị ra
Nếu không đoạn thẳng sẽ giao với cửa sổ.
Đoạn giao chỉ khi t0>0 và t1<1
t0=max(0,max(các giá trị vào tk)
t1=min(1,min(các giá trị ra tk))
Clipping đa giác
Cắt đa giác bằng cách lần lượt sử dụng các cạnh của cửa sổ để cắt đa giác.
Thuật toán Sutherland - Hodgman
Có Bốn trường hợp cắt đa giác
Đi vòng quanh các điểm của đa giác, kiểm tra với cạnh đang dùng để cắt của cửa số.
Chạy thuật toán lại với đa giác mới vừa được tạo ra với cạnh tiếp theo của cửa sổ
Không cần lưu trữ nhiều
Dễ dàng cài đặt.
Clipping 3D
Mô hình hóa đối tượng
Vẽ kỹ thuật
Thể hiện khung dây
Biểu diễn các vật thể chỉ bằng
cạnh của chúng
Nhược điểm
Không cho phép người sử dụng hình dung toàn bộ chi tiết của vật thể
Ưu điểm
Đơn giản, nhanh chóng
Hình dung kết cấu bên trong mô
hình 3D
Thể hiện bề mặt thông qua đa giác
Dạng 3D cơ bản trong hầu hết các ứng dụng
Xử lý dễ và nhanh.
Một số ứng dụng có thể sử dụng các hình
khối khác
Rất phù hợp với thuật toán “dòng quét”
Các hình bốn cạnh cũng đơn giản và cũng
thường được dùng lẫn với tam giác
Xấp xỉ
Bất cứ mặt 2D hay hình khối 3D nào cũng có thẻ được xấp xỉ bởi các đa giác.
Lưu trữ đa giác
Dùng con trỏ đến danh sách
các điểm.
Phải tìm các đa giác nằm cạnh
nhau.
Các cạnh phải vẽ hai lần
Dùng con trỏ đến danh sách cạnh, các cạnh trỏ đến các điểm
Tam giác
Vẽ tam giác nhanh hơn
Quạt tam giác
Để thêm một tam giác mới, chỉ cần
thêm một đỉnh.
Chuỗi tam giác
Sử dụng các tam giác để thể hiện các vật đặc
Các tam giác thường xuất hiện theo chuỗi
Đa giác
Vẽ đa giác nhanh hơn
Với chuỗi tứ giác - 2 đỉnh mới cho một
tứ giác
Tạo lưới
Tách thành quạt tam giác
Giữ một đỉnh làm đỉnh chung
cho mọi tam giác
Dùng cách kiểm tra điểm nằm ở nửa mặt phẳng nào, có thể tách được không?
Kiểm tra xem mọi điểm có nằm ngoài tam giác ABC
không.
Nếu mọi điểm nằm ngoài tam giác lưu lại tam giác, bỏ đỉnh
đó và tiếp tục với đỉnh trái nhất tiếp theo.
Nếu có một đỉnh nằm trong, tạo nên một tam giác mới với điểm
nằm trong trái nhất.
Phân tách
So sánh các góc tạo bởi các vector pháp tuyến tại 2 đỉnh của đường chéo
So sánh diện tích
Để tạo ra các tam giác xấp xỉ tốt nhất
độ cong của bề mặt để đưa ra kq tạo bóng tốt
Tạo lưới cho hình cầu
Theo cái khối 8-20 mặt
Định nghĩa
Một đa giác là lồi nếu: với mọi cạnh, tất cả các đỉnh của đa giác nằm trên cùng nửa mặt phẳng tạo bởi cạnh đó
Tam giác luôn lồi
Đơn giản về mặt toán học – chỉ liên quan đến phương trình tuyến tính đơn giản.
Ba điểm đảm bảo nằm trên cùng mặt phẳng.
Bất cứ đa giác nào cũng có thể tách ra thành các tam giác
Các tam giác có thể dùng để xấp xỉ các hình khối.
Theo bất cứ chiều nào, một đường quét sẽ chỉ cắt tam giác một đoạn duy nhất.
Nếu không, đó là đa giác lõm.
Các đa giác lõm có thể rất khó xử lý.
Mô hình khối rắn
Nhập nhằng của thể hiện khung dây
Quét từ thiết bị chuyên dụng, hoặc từ lệnh vễ
khối rắn cơ sở
Liệt kê không gian bao phủ
-Phương pháp mô hình khối rắn xây dựng
Thuật toán quét đơn giản
Khi cần phải tô màu đa giác.
Cài đặt một thuật toán quét đơn giản.
Tìm các giao điểm của đường quét với đa giác
Các khái niệm đồ họa máy tính
Điểm ảnh
Điểm ảnh
Đơn vị cơ bản xây dựng nên một bức ảnh trên màn hình máy tính
Viết tắt của “picture element” – thành phần ảnh
Hình tròn, hình vuông, hay HCN
Độ phân giải màn hình
Các chế độ màu của màn hình
Mành và Vector
Ảnh mành >< Ảnh Vector
Đưa ra từ khái niệm mành trong các hệ thống TV là một hàng các điểm ảnh
Thường được biết đến là đường quét
Ảnh hưởng nhiều đến các thuật toán
yêu cầu giảm bộ nhớ
song song hóa
Quét mành đan xen
Tọa độ
Hàng
Cột
Hệ trục tọa độ
Hệ Đề-các
Hệ tọa độ cực
Chuyển từ 3D sang 2D qua phép chiếu bối cảnh
Điểm
Một vị trí trogn không gian
Đoạn thẳng
Nối hai điểm
Có mật độ không đổi
Bắt đầu và kết thúc tại điểm
Đỉnh
Đỉnh của đa giác
Cạnh
Nối 2 đỉnh
Mặt
Một đa giác bất kì
Đơn vị cơ bản của ĐHMT
Các luồng xử lý đồ họa
Các luồng xử lý đồ họa thường được thực
hiện tuần tự
Có hai luồng xử lý đồ họa
Luồng xử lý đồ họa 3D
Luồng xử lý đồ họa 2D
Mô hình khung lưới – Chiếu trực giao
Chiếu phối cảnh
Xét đến độ sâu
Loại bỏ đường ẩn – thêm màu sắc
Tạo bóng bất biến
Tạo bóng phẳng
Tạo bóng Gouraud, không có điểm phản chiếu
Có điểm phản chiếu
Tạo bóng Phong
Phủ chất liệu
Phản quang, bóng & Bump mapping
Các thuật toán Mành hóa
Các thuật toán tô phủ
Thuật toán tô phủ cơ bản
Thuật toán tô phủ của Smith
Thuật toán tô phủ của Fishkin
Định lý Jordan
Trường hợp đặc biệt
Cắt trùng lên cạnh
Cắt trùng lên đỉnh đa giác
Thuật toán đường quét
Kiểm tra Jordan tăng dần
Sắp xếp theo giá trị của y
Sử dụng sự liên kết giữa các đường quét – giá trị cho đường quét trước gần bằng giá trị cho đường quét sau
Lưu trữ danh sách các cạnh đang xét
Vẽ đường thẳng và đường tròn
Đường thẳng lí tưởng
Chúng ta chỉ có thể vẽ xấp xỉ đường thẳng một cách
rời rạc
Chiếu sáng các điểm gần nhất với đường thẳng thực tế trong trường hợp chỉ có hai cách thể hiện một điểm
Điểm được thắp sáng hoặc không thắp sáng
Trông phải thẳng và liên tục
Phải đi qua hai điểm đầu và cuối
Phải có mật độ và cường độ sáng đều
Thuật toán vẽ phải hiệu quả và có thể thực hiện
nhanh
Đường thẳng đơn giản
Thuật toán DDA
Vẫn còn sử dụng rất nhiều phép toán số thực
Liệu có cách nào đơn giản hơn không?
Có cách nào mà chúng ta chỉ cần dùng các phép toán số nguyên
Thuật toán Bresenham
Tránh làm các phép tính số thực => thay bằng các phép so sánh 2b, 4b, 6b, … với a, 3a, 5a, ..
Việc so sánh một số với 0 nhanh hơn việc so sánh 2 số với nhau, do đó chúng ta sẽ bắt đầu với việc xét khi nào thì 2b-a, 4b-a, … bắt đầu lớn hơn 0
Ban đầu, đặt biến quyết định d = 2b – a, mỗi lần cần cộng thêm 2b vào d
Đến khi d bắt đầu lớn hơn 0, trừ thêm 2a vào d
Kiểm tra một điểm nằm ở phía nào của
đường thẳng
Để cài đặt được thuật toán mới cần kiểm tra xem
một điểm nằm ở phía nào của đường thẳng
Viết phương trình đường thẳng:
Nhìn vào phương trình đường thẳng xét F>0 -> nằm dưới và ngược lại
Đại lượng quyết định
Thuật toán điểm giữa (midpoint algorithm)
Thuật toán hai bước
Vẽ đường tròn
Cũng có thể dùng thuật toán điểm giữa để vẽ đường
tròn.
Những vấn đề với thuật toán Bresenham và
thuật toán điểm giữa
Các điểm được vẽ trên một đường thẳng
đơn
Các phép biến đổi
Một số khái niệm cơ bản
Một số đối tượng hình học cơ bản
Đại lượng vô hướng s
Vec-tơ v
Điểm p’ = p + s * v
Các phép biến đổi
Liên tục (Bảo tồn lân cận)
Một – một, có nghịch đảo
Phân chia theo các tính chất bất biến và tính chất đối xứng
Mô hình hóa hình học
Mô hình hóa phân cấp
Các bề mặt đa diện
Tịnh tiến 2D
Co dãn 2D theo gốc tọa độ
Phép kéo
Quay 2D quanh tâm
Nhiều phép biến đổi cùng lúc
Tịnh tiến
Co dãn
Quay
Tọa độ đồng nhất
Các phép biến đổi với tọa độ đồng nhất
Tính chất của các phép tịnh tiến
Dạng đồng nhất của phép co giãn
Kết hợp các phép co giãn
Dạng đồng nhất của phép quay
Các tính chất khác của phép quay
Kết hợp các loại phép biến đổi
Quay và tịnh tiến
Quay, tịnh tiến và co dãn
Biến đổi 3D
Phép chiếu
Một số hệ tọa độ
Hệ tọa độ thế giới (The world coordinate system)
Hệ tọa độ hình dạng (The shape coordinate system)
Hệ tọa độ máy quay (The camera coordinate system)
Khung nhìn 3D
Tất nhiên là phức tạp hơn 2D
Thêm một chiều mới (!)
Các thiết bị hiển thị là 2D.
Cần dùng phép chiếu (projection) để chuyển vật thể hay cảnh vật 3D về thiết bị hiển thị 2D.
Cần thực hiện cắt với một khối 3D
Sáu mặt phẳng.
Hình chóp cụt
Các phép chiếu
Chuyển một điểm từ hệ tọa độ có n chiều về hệ tọa độ có ít hơn n chiều.
Phép chiếu được xác định bởi các đường chiếu (projectors).
Các đường chiếu xuất phát từ tâm chiếu (centre of projection), đi qua mọi điểm của vật thể và giao với bề mặt chiếu để tạo nên ảnh chiếu.
Các loại phép chiếu
Chiếu phối cảnh
Phép chiếu 1 điểm
Mặt phẳng chiếu chỉ cắt 1 trục
Phép chiều 2 điểm
Phép chiếu 3 điểm
Xác định bởi mặt phẳng chiếu và tâm chiếu.
Kích thức ảnh chiếu của vật thể thay đổi theo khoảng cách đến tâm chiếu.
Giống như máy ảnh
Trông thực tế !
Không hữu dụng để đo đạc
Các đường thẳng song song thường không song song sau phép chiếu.
Các góc chỉ được giữ trên các bề mặt song song với mặt phẳng chiếu.
Khoảng cách không được giữ.
Đặc trưng
Định luật phối cảnh gần xa.
Điểm ảo.
Điểm biến mất (vanishing point):
tập các đường song song qua
phép chiếu giao với nhau tại một
điểm
Đó chính là ảnh chiếu của điểm ở vô cùng.
Có tọa độ đồng nhất là 0(x,y,0)
Chiếu song song
Trực giao
Từ mặt trên
Từ mặt bên
Từ mặt trước
Có trục đo
Cùng kích thước
Khác
Xiên
Cabinet
Cavalier
Khác
Cơ sở toán học của phép chiếu
Xác định mặt hiện (Visible surface determination)
Sự hữu hình của các đối tượng cơ bản
đối hượng không hữu hình không xuất hiện trong ảnh:
– Nằm ngoài vùng hiển thị
– Quay vào trong (back-facing)
– Bị che bởi các đối tượng khác gần người quan sát hơn
Vấn đề hữu hình
Loại bỏ các bề mặt hướng ra phía khác so với người quan sát.
Loại bỏ các bề mặt che bởi các đối tượng gần hơn.
clipping
Xác định mặt hiện vs loại bỏ mặt khuất
Các thuật toán mặt hiện
3 dạng của các thuật toán xác định mặt hiện
Chính xác theo đối tượng (object precision)
Chính xác theo ảnh (image precision)
Ưu tiên theo danh sách (list priority)
Loại bỏ mặt quay vào trong
3 khả năng
V.N>0: Mặt sau
V.N<0: Mặt trước
V.N=0: Song song với hướng nhìn
Thuật toán ưu tiên theo danh sách Schumacker
Gán thứ tự ưu tiên cho các mặt → Xác định điểm nhìn -> Loại bỏ mặt quay vào trong -> Áp dụng thuật toán người thợ sơn (Painter’s algorithm)
Thuật toán người thợ sơn
Vẽ các bề mặt theo thứ tự từ sau đến trước
các đa giác gần hơn sẽ được vẽ đề lên đa giác xa hơn.
Hỗ trợ tính trong suốt. Vấn đề mấu chốt là xác định thứ tự.
Không phai lúc nào cũng thực hiện được.
Gán thứ tự ưu tiên
Sắp xếp các đối tượng theo chiều sâu -> Thuật toán Newell-Newell-Sancha
Sắp xếp theo chiều sâu Newell-Newell-Sacncha
Sắp xếp các đối tượng theo chiều sâu dựa trên giá trị z
Xét P – đa giác xa nhất so với điểm nhìn và đa giác tiếp theo Q
P&Q tách biệt nhau về độ sâu
Đúng: P không bao giờ che khuất mặt nào vẽ P
Sai: Xét các tập đa giác {QS} giao P theo chiều sâu
Cây BSP
2 bước:
Chuyển danh sách đa giác sang dạng cấu trúc cây nhị phân (cây BSP)
Duyệt cây BSP và vẽ các đa giác ra bộ đệm khung theo thứ tự từ sau ra trước
Hiện thị cây BSP
Chọn đa giác bất kỳ → Chia cảnh vật ra 2 nửa không gian: trước và sau. → Chia những đa giác nằm ở cả hai nửa không gian. → Chọn một đa giác ở mỗi nửa– chia đôi cảnh vật tiếp.
→ Tiếp tục chia cho đến khi mỗi phần chỉ còn một đa giác
Chọn đa giác để phân chia
Quy tắc tham lam:
Cây BSP cải tiến
Kaplan chọn mặt phẳng tách song song với các mặt phẳng tọa
độ (Thuật toán BSP trực giao – orthogonal BSP algorithm)
Đơn giản hóa các tính toán
Thuật toán Warnock
Thuật toán chính xác theo ảnh
Tìm mảnh nhỏ HCN có cùng màu sắc/cường độ
Thử nghiệm sau trên đa giác P bất kỳ
Thuật toán Weiler - Atherton
Thuật toán bộ đệm Z
Cài đặt
Mảng 2 chiều chứa các số thực
Kích thước giống bộ đệm khung
Khởi tạo bộ đệm ảnh với màu nền.
Khởi tạo bộ đệm Z với z = giá trị max. của mặt phẳng clipping.
Cần tính giá trị z cho mỗi điểm – Bằng cách nội suy từ các đỉnh đa giác. Cập nhật cả bộ đệm ảnh và bộ đệm độ Z.
Kết hợp với thuật toán dòng quét
Đoạn (segment): giao của mặt với dòng quét
Nhịp (span)
Tại sao thuật toán bộ đệm Z lại thông dụng
Lưu lại thông tin về độ sâu hiện thời của mỗi điểm
Nội suy z trong quá trình tính toán.
Lưu trữ một ma trận độ sâu tương ứng với ảnh đầu ra.
Mỗi khi xử lý một đa giác, so sánh với các giá trị z đang lưu trữ. Lưu lại giá trị màu của những điểm gần nhất.
Thuật toán dòng quét Watkins
Thuật toán dòng quét trong không gian ảnh
Nhịp hiện tại:
đầu mút phải “biến đổi”
đầu mút trái cố định
Cây BSP
Đường cong và bề mặt
Biểu diễn các đối tượng cong
Bằng tham số
Qua ẩn của phương trình
Tại sao lại dùng tham số
Các đường cong tham số rất linh hoạt.
Chúng không cần phải là hàm
Số lượng tham số thường cho thấy chiều của vật thể
Mô tả một đường cong và bề mặt
Mô hình hóa đối tượng một cách chính xác với một sai số cho phép
Mô hình theo kiểu phác thảo gần đúng
Bài toán xấp xỉ tổng quát
Hàm g là một xấp xỉ tốt với các tính chất sau:
Hàm g rất gần f theo một tính chất nào đó
Các hệ số ci là duy nhất
Xấp xỉ bình phương tối thiểu
Một số ràng buộc
Những ràng buộc nội suy: g(xj) = f(xj) với một số điểm xj cố định.
Kết hợp điều kiện (1) với những điều kiện về độ trơn, ví dụ như điều kiện về đạo hàm của g và f đồng nhất tại điểm xj.
Các ràng buộc về tính trực giao : (f - g) φi = 0 với mọi i.
Những ràng buộc về hình dạng trực quan, ví dụ như độ cong của đường cong và bề mặt.
Đường cong tham số
Mô tả một đường cong
Điểm điều khiển:
Là tập các điểm ảnh hưởng đến hình dạng của đường cong.
Knots:
Các điểm nằm trên đường cong.
Đường cong nội suy (Interpolating spline):
Các đoạn cong đi qua điểm điều khiển.
Đường cong xấp xỉ (Approximating spline):
Các điểm điều khiển ảnh hưởng đến hình dáng của đoạn
Phép nội suy Lagrange
Bài toán: cho các điểm (x0, y0), (x1, y1), …, và (xn, yn), tìm một đa thức p(x), để p(xi) = yi với i = 0, 1, …, n.
Hạn chế
Bậc lớn nếu n lớn
Tạo vết gợn không mong muốn
Các đoạn cong
Chúng ta có thể biểu diễn một đường cong với độ dài bất kỳ bằng một
chuỗi các đoạn cong nối với nhau.
Chúng ta quan tâm đến các đoạn này nối với nhau như thế nào
Đường cong và tham số bậc 3
Để đảm bảo tính liên tục C2 các hàm của chúng ta phải có bậc ít nhất là 3
Đường cong cubic có 4 bậc tự do và thay đổi 4 thứ.
Sử dụng thức: x(t) có bậc n là một hàm của t. - y(t) và z(t) cũng tương tự và được xử lý độc lập.
Đường cong Hermite
Tìm các hệ số Hermite
Ma trận Hermite: Mh
Các hàm Hermite cơ bản
Bài toán nội suy ghép đoạn Hermite
Họ các đường cong Hermite
Hiển thị các đường cong Hermite
Nội suy Spline
Bài toán nội suy Spline
Cho một số nguyên k và các số thực xi, yi (i = 0, ..., n) với x0 < x1 < ... xn, tìm spline g(x) bậc k sao cho xi là nút của g và g(xi) = yi.
Điều kiện kết thúc kẹp :Hệ số góc m0 và mn xác định rõ ràng
Điều kiện kết thúc Bessel : m0 và mn là hệ số góc của đường parabol nội suy 3 điểm đầu và 3 điểm cuối
Điều kiện kết thúc tự nhiên : Đạo hàm bậc 2 của đường spline triệt tiêu ở các đầu mút
Điều kiện kết thúc lặp: Giá trị, đạo hàm bậc 1, bậc 2 bằng nhau tại hai đầu mút
Các đường cong Bézier
Đường cong Hermite khó để mô hình hóa – cần phải xác định các điểm và véc-tơ pháp tuyến.
Sẽ dễ dàng hơn khi chỉ cần chỉ ra điểm.
Pierre Bézier xác định 2 điểm đầu mút và 2 điểm điều khiển để xác định véc-tơ pháp tuyến.
Có thể tính ra từ ma trận Hermite:
Hai điểm điều khiển xác định vec-tơ pháp tuyến
Đường cong Bezier
Ma trận Bezier
Ma trận Bezier bậc 3
Hàm cơ bản Bezier
Tạo một đường cong
Ví dụ đường cong B-spline
Bề mặt cong
Ánh sáng
Màu sắc
Màu sắc phụ thuộc vào loại ánh sáng phản xạ từ vật thể tác động tới mắt
Khoảng phổ nhìn thấy : 700nm- 400nm
Mô hình ánh sáng - ilumination model
Đặc tính của vật thể: hấp thụ hay phản xạ các bước sóng nào đó
Mô hình ánh sáng: Các luật đơn giản về tương tác giữa vật thể và ánh sáng
Hai thành phần quan trọng: tính chất bề mặt và tính chất ánh sáng
Mô hình tạo bóng - shading model
Thiết lập màu sắc và cường độ sáng tại tất cả các điểm trên bề mặt
Toàn diện hơn mô hình ánh sáng
Phân loại mô hình ánh sáng
Mô hình ánh sáng cục bộ
Chỉ một đối tượng được xét đến khi tính toán về ánh sáng
Mô hình ánh sáng toàn cục
Toàn bộ các đối tượng trong cảnh được xét đến đồng thời khi tính toán về ánh sáng
Mô hình ánh sáng cục bộ
Thành phần: Môi trường (ambient), Khuyếch tán (diffuse) và Phản chiếu (specular)
Các loại phản quang
Môi trường
Phản chiếu hoàn hảo : Gương , Luật phản chiếu
Khuyếch tán hoàn hảo : Matte , Luật Lambert
Các bề mặt sần sùi như viên phấn thể hiện khuyếch tán hoàn hảo (khuyếch tán Lambertian)
Ánh sáng phản xạ ra có cường độ như nhau về mọi hướng
Cho trước một bề mặt, độ sáng chỉ phụ thuộc vào góc giữa véc-tơ pháp tuyến của bề mặt và nguồn sáng
Phản chiếu : Độ bóng và các vùng phản chiếu, Mô hình Phong và Blinn
Có thể quan sát trên các bề mặt bóng, vd. Các bề mặt kim loại.
Có thể quan sát được các điểm sáng (highlight).
Các điểm sáng có màu của ánh sáng chứ không phải màu của bề mặt.
Các điểm sáng xuất hiện theo hướng của phản chiếu hoàn hảo. Hướng quan sát là quan trọng.
Một vài khái niệm
N là vecto pháp tuyến bề mặt
L hướng nguồn sáng
V hướng quan sát
R hướng phản chiếu lý tưởng
Mô hình ánh sáng đơn giản
Mô hình ánh sáng đơn giản nhất
Giả thiết có ánh sáng môi trường trong cảnh vật, Ia
Lượng ánh sáng môi trường phản quang từ một bề mặt được xác định thông qua hệ số phản quang môi trường, ka
Lượng phản quang I = Ia .ka
Không dựa theo vật lý !
Mô hình ánh sáng Bouknight
Mô hình ánh sáng có thành phần phản chiếu
Mô hình ánh sáng Phong
Tạo bóng