Tài liệu tham khảo Giáo trình cơ sở Matlab v5.3-1 - Phần 1 Cơ sở matlab - Chương 5 Đồ họa trong không gian ba chiều
Chơng - Đồ hoạ không gian ba chiều chơng đồ hoạ không gian chiều 5.1 Các hm tạo lập contour Lệnh contour không gian 2D v 3D đợc vẽ hm hai biến z = f(x,y) t−¬ng øng víi hμm contour vμ contour3 Hai lệnh đợc sử dụng lới tứ giác 5.1.1 Contour plots contour ( z ) - Vẽ contour với giá trị ma trận z Các phần tử đợc dịch v biểu diễn mặt phẳng x, y Nếu x l ma trận m x n tỷ lệ trục tơng øng sÏ lμ n, m contour ( z, n ) - Vẽ đợc contour cho n cấp độ Nếu n không xác định hm lấy giá trị mặc ®Þnh n = 10 contour ( z,v ) - VÏ đờng contour với cấp độ đợc xác định vector contour(x,y,z) - Vẽ đờng contour với giá trị thuộc ma trận z Các thớc tỷ lệ đợc xác định trục tơng ứng cho vector x v y contour( x, y ,z , n ) - VÏ n cấp độ với x, y l vector tỉ lệ trục contour ( x, y, z ,v ) - Vẽ đờng contour có cấp độ xác định vector v tỷ lệ trục đợc xác định x v y contour ( ,' str ') - VÏ ®−êng contour víi viƯc sư dơng kiĨu v mu sắc đờng đợc xác định biến str contour ( ) - TÝnh to¸n cho viƯc thu d÷ liƯu vμo ma trËn c bëi viƯc sư dụng contour v clabel m không vẽ đờng, c l ma trận 82 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều dòng chứa liệu vẽ contour3(x,y,z,n ) - Vẽ đờng contour n mức độ không gian chiều, đờng chiếu xuống mặt phẳng x,y việc trả giá trị vo ma trận contur cho lệnh clabel clabel ( c ) - Cho chØ sè møc độ contour c Vị trí đợc xác định ngẫu nhiên Ma trận c l ma trận contour đợc cho bëi lƯnh contour hc contours clabel ( c, υ ) - Trả lại giá trị số mức độ đợc xác định ma trận clabel (c,'manual ' ) - Cho ng−êi sư dơng ®−a chØ số xác định mức độ điểm trỏ tác động lên Ngời sử dụng dịch chuyển trỏ chuột hay bn phím Việc vo giá trị thông qua phím chuột hay số bn phÝm TiÕn tr×nh kÕt thóc Ên phÝm enter 5.1.2 Ví dụ a) Giả sử ma trận z đợc mô tả nh mặt hm biến Qua giá trị z ta thu đợc đồ thị contour hình 5.1 chuỗi lệnh dới 45 -2 -3 40 35 30 -1 0 25 20 -2 -1 15 -1 -3 10 -2 Hình 5.1 Đồ thị contour cho ví dô 5.1a >> subplot ( , , ) 83 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều >>[X,Y] = meshgrid(-3:1/8:3); >>z = peaks(X,Y).* sin(X) >>v1 = -4 : -1; >> v2 = : ; >> contour ( z, v1, ' k ' ); % vẽ đờng đặc với z d−¬ng >> hold on; >> contour ( z,v2 , 'k ' ); % vẽ đờng đặc soloid với z ©m >> hold off; >> subplot ( , , ); >> c = contour ( z ); >> clabel ( c ); % tạo nhẵn cho đờng contour >> grid on b) Víi vÝ dơ b chóng ta sử dụng zsmall Chơng trình thể mức độ nh zsmall lấy giá trị vμ 45 40 35 30 25 20 15 10 5 10 15 20 25 30 35 40 45 Hình 5.2 Đồ thị contour møc ®é cho bëi vÝ dơ 5.1b >> v = 1: ; >> zsmall = z; >> c = contour ( zsmall ,v ); >> clabel ( c ) ; >> size (c); 84 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều 5.2 Lới - grid Để tạo đợc đờng contour phải tính giá trị z Điều đợc mô tả nh sau: Ta xác định lới vùng nơi vẽ đờng contour Vùng đợc xác định vector x v y víi chiỊu dμi n vμ m t−¬ng øng víi giá trị x v y lới Giả sử khoảng cách phần tử x v y l không Khi ta xây dựng lới m»ng lÖnh >> [ u v ] = meshgrid (x,y); Giá trị toạ độ điểm lới đợc lu trữ vμo ma trËn u, v - u chøa vector x víi m dßng - v chøa vector y víi n cột Hình vẽ dới cho thấy ảnh lới [u , v] 4^ 3.5 2.5 1.5 1 1.5 2.5 3.5 4.5 H×nh 5.3 L−íi x t−¬ng øng víi x vμ y Việc tạo lới trụ hay lới cầu đợc thực tơng tự 5.2.1 Lệnh tạo lới 85 Phần - Cơ sở > Chơng - Đồ hoạ kh«ng gian ba chiỊu >> [ u, v ] = mesgrid ( x , y ) §−a ma trận định dạng lới theo toạ độ trục x,y từ vector x, y Vector cã chiÒu dμi n chøa toạ độ x v vector y có chiều di m chứa toạ độ y Ma trận u, v tạo thnh có độ lớn tơng ứng m x n Ma trận biểu diễn bao trùm miền chữ nhật Cặp toạ độ t−¬ng øng (uij vμ yij) víi i = 1, , m j = 1, , n Giá trị zij = f(uij, vij) tơng đơng với lệnh z = f( u,v ) >> [u,v,w] = meshgrid ( x , y , z ) T¹o ma trËn l−íi chiỊu tõ hμm biÕn >> [x, y, z] = cylinder ( r , n ) Trả giá trị tạo nên ma trận toạ độ điểm tơng tự nh meshgrid Toạ độ tạo thnh đợc xây dựng mặt hình trụ nón Bán kính hình trụ đợc biểu diễn vector r tơng ứng với n đờng tròn tạo nên hình Nếu n không đợc khai báo hm lấy giá trị mặc định n = 20 Nếu r v n không đợc khai báo giá trị mặc định hm r = v n = 20 >> cylinder (r, u) VÏ h×nh trơ theo liệu đầu vo r v u >> [x,y,z] = sphere(n) Trả giá trị toạ độ không gian hình cầu vo ma trận x, y, z với n l số mảnh hình theo cách thĨ hiƯn h×nh theo tû lƯ (n+1) x (n+1) >> sphere(n) In hình cầu mn hình thay vo việc trả giá trị vo ma trận Ví dụ 5.2 : Giả sử ta muốn định nghĩa lới U,V đơn vị mặt vuông với diểm trục x v điểm trục y * Đầu tiên ta phải định nghĩa vector x v y >> x = linspace ( 0, 1, ); >> y = linspace ( 0, 1, ); >> [ u , v ] = meshgrid ( x , y ) * Tiếp theo - L tính toán giá trị hm z = f(x,y) miền vùng đà định nghĩa lới - Z = f(uv,) VÝ dơ: a) Gi¶ sư chóng ta cần vẽ đờng contour hm sau: z1 = f(x,y) = sinx siny x, y ∈ [0, ) 86 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều z2 = f(x,y) = x - x3 + y2 + x,y∈[-5, 5] z3 = f(x,y) = sinx ((x2 + y2)1/2/(x2 + y2)1/2 x,y [-10, 10] Đoạn chơng trình sau tạo lới v giá trị hm Sau với hm plot đa kết mn hình ®å häa hàm sin(x) * sin(y) hàm sin(s)/s 10 -5 -10 -10 hàm x - x^3 + y^2 + + hàm 3D sin(r)/r 1 0 -1 10 -10 -10 10 -1 10 -10 -10 H×nh 5.4 H×nh vÏ cho bëi vÝ dơ 5.2 a Phần chơng trình nguồn ví dụ 5.2 a >> X = : 0.2 : 3*pi; >> Y = : 0.25 : 5*pi; >> [X,Y] = meshgrid (x,y); >> z1 = sin (X).* sin(Y); >> x = -5 : 0.25 : +5; >> y = x; >> [X,Y] = meshgrid( x, y ); >> z2 = X - X.^3 + Y.^2 + 1; >> x = -10 : 0.5 : 10; >> y = x 87 PhÇn - C¬ së 10 10 Ch−¬ng - Đồ hoạ không gian ba chiều >> [X,Y] = meshgrid (x,y); >> r = sqrt(X.^2 + Y.^2) + esp; >> z3 = sin(r)./r; >> clf; >> subplot (2,2,1); contour(z1); >> title ('hμm sin(x) * sin(y)'); >> subplot ( 2,2,2 ); contour ( x,y,z3 ); >> title ('hμm sin(σ)/σ'); >> subplot(2,2,3); contour3(x,y,z3); >> title ('hμm x - x^3 + y^2 + + 1'); >> subplot (2,2,4); contour3 (x,y,z3); >> title (hm 3D sin(r)/r'); b) Để thực lm sáng tỏ hình ảnh hm, vẽ đờng contour nh l vẽ gradients Giá trị gradient đợc tính lệnh gradient v đợc đa mn hình bëi lÖnh quiver 40 35 30 25 20 15 10 Hình 5.5 Mô tả cho ví dụ 5.2 b Hình vẽ sau cho đoạn mà chơng trình >> [x,y] = meshgrid ( -pi/2 : 0.1: pi/2 , -pi : 0.2 : pi ); 88 PhÇn - Cơ sở Chơng - Đồ hoạ không gian ba chiÒu >> z = abs ( sin( Y ).* cos( X ) ); >> [ DX, DY ] = gradient ( z, 0.1, 0.2 ) >> contour ( z ); >> hold on; >> quiver ( DX, DY ); >> hold off; 5.3 Đồ hoạ chiều Matlab tự dn xếp cảnh nhìn v góc nhìn với lệnh plot3 v chất plot3 tơng đơng với plot khác plot3 yêu cầu thêm vector thứ hay ma trËn ®èi sè KiĨm tra mμu cđa ®−êng cã thể thay đổi thông qua biến string 5.3.1 Lệnh vẽ đồ hoạ 3D thông thờng plot3( x, y, z ) - Vẽ đồ hoạ thông qua điểm xác định (xi, yi, zi) Các vector x, y, z phải có ®é dμi b»ng plot3( X, Y,Z ) - VÏ đồ hoạ với cột ma trận X, Y, Z ma trận phải có độ lớn nh nhau, ®ång thêi chiỊu dμi cđa c¸c cét ma trËn phải plot3(x,y,z,srt ) - Vẽ đồ hoạ tơng tự lệnh với mu v kiểu đờng đợc xác ®Þnh bëi biÕn srt plot3 (x1, y1, z1, srt1, x2, y2, z2, str2, ) - Vẽ đồ hoạ (x1, y1, z1) với mu v kiểu đờng xác định str1 vμ t−¬ng tù str2 cho x2, y2, z2 Nếu str1 v str2 không đợc định nghĩa Matlab tù chän mμu vμ kiĨu cho ®−êng VÝ dơ 5.3 Ví dụ tạo chơng trình mô chuyển động hỗn loạin n bớc không gian 3D n = input ( 'sè b−íc chun ®éng' ); x = cumsum ( rand (1,n ) -0.5 ); y = cumsum ( rand( 1,n ) -0.5 ); z = cumsum ( rand( 1,n ) -0.5 ); plot3 ( x,y,z ); text ( x( 1), y( ), z( ), 'Tới đây'); text ( x( n), y( n ), z( n ), 'kết thúc'); 89 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều Toi day -1 ket thuc -2 -3 0 -2 -1 -2 -1 -3 -4 H×nh 5.6 Mô tả chuyển động hỗn loạn không gian 3D 5.3.2 Các lệnh vẽ hoạt hình 3D comet (x) - Cịng t−¬ng tù nh− lƯnh comet khoong gian 2D Comet3 cho hình ảnh chuyển động hoạt hình mô lại trình vẽ comet3(x,y,z) - Vẽ mô trình vẽ hm z = f(x,y) Điều có nghĩa điểm vẽ xác định (xi, yi,zi) comet3(x,y,z,p) - Cho tiến trình vẽ mô tơng tự nh với đôi kéo di tính theo p Chiều di p đợc cho trớc nh vector y Nếu p không đợc xác định hm số lấy giá trị mặc định l tập giá trị 0.1 Chữ cửa sổ không gian 3D đợc thể tơng tự nh lệnh không gian 2D nh− title, text, xlabel, ylabel vμ zlabel 5.4 Mặt lới không gian 3D 90 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều Matlab cho phép tạo mặt lới mn hình đồ hoạ hm z = f(x,y) theo bớc sau - Xây dựng lới grid - Tính giá trị z = f(u,v) với U v V l ma trận điểm toạ độ giá trị trục x v y tơng ứng - Vẽ mặt lới lệnh đồ hoạ cho phép Matlab Chú ý lới grid không cần thiết cho loại lới tứ giác Trong trờng hợp khác toạ độ lới phải đợc cho vo gọi hm 5.4.1 Bé lƯnh t¹o l−íi mesh ( z ) - In giá trị ma trận z nh l độ cao mặt lới grid hình chữ nhật Nối điểm với điểm xung quanh tạo nên mỈt l−íi (mesh) mesh ( z , c ) - Vẽ giá trị z lên mặt lới grid chữ nhật với mu sắc điểm đợc xácđịnh bëi tËp c¸c biÕn ma trËn c mesh( u, v, z, c ) - Vẽ hm mặt lới liệu l phần tử ma trận z Các điểm láng giềng lới đợc nối với đờng thẳng Đồ hoạ đợc vẽ không gian 3D với góc chiếu phối cảnh với phần tử zij l chiều cao lới grid(Uij, Vij)) - Điểm nhìn đợc lấy tự động để đợc góc nhìn phối cảnh rộng Vị trí điểm nhìn đợc thay đổi thông qua hm view U: ma trận toạ ®é theo x V: ma trËn to¹ ®é theo y Z: ma trận toạ độ theo z Zij = f(Uij, Vij) C: ma trận mu cho điểm Nếu ma trận C không xác định C = Z đợc sư dơng NÕu U vμ V lμ vector cã chiều di m v n tơng ứng z l ma trËn cã kÝch th−íc m x n vμ mỈt lới đợc xác định điểm (uij, Vi, Zij) meshc ( ) - Dïng ®Ĩ vÏ b−íc l−íi cho bề mặt lới tơng tự nh lệnh mesh nhng đồng thời vẽ thêm đờng contour dới bề mặt lới meshz ( ) - Dùng để vẽ mặt lới tơng tự nh lệnh mesh nhng có thêm lới grid mặt x,y 91 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều - Interp sử dụng mầu nội suy bề mặt - Plat tất bề mặt đợc vẽ với mu từ đỉnh bề mặt Ví dơ 5.9: Hμm sin (R) /R víi hiƯu øng bãng shading interp Hàm sin(x)/x tren shading interp 0.5 -0.5 60 40 20 0 10 20 30 40 Hình 5.15 Phân bố mầu 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 ( ' Hàm sin(x)/x tren shading interp'); grid on 105 Phần - Cơ sở 50 Chơng - Đồ hoạ không gian ba chiều 5.8.2 Giới thiệu hệ mu mn hình đồ hoạ Mô hình mμu lμ mét kü tht cho viƯc biĨu diƠn mÇu sắc thể mầu hệ toạ độ mầu ba chiều bao gồm tập mu nhỏ thnh phần trông thấy đợc hệ thống toạ độ mầu thuộc gam mu đặc trng Ví dụ nh mô hình mu RGB (Red, Green, Blue): l đơn vị tập mầu thnh phần xếp theo hình lập phơng hệ trục toạ độ Đề dùng biểu diễn mầu Mục đích mô hình mu l cho phép biểu diễn v chuyển đổi theo quy ớc số loại mầu từ gam mầu sang v phù hợp mu sắc gam mu khác Mu loại gam mu cho mn hình CRT (Cathode ray tube) đợc xác định mu gốc RGB, nhìn thấy mảng mu ny gam mu l tập hợp nhỏ tất mu nhìn thấy đợc, mô hình mu đợc sử dụng để định rõ tất nhìn thấy Ba mô hình mu định hớng phần cứng l: RGB đợc sử dụng với mn hình CRT YIQ đợc sử dụng hệ thống ti vi mầu băng tần rộng CMY (xanh tÝm, ®á t−oi, vμng) sư dơng cho mét số thiết bị in mu Không mô hình mu no mô hình mu thc tế có tính dễ sử dụng, chúng mối quan hƯ trùc tiÕp víi c¸c ý niƯm mμu cđa trùc gi¸c cđa ng−êi bao gåm: − Hue - sắc mu Sturation - độ bÃo ho Lighness - độ sáng Bởi mô hình mu khác đà đợc phát triển nhằm đến việc sử dụng cho tiêu chí định Chúng ta tìm hiểu ba mô hình mu HSV, HLS v HVC, với mô hình mu cho ta phơng tiện phục vụ cho mục đích tiếp cận khác thể mầu sắc Sự tồn mô hình mầu nêu dẫn đến nhu cầu biến đổi từ mô hình mầu sang mô hình RGB dựa theo biến đổi khoảng không gian mÇu (X,Y,Z) cđa CIE (Commission Internationale de l’ Ðclairage) Sự biến đổi ny quan trọng CIE l tiêu chuẩn rộng khắp giới tất mô hình mu 5.8.3 Mô hình mu RGB ( Red - Green - Blue ) Mμu ®á, xanh cây, xanh gia trời (RGB) đợc sử dụng rộng rÃi mn hình CRT v loại mn hìnhđồ hoạ Raster mầu dựa vo hệ toạ độ Đề Những mu mô hình RGB đợc xây dựng sở thêm vo từ mu gốc, điều tạo nên đóng góp riêng mu gốc để mang lại kết qủa 106 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều Tập hợp mu nhỏ thnh phần xếp theo khối lập phơng đơn vị đợc hình 5.17 Đờng chéo khối lập phơng với cân số lợng mu gốc tơng úng với 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ể hệ mu RGB đợc xác định đặc tính tợng phát quang chất phèt mμn h×nh CRT Hai mμn CRT víi loại chất phốt khác cho gam mu khác Sự biến đổi mu đọc ®Þnh râ gam mμu cđa mét CRT so víi gam mμu cđa mét CRT kh¸c Chóng ta cã thĨ thay đổi gam mầu CRT ny sang CRT khác thông qua ma trận chuyển đổi M1 vμ M2 tõ kh«ng gian mμu RGB cđa tõng mμn hình tới không fgian mu (X,Y,Z) Công thức biến ®æi : X Y = Z Xr Xg Xb R Yr Yg Yb G Zr Zg Zb B Víi Xr, Xg, Xb l trọng số tơng ứng với mầu hệ RGB 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 trọng số Chúng ta viết lại công thức nh sau: X Y Z R = M G B Víi M1 vμ M2 l ma trận hệ số, biến đổi qua lại gam mu hai mn hình theo CIE đợc mô tả M2-1 * M1 Điều có nghĩa việc biến đổi thông qua RGB mμn h×nh mét tíi RGB cđa mμn h×nh hai NÕu mμu C1 lμ gam mμu cđa mμn h×nh mét nh−ng không l gam mu mn hình hai, mu tơng ứng 107 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều C2 = M2.M1.C1 bên ngoi khối lập phơng đơn vị v hiển thị đợc Việc chuyển đổi đơn giản nhng l giải pháp thoả mÃn cho giá trị Vấn đề ny giải cách thay giá trị R, G B giá trị nμy nhá h¬n b»ng vμ lín h¬n Các độ sắc mu cho mô hình phốt GRB có sẵn nh l thông số kỹ thuật công nghệ CRT Nêú không, thiết bị so mu đợc sử dụng để đo trực tiếp giá trị toạ độ mu, hay thiết bị đo quang phổ ®−ỵc sư dơng ®Ĩ ®o P(λ) vμ sau ®ã chóng đợc biến đổi thnh toạ độ mu phơng trình (*), (**) v (***) = k x= ∫ Pw 100 ( λ ) y λ d λ (*) X Y Z ,y= ,z = (**) (X +Y + Z) (X +Y + Z) ( X +Y + Z) X = 1− x − y x Y ,Y = Y , Z = Y (* * *) y y Biểu thị toạ độ thông qua (Xr, Yr) cho mμu ®á, (Xg, Yg) cho mμu xanh vμ (Xb.Yb) cho mu xanh da trời v xác định Cr nh sau : Cr = Xr + Yr + Zr Chóng ta cã thĨ tÝnh cho mμu ®á 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) = Zr/Cr , Zr = zr*Cr Với cách xác địng tợng tự cho Cg v Cb phơng trình ®−ỵc viÕt nh− sau : X Y Z = xrCr xgCg xbCb yrCr ygCg ybCb (1-xr - yr)Cr (1-xg -yg) Cg (1-xb - yb)Cb R G B (4*) C¸c Èn số Cr, Cg v Cb đợc tìm hai cách Cách thứ nhất, thể sáng Yr, Yg vμ Yb cđa mμu ®á mμu xanh da trời sáng đợc 108 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều đo với quang kế chất lợng cao Những thớc đo thể sáng ny đợc kết hợp với đại lợng yr, yb v yg đà biết để tính giá trị Cr =Yr/yr,Cg =Yg/yg , Cb =Yb/yb Những giá trị ny sau đợc thay vo phơng trình (4*) v ma trận chuyển đổi M đợc diễn tả quan hệ đại lợng đà biết (xr, yr) , (xg, yg), (xb, yb), Yr, Yg,Yb Chúng ta loại biến từ phơng trình (4*) biết đo đợc giá trị Xw, Yw v Zw mu trắng đợc tạo R=G=B=1 Trong trờng hợp ny phơng trình (4*) đợc viết lại nh− sau: Xw Yw Zw = xr yr (1-xr - yr) xg yg (1-xg -yg) xb yb (1-xb - yb ) CR CG CB Lời giải cho Cr,Cg,Cb l giá trị cần tìm v với giá trị kết thu đợc đợc thay cho phơng trình (4*) Mặt khác giá trị mu trắng đợc xác định xw ,yw,zw v Yw trờng hợp ny đợc tìm với phơng trình cho đại lợng cần tìm: Xw=xwYw/yw, Zw=zwYw/yw 5.8.4 Mô hình mu CMY (Cyan, Magenta, Yellow - xanh, đỏ tơi, vng) Ba mầu CMY l mầu bù tơng ứng cho mu đỏ, xanh cây, xanh da trời v chúng đợc sử dụng nh lọc loại trừ mu ny từ ánh sáng trắng Vì MCY đợc gọi l mầu bù loại trừ mu gốc RGB Tập hợp mu thnh phần biểu diễn hệ toạ độ Đề-các cho mô hình mu CMY giống nh cho mô hình mu RGB ngoại trừ mu trắng (ánh sáng trắng ) đợc thay mu đen (không có ánh sáng) nguồn sáng Các mu thờng đợc tạo thnh cách loại bỏ đợc bù từ ánh sấng trắng l đợc thêm vo mầu tối Những kiến thức CMY l quan trọng, xem xét thiết bị in mu 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 mμu 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ạ có tia sáng trắng, m chất l tổng mu đỏ, mu xanh cây, xanh da trời V× thÕ ta cã thĨ coi mμu xanh tÝm (cyan) l mu trắng trừ mu đỏ v l mu xanh da trời cộng mu xanh Tơng tự nh ta có mu đỏ thẫm (magenta) thụ mu xanh (green) tơng ®−¬ng víi mμu ®á céng mμu xanh da trêi Vμ cuèi cïng mμu vμng (yellow) hÊp thô mμu xanh da trời, mầu đỏ cộng với mu xanh 109 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều Khi bề mặt thực thể đợc bao phủ xanh tím v vng, chung hấp thụ hết phần mầu đỏ v xanh dơng bề mặt Khi tồn mầu xanh bị phản xạ từ chiếu sáng ánh sáng trắng Trong trờng hợp bề mặt đợc bao phủ mầu xanh tím, vng v đỏ thẫm, tợng hấp thụ xảy mầu đỏ, xanh v xanh da trời, l mu đen l mầu bề mặt Những mối liên hệ ny đợc miêu tả phơng trình sau: C R M = - G Y B Véc tơ đơn vị cột RGB miêu tả cho mu trắng v CMY miêu tả cho mu đen Sù biÕn ®ỉi tõ RGB thμnh CMY lμ: R C G = - M B Y Công thức biến đổi đơn giản ny đợc xử dụng cho việc biến đổi tám mu tạo thnh từ ttỏ hợp mu đỏ, xanh cây, xanh da trời thnh tám mu tổ hợp mu xanh tÝm, ®á thÉm vμ mμu vμng Sù biÕn ®ỉi ny đợc ứng dụng hiệu công nghÖ in phun vμ in Xerox Y ellow G reen C yan B lack R ed M agenta B lue Hình 5.18 Các mu bù (cyan, magenta, yellow) v pha trộn chúng 110 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều *Mô hình CMYK Một mô hình mu khác tơng tự, CMYK, sử dụng thêm mầu mu đen (viết tắt l K) nh mu thứ t, đợc sử dụng tr×nh in mμu cđa viƯc in Ên mét số thiết bị in ấn Với số kỹ thuật CMY quy định, mu đen đợc sử dụng để thay cho vị trí có thnh phần ngang theo C,M,Y Mối quan hệ sau đợc viết theo c«ng thøc: K = min(C, M, Y) ; C =C-K; M = M - K; Y=Y-K; 5.8.5 Mô hình mu YIQ Mô hình mu YIQ l mô hình mầu đợc ứng dụng truyền hình mầu băng tần rộng Mỹ, v có mối quan hệ chặt chẽ với mn hình đồ hoạ mu raster YIQ l thay đổi RGB cho khả truyền phát v tính tơng thích với ti vi đen trắng thÕ hƯ tr−íc TÝn hiƯu trun sư dơng hƯ thèng NTSC ( National Television System Committee) Thμnh phÇn Y YIQ l mu vng nhng l thể sáng v đợc xác định giống nh mu gốc Y cđa CIE ChØ thμnh phÇn Y cđa mét tÝn hiƯu ti vi mu đợc thể ti vi đen trắng Mu đợc mà hoá thnh phần lại l I v Q Mô hình YIQ sử dụng hệ toạ độ Đề-Các chiều với tập thnh phần nhìn thấy đợc biểu diễn nh khối ®a diƯn låi khèi lËp ph−¬ng RGB Sù biÕn đổi RGB thnh YIQ đợc xác định theo công thức sau: Y 0.299 0.587 0.114 I = 0,596 -0.275 -0.321 Q 0.212 -0.532 0.311 R G B Những đại lợng hng phản ánh mối liên hệ quan trọng mu xanh v mu đỏ v mối liên hệ không quan trọng mu sáng xanh da trời Nghịch đảo ma trận biến đổi RGB thnh YIQ đợc sử dụng cho biến đổi YIQ thnh RGB Phơng trình đợc viết với giả sử số mu RGB dựa sở tiêu chuẩn Phosphor RGB NTSC với giá trị (toạ độ) theo CIE l Red Green Blue 111 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiÒu x 0.67 0.21 0.14 y 0.33 0.71 0.08 Vμ cho điểm trắng phát sáng C l: xw =0.31, yw = 0.316 v Yw = 100.0 Các định rõ mô hình mu YIQ giải vấn đề tiềm ẩn tạo tiền đề cho việc phát triển rộng rÃi cho truyền phát vô tuyến băng tần rộng Hai mu khác đợc hiển thị mn hình mu khác nhau, nhng đợc biến đổi thnh YIQ v đợc hiển thị mn hình đen trắng chúng lại giống Vấn đề ny đợc tránh vệc định rõ hai mu với hai giá trị Y khác không gian mô hình mu YIQ Mô hình mu YIQ khai thác hai thuộc tính hữu ích hệ thống hiển thị Thứ hệ thống ny thay đổi thể sáng nhạy l thay đổi mu sắc bÃo ho Khả để phân biệt không gian đa mu yếu l đơn mu Điều ny đa giả thiết nhiều bit (đơn vị đo thông tin) dải tần đợc sử dụng tợng trng cho Y l đợc sử dụng để tợng trng cho I v Q cung cấp độ phân giải cao Y Thứ hai đối tợng bao phủ phần nhỏ vùng cảm giác mu hạn chế chúng ta, điều ny đợc rõ tơng xøng víi mμu mét chiỊu h¬n lμ mμu hai chiỊu Giả thiết ny cho I, Q hai có dải tần thấp Y Hệ thống mà NTSC mô hình mu YIQ vo tín hiệu truyền băng tần rộng sử dụng thuộc tính đạt giá trị lớn số lợng thông tin đợc chuyển dao kết hợp dải tần: 4MHz đợc ấn định cho Y, 1.5 cho I ,v 0.6 cho Q 5.8.6 Mô hình mu HSV ( Hue, Saturation, Value ) Các mô hình mu RGB, CMY, YIQ đợc định hớng cho phần cứng trái ngợc với mô hình mu HSVcủa Smith [SMIT78] hay đợc gọi l mô hình HSB với B l Brightness (độ sáng) đợc định hớng ngời sử dụng dựa tren sở tảng trực giác tông mu, sắc mầu v sắc thái mỹ thuật Hệ thống toạ độ có dạng hình trụ v tập mầu thnh phần không gian bên mô hình mu đợc xác định l hình nón sáu cạnh l hình chóp sáu cạnh nh hình 518 Đỉnh hình nón sáu cạnh V=1 chứa đựng mối quan hệ mu sáng Những mu mặt phẳn với V=1 không nhận mu sáng Mu sắc (hue) H đợc đo bëi gãc quanh trơc ®øng víi mμu ®á lμ 0° mu xanh l 120, mu xanh da trời l 240 xem hình 5.18 Các mu bổ xung hình chóp HSV 180 đối diện với mu khác Giá trị S l dÃy số truyền từ giá trị đờng trung tâm (trục V) đến mặt bên có hình dạng tam giác hình nón sáu cạnh Sự bÃo ho đợc đo tơng đối cho gam mu tơng ứng với mô hình mu ny, dĩ nhiên điều ny l tập hợp nhá cđa toμn bé biĨu ®å mμu CIE ®ã boà ho 100% mô hình 100% kích thích tinh khiết 112 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều Hình nón sáu cạnh, đờng cao V với ®Ønh lμ ®iĨm gèc §iĨm ë ®Ønh lμ mμu ®en v có giá trị toạ độ mầu V = 0, điểm ny giá trị H v S l không liên quan với Điểm có S =0 v V=1 l điểm mu trắng, giá trị trung gian V S = (trên đờng thẳng qua tâm) l mu xám Khi S = giá trị H phụ thuộc đợc gọi quy ớc không xác định ngợc lại S khác giá trị H l phụ thuộc 120° v yellow Green 1.0 www white cyan blue Red magenta 240 0.0 black Hình 5.19 Mô hình mầu HSV Ví dụ nh mu đỏ xác định H= 0, V=1, S = 1, Nh mét mμu nμo ®ã V = 1, S =1 lμ giống nh mu khiết mỹ thuật đợc sử dụng nh điểm khởi đầu mu pha Thêm mu trắng phù hợp để giảm S (không có thay đổi V) chuyển mu đợc tạo việc giữ S =1 v giảm V Sắc thái đợc tạo việc giữ hai S v V Dĩ nhiên thay đổi H tơng ứng để lựa chọn chất mu cần thiết để bắt đầu Chẳng hạn nh H, S v V phù hợp với khái niệm mu hội hoạ v xác green yellow www white cyan blue red magenta H×nh 5.20 Hình chiếu mô hình mầu HSV 113 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều Điểm cao hình nón sáu cạnh HSV phù hợp với hình chiếu đợc nhìn dọc hình chéo khối lập phơng mu RGB Từ mu trắng hớng đến mu đen đợc hình 5.20 Khối lập phơng RGB có khối lập phơng nhỏ bên trong, nh đợc minh hoạ hình 5.21 Mỗi hình lập phơng nhỏ đợc nhìn thấy dọc theo đờng chéo giống nh hình sáu cạnh hình 5, trừ hình nhỏ Mỗi mặt V bất biến khoảng không gian HSV tơng ứng với nhìn thấy hình lập phơng nhỏ bên khoảng không gian RGB Blue Cyan mageta Green Red Yellow H×nh 5.21 Khèi lËp phơng RGB v khối lập phơng nhỏ bên §−êng chÐo chÝnh cđa kh«ng gian RGB trë thμnh trơc V không gian HSV Chẳng hạn nhìn thấy trực giác phù hợp RGB v HSV thuật toán Va,Vb xác định phù hợp việc cung cấp biến đổi từ mô hình tới mô hình khác 5.8.7 Mô hình mu HLS.( Hue, Light, Saturation - mu sắc, ánh sáng, bÃo ho ) Mô hình mầu HLS đợc xác định tập hợp hình nón sáu cạnh đôi không gian hình trụ nh nhìn thấy hình 5.21 Mu sắc l góc quanh trục đứng hình nón sáu cạnh đôi với mu đỏ góc 0° (mét vμi cc th¶o ln cđa HSL cho mμu xanh gia trời l điểm v đặt mu đỏ cho chắn với mô hình HSV) Các mu xác định theo thứ tự gièng nh− biĨu ®å CIE ranh giíi cđa bị xoay ngợc chiều kim đồng hồ: Mu đỏ, mu vng, mu xanh cây, mu xanh tím, mu xanh da trời v đỏ thẫm Điều ny giống nh thứ tự xắp xếp mô hình hình nón sáu cạnh đơn HSV 114 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều 1.0 white 120° green yellow 00 • 0.5 • cyan blue 240 red magena 0.0 Black Hình 5.22 Mô hình mu hình nón sáu cạnh đôi HLS Tóm lại coi mô hình HLS nh biến dạng mô hình HSV m mô hình ny mu trắng đợc kéo hớng lên hình nón sáu cạnh phía từ mặt V = Nh với mô hình hình nón sáu cạnh đơn, phần bổ xung mu sắc đợc đặt vị trí 180 l xung quanh hình nón sáu cạnh đôi, bÃo ho đợc đo xung quanh trục trục đứng, từ trục tới bề mặt Độ sáng (lighness) = cho mu đen (tại điểm mút thập hình nón sáu cạnh đôi) v cho mu trắng (tại đầu mút cao nhất) Thêm thuật ngữ sắc mu, độ sáng v bÃo ho mô hình ny tơng tự nh nh thuật ngữ đợc giới thiệu mục nhng xác định cách không xác Các thđ tơc VIa vμ VIb vμ thùc hiƯn sù biến đổi HLS v RGB Chúng đợc sửa đổi từ quy định Metrick để dời tới H không xác định S=0 đến H=0 cho mu đỏ l cho mu xanh Mô hình HLS giống mô hình HSV l dễ sử dụng Tất mu xám có S=0 nhng mu bÃo hoμ lín nhÊt lμ t¹i S = 1, L = 0.5 thiết bị đo điện kế đợc sử dụng để xác định tham số mô hình mu, thực tế L phải l 0.5 để đạt tới mu mạnh l bất lợi mô hình HSV trờng hơp S =1 v V = đạt đợc giống Tuy nhiên tơng tự nh mô hình HSV mu mảng L =0.5 tất chúng giống l không nhận mu sáng Vì hai mu khác nhận độ sáng nh có giá trị L khác Hơn mô hình HLS, mô hình khác đợc thảo luận phần ny có cảm giác đơn điệu 115 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều Hệ thống mu Tektronix TekHVC (Hue, Value, Chroma) phát triển gần l sửa đổi mô hình CIE LUV loại đà cung cấp không gian mu đợc đo v nhận biết đợc khoảng cách mu l xấp xỉ nh Điều ny l lợi quan trọng hai mô hình CIE LUV v TekHVC chi tiết biến đổi từ mô hình CIE sang mô hình TekHVC đà đợc tách Tuy nhiên hiểu từ chuyển đổi ®ã tõ CIE XYZ sang CIE LUV lμ kh«ng phøc tạp Nh mong không gian mu loại đợc nhận biết v sử dụng rộng rÃi tơng lai 5.8.8 Các lệnh chuyển đổi mô hình mầu Matlab sử dụng hệ mu khác dùng để vẽ bề mặt lới Bảng mầu l ma trận m x với hm gồm giá trị để xác định mầu sắc thnh phần theo thứ tự đỏ, xanh lục, xanh dơng (R,G,B) Mu sắc bề mặt bề mặt đợc ấn định số bảng mầu, số ny thờng đợc tính tơng quan với giá trị từ đến max bề mặt Lệnh colormap đợc sử dụng để ấn định mu sắc cho bề mặt lới * colormap colormap (C ) - Xét C thnh giá trị bảng mÇu dïng hiƯn thêi, ma trËn C cã thĨ lμ mầu chuẩn Matlab ngời sử dụng tự định ngũa colormap colormap - Lệnh dùng để trả giá trị bảng mô hình dùng vo ma trận m x colorbar - Lệnh dùng để vẽ dải mầu thẳng đứng mn hình đồ hoạ thời colorbar ( 'horiz' ) - Vẽ dải mầu nằm mn hình đồ hoạ thời Dới l liệt kê 11 đồ mu Matlab - gray (m) đa dải mầu xám tuyến tính m mức độ - hsv (m) đa dải mầu sáng bÃo ho chạy từ giá trị đỏ qua giá trị xanh đến giá trị đỏ Hệ mầu hsv đợc xác định ba chØ sè hulg, saturation, volume - hot (m) ®−a gam mầu nóng l hỗn hợp mu đen lẫn đỏ xen vng lẫn trắng - cool (m) đa gam mu lạnh hỗn hợp cyan (xanh) v mu magenta khác - bone (m) đa giá trị dải mu gam mu phớt 116 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều xanh - copper (m) đa dải mầu đồng - pink (m) đa dải biến đổi theo mu hồng - flag (m) đa mầu theo mầu cờ UK v US (đỏ trắng xanh mu đen liên tiép thnh chuỗi - prism (m) đa chuỗi mu gồm máuau: đỏ, da cam, vng, xanh lục, xanh dơng v tím - jet (m) đa bảng mầu tơng tự hệ hsv với giá trị tõ ®á ®Õn xanh - white (m) ®−a gam mầu trắng cho hệ thống Hm sin(x)/x va colorbar theo truc tung 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 -0.2 -0.4 -0.2 10 20 30 40 50 Hình 5.23 Dải mầu mặt lới v thang bậc mầu colorbar 5.8.9 Thao tác với mầu sắc rgb2hsv ( C ) - Chuyển giá trị ma trận (m x 3)C từ hệ mầu rgb sang hƯ mÇu hsv - Chun ma trËn C (m x 3) tõ hƯ mÇu hsv sang hƯ mμu hsv2rgb ( C ) rgb 117 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều rgbplot ( C ) - Vẽ đồ thị bảng mầu rgb xác định ma trận C với cột tơng ứng cho mầu đỏ, xanh lục, xanh dơng caxis ( v ) - Đa khoảng xác định giới hạn bảng mầu với v = [vmin vmax]: vmin, vmax l cá thnh phần giới hạn dới v dải mầu - Đa khoảng xác định giá trị bảng mầu thời caxis caxis ('auto') - Xét lại dải mầu cho hệ thống với giá trị đợc lấy từ hệ thống Matlab spinmap ( t, s ) - Quay b¶ng mμu thời gian t giây sử dụng bớc nhảy s Nếu s không đợc định nghĩa giá trị mặc định = Nếu t không đợc xác định thời gian mặc định l 3s - Quay bảng mu không xác định thời gian spinmap( inf ) brighten ( s ) - Sử dụng bảng mầu sáng s (-1, 0) v bảng mầu thẫm s (-1,0) Nt=brighten(c,s) - Đa bảng mầu đậm nhật ma trận C m không vẽ lại mn hình contrast ( c, m ) - Đa bảng mầu có chiều di m từ bảng mầu ma trận C Nếu m không xác định chiều di bảng lấy chiỊu dμi cđa ma trËn whitebg - Chun mÇu nỊn mn đồ hoạ từ đen - trắng ngợc lại whitebg ( str ) - Xét mầu theo chuỗi str, hay vevtor hệ mầu rgb graymon - Xét biến số cho mn hình đen trắng Ví dụ 5.10: Cho đồ thị hệ mầu hsv sở lệnh rgbplot Ba đờng đồ thị định cho mầu sở tỉ lệ tham gia thnh phần mầu >> rgbplot ( hsv); >>title ( 'HÖ mμu hsv bëi rgbplot' ); >>axis ( [0 100 -0.1 1.1] ); 118 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều He mau hsv boi rgbplot RED 0.8 0.6 BLUE 0.4 0.2 GREEN 20 40 60 80 H×nh 5.24 Hình vẽ quan hệ bảng mầu hsv với lệnh rgbplot 119 Phần - Cơ sở 100 ... V, [ 1 ] , [ 1 ] , [ 1 1], 21 ) 10 3 PhÇn - Cơ sở Chơng - Đồ hoạ không gian ba chiÒu 25 20 15 10 30 20 10 0 10 15 20 25 H×nh vẽ 5 .16 với mảnh đợc xác định mặt ph¼ng X = 11 , Y = 11 , Z = 11 với... L Ma tran U 50 0 -1 10 -5 0 10 5 10 0 Ma tran Q 50 0 -1 10 10 Ma tran R 5 10 -5 0 10 0 10 Hình 5 .11 Mô tả kết ví dụ 5. 4 c Kết thu đợc với hm l tên đoạn chơng trình cho ta liệu sau phần lm quen... chơng trình sau tạo lới v giá trị hm Sau với hm plot đa kết mn hình đồ họa hm sin(x) * sin(y) hm sin(s)/s 10 -5 -1 0 -1 0 hàm x - x^3 + y^2 + + hàm 3D sin(r)/r 1 0 -1 10 -1 0 -1 0 10 -1 10 -1 0 -1 0 H×nh