Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
337,57 KB
Nội dung
Chơng 5 - Đồ hoạ trong không gian ba chiều Phần 1 - Cơ sở 100 Hình 5.13 Mặt lới với các độ phản xạ cho bởi nguồn sáng S surfl ( X, Y, Z, S ); shading interp; surfl ( X,Y, Z, S, k 1 ); shading interp; Hình 5.14 Mặt lới 3 chiều với các mô hình ánh sáng khác nhau. surfl ( X,Y, Z, S, k 2 ); shading interp; D = diffuse ( Nx, Ny, Nz, S ); surf ( X, Y, Z, D ); shading interp; colormap ( gray ); Chơng 5 - Đồ hoạ trong không gian ba chiều Phần 1 - Cơ sở 101 5.6 Điểm nhìn v phép phối cảnh. Đồ hoạ sẽ dễ dng đợc quan sát v gần với thực tế hơn nếu đợc nhìn từ các góc khác nhau. Lệnh view đợc dùng để thay đổi góc nhìn trên mn hình đồ hoạ. Nó cho phép khả năng xác định đồng thời cả điểm nhìn lẫn góc, phơng độ nhìn v độ cao. Phép chiếu phối cảnh còn có thể thay đổi thông qua lệnh viewtx. V V i i e e w w >> view ( v, h ) - Xét góc nhìn cho mn đồ hoạ. Thanh v l góc phơng vị với chiều dơng trên mặt phẳng x, y đợc tính theo chiều kim đồng hồ. Chiều cao trên mặt phẳng đợc xác định mới thang đo h. >> [ v h ] = view - Trả lại góc trên mặt phẳng x,y vo v v chiều cao trên mặt phẳng vo h. >> View ( r ) - Đặt điểm nhìn vo vị trí xác định bởi r = [ x , y , z ] >> view ( n ) - Xét góc nhìn phụ thuộc theo giá trị của n. n = 2. Góc nhìn chuẩn hai chiều. Hay top-down nhìn từ trên xuống. n = 3. Góc nhìn chuẩn 3D cho bởi ma trận 4 x 4 để chuyển đổi dữ liệu khi vẽ các thực thể đồ họa. >> View ( T ) - Sử dụng góc nhìn xác định bởi ma trận 4 x 4T khi vẽ đồ hoạ. Viewtx ( v , h , s , r ) - Trả lại giá trị ma trận 4 x 4 xác định điểm nhìn v hớng nhìn. Ví dụ 5.6 Mô hình mặt sin (r)/r với góc nhìn từ cạnh sang >> z = sin ( r )./ r; >> surf( z ); >> title ( ' Ham sin(x)/x tren tren view [ 1 0 0 ]'); >>grid on >> view ( [1 0 0 ] ) ; Chơng 5 - Đồ hoạ trong không gian ba chiều Phần 1 - Cơ sở 102 Hình 5.15 bill với điểm nhìn từ cạnh sang b)Với lệnh view cho phép nhìn 3 chiều với hình ảnh 2 chièu Ví dụ hình quả bóng với góc nhìn >> view ( [ 1 1 1 ] ) Hình quả bóng mặt phẳng với góc nhìn trong không gian 3D Lệnh surf v mesh có thể đợc sử dụng để vẽ các hm trong cả hệ lới grid không đều. Ví dụ 5.7 a) Chúng ta muốn nghiên cứu những số Mach trong lĩnh vực hng không. Việc tính toán v tạo ra lới gỉd đơn giản chỉ bằng mấy dòng lệnh text v hình vẽ số đợc tạo bởi Matlab. Lới grid sẽ đợc cất vo hai ma trận X 1 , Y 1 bởi ma trận mach chứa các giá trị S 0 Mach. >> surf ( X 1 , Y 1 , Mach ); >> view ( 2 ); >> axis ( [-0.5 1.5 -1 1 ] ); >> shading interp; Để nhìn thấy grid chúng ta sử dụng lệnh mesh với các ma trận cố định. Tuy nhiên muốn hiển thị đợc lới các bạn cần phải su tầm đợc dữ liệu của ma trận X1 v Y1. 0 5 10 15 20 25 30 35 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Hm sin(x)/x tren view( [1 0 0] Chơng 5 - Đồ hoạ trong không gian ba chiều Phần 1 - Cơ sở 103 >> mesh( X 1 , Y 1 , ones ( size ( X 1 ) ) ) ; >> view ( 2 ); >> axis ( [-0.5 1.5 -1 1 ] ); 5.7 Slice trong không gian 3D Để nghiên cứu những hãng đồ hoạ 3 biến Matlab cung cấp cho chúng ta lệnh slice. Lệnh ny dùng để vẽ cắt lát trong không gian 3D với mầu tại mỗi điểm trên bề mựat lới tơng ứng với các giá trị của hm tại điểm đó. >> slice ( V, xs, ys, zx, nx ) Vẽ phân lớp của hm ba biến xác định bởi ma trận V. Ma trận V l tập của nx lớp dới tính trên ba ma trận tạo bởi lệnh meshgrid cùng ba tham biến vector xs, ys v zs sẽ xác định những lát vẽ. Ví dụ 5.8 Cho hm F(x,y,z) = X 2 + Y 2 + Z 2 trong một hình khối có giá trị [ -1 1 ] x [ -1 1 ] x [ -1 1 ] Đầu tiên chúng ta định nghĩa lới grid trong không gian 3D thông qua hm meshgrid v tính các giá trị của hm F(x,y,z) thông qua các điểm trên lới grid đó. >> [ X, Y, Z ] = meshgrid ( -1 : .1 : 1 , -1 : .1 : 1 , -1 : 0.1 : 1 ); >> V = X.^2 + Y.^2 + Z.^2; Số trên đợc tính tại 21 3 điểm v chúng ta phải chọn những mảnh no song song với trục toạ độ cần vẽ. Vector [1 3 2] cho biết rằng chúng ta muốn vẽ những mảnh 1, 3 v 2, 1. Điều đó đợc thực hiện qua lệnh sau: >> slice ( V, [ 1 1 ] , [ 1 1 ] , [ 1 1 1], 21 ) Chơng 5 - Đồ hoạ trong không gian ba chiều Phần 1 - Cơ sở 104 Hình vẽ 5.16 với các mảnh đợc xác định bởi mặt phẳng X = 11, Y = 11, Z = 11 cùng với các mầu tơng ứng. 5.8 Mầu sắc v kiểm soát các hệ mầu. Trong lĩnh vực đồ hoạ, việc kiểm soát ánh sáng v mu sắc l những chức năng không thể thiếu đợc để cho ra những hình ảnh thật sắc nét. Trong Matlab ngời sử dụng đợc cung cấp một số hm để kiểm soát mu sắc, ánh sáng, độ bóng v.v của những hình ảnh đợc tạo ra. Ví dụ: Lệnh shading cho phép đặt cấu hình của việc in ra bề mặt lới. Bề mặt có thể đợc vẽ ra có hoặc không có lới cộng với thang mầu nội suy. 5 5 . . 8 8 . . 1 1 C C á á c c t t h h u u ộ ộ c c t t í í n n h h b b ề ề m m ặ ặ t t . . Kiểu shading, type : Dùng để vẽ bề mặt cùng một số thuộc tính sau - Faceted dùng để vẽ lới trên bề mặt v đây l kiểu mặc định của hệ thống 0 5 10 15 20 25 0 10 20 30 0 5 10 15 20 25 Chơng 5 - Đồ hoạ trong không gian ba chiều Phần 1 - Cơ sở 105 - Interp sử dụng những mầu nội suy trên bề mặt - Plat tất cả các bề mặt đợc vẽ với cùng một mu từ các đỉnh của bề mặt. Ví dụ 5.9: Hm sin (R) /R với hiệu ứng bóng shading interp Hình 5.15 Phân bố mầu trên bề mặt lới với hiệu ứng bóng x = -10 : 0.5 : 10; y = x; [X,Y] = meshgrid ( x, y ); r = sqrt ( X.^2+Y.^2 ); z3 = sin ( r )./ r; graymon; surf( z3 ); shading interp; title ( ' Hm sin(x)/x tren shading interp'); grid on 0 10 20 30 40 50 0 20 40 60 -0.5 0 0.5 1 Hm sin(x)/x tren shading interp Chơng 5 - Đồ hoạ trong không gian ba chiều Phần 1 - Cơ sở 106 5 5 . . 8 8 . . 2 2 . . G G i i ớ ớ i i t t h h i i ệ ệ u u v v ề ề c c á á c c h h ệ ệ m m u u t t r r o o n n g g m m n n h h ì ì n n h h đ đ ồ ồ h h o o ạ ạ . . Mô hình mu l một kỹ thuật cho việc biểu diễn mầu sắc của một thể mầu trên một hệ toạ độ mầu ba chiều bao gồm tập các mu nhỏ thnh phần có thể trông thấy đợc trong hệ thống toạ độ mầu thuộc một gam mu đặc trng. Ví dụ nh mô hình mu RGB (Red, Green, Blue): l một đơn vị tập các mầu thnh phần sắp xếp theo hình lập phơng của hệ trục toạ độ Đề các dùng biểu diễn một mầu bất kỳ. Mục đích của mô hình mu l cho phép biểu diễn v chuyển đổi theo quy ớc một số loại mầu từ gam mầu nay sang v phù hợp các mu sắc của các gam mu khác. Mu căn bản trong loại gam mu cho các mn hình CRT (Cathode ray tube) đợc xác định bởi các mu gốc RGB, chúng ta có thể nhìn thấy trong mảng mu ny một gam mu l một tập hợp nhỏ hơn của tất cả các mu có thể nhìn thấy đợc, vì vậy một mô hình mu không thể đợc sử dụng để định rõ tất cả có thể nhìn thấy. Ba mô hình mu định hớng phần cứng l: RGB đợc sử dụng với các mn hình CRT. YIQ đợc sử dụng trong hệ thống ti vi mầu băng tần rộng CMY (xanh tím, đỏ toi, vng) sử dụng cho một số thiết bị in mu. Không một mô hình mu no trong các mô hình mu thc tế trên có tính dễ sử dụng, bởi vì chúng không có mối quan hệ trực tiếp với các ý niệm mu của trực giác của con ngời bao gồm: Hue - sắc mu. Sturation - độ bão ho. Lighness - độ sáng. Bởi vậy các mô hình mu khác nhau đã đợc phát triển nhằm đến việc sử dụng chỉ cho một tiêu chí nhất định. Chúng ta cùng tìm hiểu ba mô hình mu HSV, HLS v HVC, với mỗi mô hình mu cho ta một phơng tiện phục vụ cho mỗi mục đích tiếp cận khác nhau khi thể hiện mầu sắc. Sự tồn tại của các mô hình mầu nêu trên dẫn đến nhu cầu về sự biến đổi từ một mô hình mầu sang mô hình RGB dựa theo sự biến đổi trong khoảng không gian mầu (X,Y,Z) của CIE (Commission Internationale de l éclairage). Sự biến đổi ny rất quan trọng bởi vì CIE l một tiêu chuẩn rộng khắp thế giới đối với tất cả các mô hình mu. 5 5 . . 8 8 . . 3 3 . . M M ô ô h h ì ì n n h h m m u u R R G G B B ( ( R R e e d d - - G G r r e e e e n n - - B B l l u u e e ) ) . . Mu đỏ, xanh lá cây, xanh gia trời (RGB) đợc sử dụng rộng rãi trên mn hình CRT v các loại mn hìnhđồ hoạ Raster mầu dựa vo hệ toạ độ Đề các. Những mu trên mô hình RGB đợc xây dựng trên cơ sở thêm vo từ những mu gốc, điều đó tạo nên sự đóng góp riêng của từng mu gốc để mang lại kết qủa. Chơng 5 - Đồ hoạ trong không gian ba chiều Phần 1 - Cơ sở 107 Tập hợp mu nhỏ thnh phần sắp xếp theo khối lập phơng đơn vị đợc chỉ ra trong hình 5.17. Đờ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 mu 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) . Blue=(0,0,1) cyan= (0,1,1) magenta(1,0,1) white= (1,1,1) black=(0,0,0) Green=(0,1,0) Red =(1,0,0) yellow=(1,1,0) Hình 5.17 Mô hình không gian mầu RGB Gam mu đợc thể hiện trong hệ mu RGB đợc xác định bằng những đặc tính của hiện tợng phát quang của các chất phốt pho trong mn hình CRT. Hai mn CRT với 2 loại chất phốt pho khác nhau sẽ cho ra các gam mu khác nhau. Sự biến đổi mu đọc định rõ trong gam mu của một CRT so với gam mu của một CRT khác. Chúng ta có thể thay đổi gam mầu của một CRT ny sang một CRT khác thông qua các ma trận chuyển đổi M1 v M2 từ không gian mu RGB của từng mn hình tới không fgian mu (X,Y,Z) . Công thức biến đổi : X Xr Xg Xb R Y = Yr Yg Yb G Z Zr Zg Zb B Với Xr, Xg, Xb l các trọng số tơng ứng với các mầu trong hệ RGB của mn hình, tơng tự với Y, Z. Việc xác định M l hệ số chọn mu thông qua ma trận 3x3 của các trọng số trên. Chúng ta viết lại công thức nh sau: X R Y = M G Z B Với M1 v M2 l những ma trận hệ số, sự biến đổi qua lại giữa gam mu của hai mn hình theo CIE đợc mô tả bằng M 2 -1 * M 1 . Điều đó có nghĩa việc biến đổi đó thông qua RGB của mn hình một tới RGB của mn hình hai. Nếu mu C1 l gam mu của mn hình một nhng nó không l gam mu của mn hình hai, mu tơng ứng Chơng 5 - Đồ hoạ trong không gian ba chiều Phần 1 - Cơ sở 108 C2 = M2.M1.C1 sẽ ở bên ngoi khối lập phơng đơn vị v vì vậy sẽ không thể hiển thị đợc. Việc chuyển đổi tuy đơn giản nhng không phải l giải pháp thoả mãn cho mọi giá trị. Vấn đề ny có thể giải quyết bằng cách thay thế các giá trị của R, G hoặc B khi các giá trị ny nhỏ hơn 0 bằng 0 v lớn hơn 1 bằng 1. Các độ sắc mu cho mỗi mô hình phốt pho GRB luôn có sẵn nh l các thông số kỹ thuật của công nghệ CRT. Nêú không, các thiết bị so mu cũng có thể đợc sử dụng để đo trực tiếp các giá trị toạ độ mu, hay một thiết bị đo quang phổ cũng có thể đợc sử dụng để đo P() v sau đó chúng có thể đợc biến đổi thnh toạ độ mu bằng các phơng trình. (*), (**) v (***). Biểu thị các toạ độ thông qua (Xr, Yr) cho mu đỏ, (Xg, Yg) cho mu xanh v (Xb.Yb) cho mu xanh da trời v xác định C r nh sau : Cr = Xr + Yr + Zr Chúng ta có thể tính cho mu đỏ gốc theo: Xr =Xr/(Xr+Yr+Zr) = Xr/Cr, Xr=xr*Cr Yr = Yr/(Xr+Yr+Zr) =Yr/Cr, Yr = yr*Cr Zr = (1 - xr - yr) = Zr/(Xr+Yr+Zr) = Z r /C r , Zr = zr*Cr Với cách xác địng tợng tự cho Cg v Cb phơng trình có thể đợc viết nh sau : X xrCr xgCg xbCb R Y = yrCr ygCg ybCb G (4*) Z (1-xr - yr)Cr (1-xg -yg) Cg (1-xb - yb)Cb B Các ẩn số Cr, Cg v Cb có thể đợc tìm bằng một trong hai cách. Cách thứ nhất, những thể sáng Yr, Yg v Yb của mu đỏ mu xanh da trời sáng nhất có thể đợc (*) )( 100 = dyPw k (**) )( , )( , )( ZYX Z z ZYX Y y ZYX X x ++ = ++ = ++ = *)*(* 1 ,, Y y yx ZYYY y x X === Chơng 5 - Đồ hoạ trong không gian ba chiều Phần 1 - Cơ sở 109 đo với một quang kế chất lợng cao. Những thớc đo thể sáng ny có thể đợc kết hợp với các đại lợng yr, yb v yg đã biết để tính các giá trị. Cr =Yr/y r,Cg =Yg/yg , Cb =Yb/yb Những giá trị ny sau đó đợc thay thế vo phơng trình (4*) v ma trận chuyển đổi M đợc diễn tả trong quan hệ của các đại lợng đã biết (x r, yr) , (xg, yg), (xb, yb), Yr, Yg,Yb. Chúng ta cũng có thể loại những biến không biết từ phơng trình (4*) nếu chúng ta biết hoặc đo đợc các giá trị Xw, Yw v Zw của mu trắng đợc tạo ra khi R=G=B=1. Trong trờng hợp ny phơng trình (4*) có thể đợc viết lại nh sau: Xw x r x g x b C R Yw = y r y g y b C G Zw (1-x r - y r ) (1-x g -y g ) (1-x b - y b ) C B Lời giải cho Cr,Cg,Cb l các giá trị cần tìm v với những giá trị kết quả thu đợc đợc thay thế cho phơng trình (4*). Mặt khác các giá trị của mu trắng đợc xác định bởi xw ,yw,zw v Yw trong trờng hợp ny sẽ đợc tìm ra với phơng trình trên cho chúng ta các đại lợng cần tìm: Xw=xwYw/yw, Zw=zwYw/yw. 5 5 . . 8 8 . . 4 4 M M ô ô h h ì ì n n h h m m u u C C M M Y Y ( ( C C y y a a n n , , M M a a g g e e n n t t a a , , Y Y e e l l l l o o w w - - x x a a n n h h , , đ đ ỏ ỏ t t ơ ơ i i , , v v n n g g ) ) Ba mầu CMY l mầu bù tơng ứng cho các mu đỏ, xanh lá cây, xanh da trời v chúng đợc sử dụng nh những bộ lọc loại trừ các mu ny từ ánh sáng trắng. Vì vậy MCY còn đợc gọi l các mầu bù loại trừ của các mu gốc RGB. Tập hợp mu thnh phần biểu diễn trong hệ toạ độ Đề-các cho mô hình mu CMY cũng giống nh cho mô hình mu RGB ngoại trừ mu trắng (ánh sáng trắng ) đợc thay thế mu đen (không có ánh sáng) ở tại nguồn sáng. Các mu thờng đợc tạo thnh bằng cách loại bỏ hoặc đợc bù từ ánh sấng trắng hơn l đợc thêm vo những mầu tối. Những kiến thức về CMY l quan trọng, khi xem xét các thiết bị in mu trên giấy. Chẳng hạn nh in tĩnh điện hay máy in phun. Khi bề mặt giấy đợc bao phủ bởi lớp mực mu xanh tím, sẽ không có tia mu đỏ phản chiếu từ bề mặt đó. Mầu xanh tím đã loại bỏ phần mầu đỏ phản xạ khi có tia sáng trắng, m bản chất l tổng của 3 mu đỏ, mu xanh lá cây, xanh da trời. Vì thế ta có thể coi mu xanh tím (cyan) l mu trắng trừ đi mu đỏ v đó cũng l mu xanh da trời cộng mu xanh lá cây. Tơng tự nh vậy ta có mu đỏ thẫm (magenta) thụ mu xanh lá cây (green) vì thế nó tơng đơng với mu đỏ cộng mu xanh da trời. V cuối cùng mu vng (yellow) hấp thụ mu xanh da trời, nó sẽ bằng mầu đỏ cộng với mu xanh lá cây. . X. ^2 + Y. ^2 + Z. ^2; Số trên đợc tính tại 21 3 điểm v chúng ta phải chọn những mảnh no song song với trục toạ độ cần vẽ. Vector [1 3 2] cho biết rằng chúng ta muốn vẽ những mảnh 1, 3 v 2, . Faceted dùng để vẽ lới trên bề mặt v đây l kiểu mặc định của hệ thống 0 5 10 15 20 25 0 10 20 30 0 5 10 15 20 25 Chơng 5 - Đồ hoạ trong không gian ba chiều Phần 1 - Cơ sở 105 - Interp. hiển thị đợc lới các bạn cần phải su tầm đợc dữ liệu của ma trận X1 v Y1. 0 5 10 15 20 25 30 35 -0.4 -0 .2 0 0 .2 0.4 0.6 0.8 1 Hm sin(x)/x tren view( [1 0 0] Chơng 5 - Đồ hoạ trong không gian ba