{VERSION 5 0 "HP RISC UNIX" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "" -1 256 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 257 "" 1 12 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 258 "" 1 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 256 1 {CSTYLE "" -1 -1 "Helvetica" 1 24 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 257 1 {CSTYLE "" -1 -1 "Helvetica" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 258 1 {CSTYLE "" -1 -1 "Helvetica" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 259 1 {CSTYLE "" -1 -1 "Helvetica" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 260 1 {CSTYLE "" -1 -1 "Helvetica" 1 24 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 261 1 {CSTYLE "" -1 -1 "helvetica" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 256 "" 0 "" {TEXT -1 11 "Farbmodelle" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 87 "restart:\nwith(p lots, display, display3d, textplot):\nwith(plottools, rectangle, cuboi d):" }}}{EXCHG {PARA 257 "" 0 "" {TEXT -1 1 " " }{TEXT 256 14 "Der RGB -W\374rfel" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 565 "N := 20: # Rechenaufwand ungef\344hr proportional 6*N^2 \ndisplay3d([se q(seq(seq(\ncuboid([(i-0.5)/N, (j-0.5)/N, k-0.5/N], [(i+0.5)/N, (j+0.5 )/N, k+0.5/N], color=COLOR(RGB, i/N, j/N, k)),\ni=0..N), j=1..N-1), k= 0..1),\nseq(seq(seq(\ncuboid([(i-0.5)/N, j-0.5/N, (k-0.5)/N], [(i+0.5) /N, j+0.5/N, (k+0.5)/N], color=COLOR(RGB, i/N, j, k/N)),\ni=0..N), j=0 ..1), k=0..N),\nseq(seq(seq(\ncuboid([i-0.5/N, (j-0.5)/N, (k-0.5)/N], \+ [i+0.5/N, (j+0.5)/N, (k+0.5)/N], color=COLOR(RGB, i, j/N, k/N)),\ni=0. .1), j=1..N-1), k=1..N-1)], axes=boxed, scaling=constrained, orientati on=[-135, 135]);" }}}{EXCHG {PARA 258 "" 0 "" {TEXT -1 33 "Querschnitt e durch den RGB-W\374rfel" }}{PARA 259 "" 0 "" {TEXT 257 28 "parallel \+ zur Rot-Gr\374n-Fl\344che" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 357 "N := 20: # Rechenaufwand ungef\344hr proportional (N +1)^3\ndisplay([seq(\ndisplay([seq(seq(\nrectangle([(i-0.5)/N, (j-0.5) /N], [(i+0.5)/N, (j+0.5)/N], color=COLOR(RGB, i/N, j/N, k/N)),\ni=0..N ), j=0..N),\ntextplot([1+2/N, 0.5, sprintf(\"B = %04.2f\", k/N)], colo r=blue, align=RIGHT, font=[HELVETICA, 48])]),\nk=0..N)], insequence=tr ue, axes=none, scaling=constrained);" }}}{EXCHG {PARA 260 "" 0 "" {TEXT -1 17 "YCbCr-Darstellung" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 120 "YCbCr := (y, cb, cr) -> \n COLOR(RGB, y + \+ 1.402*cr, y - 0.3441*cb - 0.7141*cr, y + 1.772*cb): \+ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 379 "N := 20: # Rechenaufwand unge f\344hr proportional (N+1)^3\nN := 2*ceil(N/2):\ndisplay([seq(\ndispla y([seq(seq(\nrectangle([(j-0.5)/N, (k-0.5)/N], [(j+0.5)/N, (k+0.5)/N], color=YCbCr(i/N, j/N, k/N)),\nj=-N/2..N/2), k=-N/2..N/2),\ntextplot([ 1/2+2/N, 0, sprintf(\"Y = %04.2f\", i/N)], color=red, align=RIGHT, fon t=[HELVETICA, 48])]),\ni=0..N)], insequence=true, axes=none, scaling=c onstrained);" }}}{EXCHG {PARA 261 "" 0 "" {TEXT 258 23 "Umrechnung RGB -> YCbCr" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "Y = L[R]*R + L[G]*G + L[B]*B; L[R] + L[G] + L[B] = 1;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "C[b] = (B-Y)/(2-2*L[B]), C[r ] = (R-Y)/(2-2*L[R]);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "Y \+ := L[R]*R + L[G]*G + L[B]*B;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "L[G] := 1 - L[B] - L[R];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 164 "Y := collect(L[R]*R + L[G]*G + L[B]*B, [R,G,B]);\nC[b] := map (normal, collect((B-Y)/(2-2*L[B]), [R, G, B]));\nC[r] := map(normal, c ollect((R-Y)/(2-2*L[R]), [R,G,B]));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "A := matrix(3,3, (i, j) -> coeff([Y, C[b], C[r]][i], \+ [R,G,B][j]));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "M := linal g[inverse](A);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 75 "for i to \+ 3 do\n[R,G,B][i] = add(M[i,j]*['Y', 'C[b]', 'C[r]'][j], j=1..3) od;" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "L[R] := .299; L[B] := .11 4; 'L[G]' = 1 - L[B]-L[R];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "A = matrix(3,3, (i,j) -> evalf(A[i,j]));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "M = matrix(3,3, (i,j) -> evalf(M[i,j]));" }}}} {MARK "1 0 0" 36 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }