RGB-Farbstudie
Author: Werner Knobloch

RGB-Farbstudie

\text {Werner Knobloch, 2011}

nach einer Vorgabe von 'abacus', Geogebra-Forum

Elementarbereiche = 6
Spanne = 6.4 (slider from 0 to 10, step 0.1)
Intervallenden = Sequence((j * Spanne / Elementarbereiche), j, 0, Elementarbereiche)
Ordmin = 0
Funktion03(x) = abs((2 / Element[Intervallenden, 3] * (Element[Intervallenden, 5] - x)))
Funktion01(x) = abs((2 / Element[Intervallenden, 3] * (x - Element[Intervallenden, 3])))
Klassen = 10 (slider from 0 to 10, step 1)
Farbreinheit = 0.5 (slider from 0.1 to 0.5, step 0.01)
Schritt = 17 (slider from 0 to 17, step 1)
A: (Element[Intervallenden, 2], 0)
B: (Element[Intervallenden, 4], 0)
Funktion02(x) = Funktion01(x) - 2
Funktion05(x) = Funktion03(x) - 2
Funktion06(x) = Funktion02(x) + Funktion05(x)
Funktion07(x) = (Farbreinheit * Funktion06(x))
Funktion08(x) = abs(Funktion07(x))
Funktion09(x) = (-Funktion08(x))
Funktion10(x) = Funktion09(x) + Funktion07(x)
Funktion11(x) = (Farbreinheit * Funktion10(x))
rot(x) = 1 + Funktion11(x)
rot_1 = Function(rot(x) + 1.2, 0, Spanne)
grün(x) = 1 - rot(x + Spanne / 6)
blau(x) = 1 - rot(x - Spanne / 6)
a = Segment((0, -2), (Spanne, (-2)))
D = Point(a)
C = (11, -1.3)
c = Circle(C, 1)
blau_1 = Function(blau(x) - 1.2, 0, Spanne)
grün_1 = Function(grün, 0, Spanne)
b = Segment((x(D), (-2.5)), (x(D), (-3.5)))
E: (x(C) + 3, y(C))
d = Segment((x(E), y(C)), (x(E) + cos(((360 * ° / Spanne) * x(D))), y(C) + sin(((360 * ° / Spanne) * x(D)))))
Ordmax: Spanne
Ordklasse(x) = floor(((x - Ordmin) / (Ordmax - Ordmin) * Klassen)) + 1
Bereichslänge = 1.6 (slider from 0 to Spanne, step 0.1)
Bereichsstart = 0 (slider from 0 to Spanne - Bereichslänge, step 0.1)
Farbtrafo(x) = Bereichsstart + (x * Bereichslänge / Klassen)
Klassenpunkte = Sequence(((j * Spanne / Klassen) - Spanne / 2 / Klassen, (-4)), j, 1, Klassen)
Kontroll_{Farbe}(x) = 1 + (Farbreinheit * ((-abs((Farbreinheit * (abs((2 / Element[Intervallenden, 3] * (x - Element[Intervallenden, 3]))) - 2 + abs((2 / Element[Intervallenden, 3] * (Element[Intervallenden, 5] - x))) - 2)))) + (Farbreinheit * (abs((2 / Element[Intervallenden, 3] * (x - Element[Intervallenden, 3]))) - 2 + abs((2 / Element[Intervallenden, 3] * (Element[Intervallenden, 5] - x))) - 2))))
Trennlinien = Sequence(Segment[(Element[Intervallenden, k], (-3.5)), (Element[Intervallenden, k], 3)], k, 1, 7)
e = Segment((x(D), (-4.5)), (x(D), (-5.1)))
f = Segment((x(D), (-5.4)), (x(D), (-6)))
Text1: "Hex \;\;\textcolor{#ff0000}" + (LaTeX[If[floor((rot(x(D)) * 255 / 16))  <  10, UnicodeToLetter[48 + floor((rot(x(D)) * 255 / 16))], UnicodeToLetter[55 + floor((rot(x(D)) * 255 / 16))]]]) + " \fgcolor{ff0000}" + (LaTeX[If[floor(Mod[(rot(x(D)) * 255), 16])  <  10, UnicodeToLetter[48 + floor(Mod[(rot(x(D)) * 255), 16])], UnicodeToLetter[55 + floor(Mod[(rot(x(D)) * 255), 16])]]]) + " \fgcolor{ff0000} \fgcolor{00ff00}" + (LaTeX[If[floor((grün(x(D)) * 255 / 16))  <  10, UnicodeToLetter[48 + floor((grün(x(D)) * 255 / 16))], UnicodeToLetter[55 + floor((grün(x(D)) * 255 / 16))]]]) + " \fgcolor{00ff00}" + (LaTeX[If[floor(Mod[(grün(x(D)) * 255), 16])  <  10, UnicodeToLetter[48 + floor(Mod[(grün(x(D)) * 255), 16])], UnicodeToLetter[55 + floor(Mod[(grün(x(D)) * 255), 16])]]]) + " \fgcolor{0000ff}" + (LaTeX[If[floor((blau(x(D)) * 255 / 16))  <  10, UnicodeToLetter[48 + floor((blau(x(D)) * 255 / 16))], UnicodeToLetter[55 + floor((blau(x(D)) * 255 / 16))]]]) + " \fgcolor{0000ff}" + (LaTeX[If[floor(Mod[(blau(x(D)) * 255), 16])  <  10, UnicodeToLetter[48 + floor(Mod[(blau(x(D)) * 255), 16])], UnicodeToLetter[55 + floor(Mod[(blau(x(D)) * 255), 16])]]]) + ""
Text2: "Palettencode =\textcolor{#ff0000} {" + (LaTeX[round((rot(x(D)) * 255))]) + "}; \space \textcolor{#00ff00}{" + (LaTeX[round((grün(x(D)) * 255))]) + "}; \space \textcolor{#0000ff}{" + (LaTeX[round((blau(x(D)) * 255))]) + "}"
Text4: "Palettencode =\textcolor{#ff0000} {" + (LaTeX[rot(x(D))]) + " }; \space \textcolor{#00ff00}{" + (LaTeX[grün(x(D))]) + " }; \space \textcolor{#0000ff}{" + (LaTeX[blau(x(D))]) + " }"