Các ngôn ngữ hướng đối tượng đã được cho thêm sức sống để có riêng những tính năng hoạt động và tương tác với thế giới bên ngoài. Ngoài ra, các đối tượng còn có thêm các đặc tính như là thừa kế và đa hình. Điều này là một ưu thế trong việc dùng ngôn ngữ loại này để mô tả các đối tượng của thế giới thực.
Chơng - Đồ hoạ không gian ba chiều Hình 5.13 Mặt lới với độ phản xạ cho bëi nguån s¸ng S surfl ( X, Y, Z, S ); shading interp; surfl ( X,Y, Z, S, k1); shading interp; Hình 5.14 Mặt lới chiều với mô hình ánh sáng khác surfl ( X,Y, Z, S, k2); shading interp; D = diffuse ( Nx, Ny, Nz, S ); surf ( X, Y, Z, D ); shading interp; colormap ( gray ); 100 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều 5.6 Điểm nhìn v phép phối cảnh Đồ hoạ dễ dng đợc quan sát v gần với thực tế đợc nhìn từ góc khác Lệnh view đợc dùng để thay đổi góc nhìn mn hình đồ hoạ Nó cho phép khả xác định đồng thời điểm nhìn lẫn góc, phơng độ nhìn v độ cao Phép chiếu phối cảnh thay đổi thông qua lệnh viewtx View >> view ( v, h ) - XÐt gãc nh×n cho mμn đồ hoạ Thanh v l góc phơng vị với chiều dơng mặt phẳng x, y đợc tính theo chiều kim đồng hồ Chiều cao mặt phẳng đợc xác ®Þnh míi thang ®o h >> [ v h ] = view - Trả lại góc mặt phẳng x,y vo v v chiều cao mặt phẳng vo h >> View ( r ) - Đặt điểm nhìn vo vị trí xác định r = [ x , y , z ] >> view ( n ) - Xét góc nhìn phụ thuộc theo giá trị n n = Gãc nh×n chn hai chiỊu Hay top-down nhìn từ xuống n = Góc nhìn chuẩn 3D cho bëi ma trËn x ®Ĩ chun đổi liệu vẽ thực thể đồ họa >> View ( T ) - Sư dơng gãc nh×n xác định ma trận x 4T vẽ ®å ho¹ Viewtx ( v , h , s , r ) - Trả lại giá trị ma trận x 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 [ 0 ]'); >>grid on >> view ( [1 0 ] ) ; 101 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều Hm sin(x)/x tren view( [1 0] 0.8 0.6 0.4 0.2 -0.2 -0.4 10 15 20 25 30 35 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 chiều với hình ảnh chièu Ví dụ hình bóng với góc nhìn >> view ( [ 1 ] ) Hình bóng mặt phẳng với góc nhìn không gian 3D Lệnh surf v mesh đợc sử dụng để vẽ hm hệ lới grid không Ví dụ 5.7 a) Chúng ta muốn nghiên cứu số Mach lĩnh vực hng không Việc tính toán v tạo lới gỉd đơn giản dòng lệnh text v hình vẽ số đợc tạo Matlab Lới grid đợc cất vo hai ma trận X1, Y1 ma trận mach chứa giá trị S0 Mach >> surf ( X1, Y1, Mach ); >> view ( ); >> axis ( [-0.5 1.5 -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 bạn cần phải su tầm đợc liệu ma trận X1 v Y1 102 Phần - Cơ sở Chơng - Đồ hoạ không gian ba chiều >> mesh( X1, Y1, ones ( size ( X1) ) ) ; >> view ( ); >> axis ( [-0.5 1.5 -1 ] ); 5.7 Slice kh«ng gian 3D Để nghiên cứu hÃng đồ hoạ biÕn Matlab cung cÊp cho chóng ta lƯnh slice LƯnh ny dùng để vẽ cắt lát không gian 3D với mầu điểm bề mựat lới tơng ứng với giá trị hm điểm >> slice ( V, xs, ys, zx, nx ) VÏ phân lớp hm ba biến xác định ma trËn V Ma trËn V lμ tËp cđa nx líp dới tính ba ma trận tạo lệnh meshgrid cïng ba tham biÕn vector xs, ys vμ zs sÏ xác định lát vẽ Ví dụ 5.8 Cho hm F(x,y,z) = X2 + Y2 + Z2 mét h×nh khối có giá trị [ -1 ] x [ -1 ] x [ -1 ] Đầu tiên định nghĩa lới grid không gian 3D thông qua hm meshgrid v tính giá trị hm F(x,y,z) thông qua điểm lới grid >> [ X, Y, Z ] = meshgrid ( -1 : : , -1 : : , -1 : 0.1 : ); >> V = X.^2 + Y.^2 + Z.^2; Số đợc tính 213 điểm v phải chọn mảnh no song song với trục toạ độ cần vẽ Vector [1 2] cho biÕt r»ng chóng ta mn vÏ nh÷ng mảnh 1, v 2, Điều đợc thực hiÖn qua lÖnh sau: >> slice ( V, [ 1 ] , [ 1 ] , [ 1 1], 21 ) 103 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 cïng víi c¸c mầu tơng ứng 5.8 Mầu sắc v kiểm soát hệ mầu Trong lĩnh vực đồ hoạ, việc kiểm soát ánh sáng v mu sắc l chức thiếu đợc hình ảnh thật sắc nét Trong Matlab ngời sử dụng đợc cung cấp số hm để kiểm soát mu sắc, ánh sáng, độ bóng v.v hình ảnh đợc tạo Ví dụ: Lệnh shading cho phép đặt cấu hình cđa viƯc in bỊ mỈt l−íi BỊ mỈt cã thể đợc vẽ có lới cộng với thang mầu nội suy 5.8.1 Các thuộc tính bề mặt Kiểu shading, type : Dùng để vẽ bề mặt cïng mét sè thc tÝnh sau - Faceted dïng ®Ĩ vẽ lới bề mặt v l kiểu mặc định hệ thống 104 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 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) 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 mμu 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 mn 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μ nh÷ng ma trËn hƯ sè, 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 cđa 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 nhng 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ị ny nhỏ v lớ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 mu đỏ mu 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 cịng lμ mμu xanh da trêi céng mμu xanh l¸ Tơng tự nh ta có mu đỏ thẫm (magenta) thụ mu xanh (green) tơng đơng với mu đỏ cộng mu 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 mμu 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ë ... Mach lĩnh vực hng không Việc tính toán v tạo lới gỉd đơn giản dòng lệnh text v hình vẽ số đợc tạo Matlab Lới grid đợc cất vo hai ma trận X1, Y1 ma trận mach chứa giá trị S0 Mach >> surf ( X1, Y1,... >> view ( ); >> axis ( [-0.5 1.5 -1 ] ); 5.7 Slice kh«ng gian 3D Để nghiên cứu hÃng đồ hoạ biến Matlab cung cÊp cho chóng ta lƯnh slice LƯnh nμy dùng để vẽ cắt lát không gian 3D với mầu điểm bề... lĩnh vực đồ hoạ, việc kiểm soát ánh sáng v mu sắc l chức thiếu đợc hình ảnh thật sắc nét Trong Matlab ngời sử dụng đợc cung cấp số hm để kiểm soát mu sắc, ánh sáng, độ bóng v.v hình ảnh đợc