Thonny programmieren Farbverlauf?
Ich habe folgende Aufgabe:
Meine Lösung dazu sieht wie folgt aus und funktioniert auch
[Bild von der Moderation entfernt] Was ist schlimm an einer Programmierung, dass sie entfernt wird?
Meine Frage ist wie ich auf die Formel blau=blau+1/(p/2) gekommen bin? Ich habe mir dabei irgendwas gedacht aber es wieder vergessen. Genau das gleiche auch bei grün und rot versteht sich
3 Antworten
Der Wert einer Farbe, z.B. blau, wird in Abhängigkeit der aktuellen Position p (von 0 bis pMax) verändert.
Für die Werte 0 und pMax bleibt blau gleich.
Für die Werte pMax / 2 (also in der Mitte) hat blau seinen maximalen Wert erreicht.
Um die Veränderung von 0 bis pMax / 2 (die erste Hälfte) zu erreichen, benutzt man den Wert p / 2.
Du erhöhst also blau (entsprechend der aktuellen Position p) um einen immer konstanten Anteil (1 / (p / 2)) für jeden neuen Pixel und damit für jeden neuen Wert p.
Das Band ist p Einheiten lang. Das heißt, nach p/2 Schritten ist man bei der Hälfte angekommen.
Zuerst startest Du mit schwarz, und drehst bei jedem Schritt den Blauwert weiter auf.
Schritt 0: blau = 0
Schritt 1: blau = 1/(p/2)
Schritt 2: blau = 2/(p/2)
...
Schritt p/2:
also ist der Blauwert jetzt zu 100% aufgedreht.
In den restlichen Schritten p/2 + 1 bis p, drehst Du den Rot- und Grünwert gleichzeitig auf dieselbe Weise auf, sodass Du am Ende die Farbe (1,1,1) erhältst, also reines weiß.
Das ist übrigens eine sehr gute Lösung!
du inkrementierst ‚blau‘ jedes Mal um 1, das wird dann aber in Abhängigkeit von die Hälfte der Anzahl Punkte (p/2) geteilt
das scheint eine Strategie zu sein, die Inkrementation von der Farbe abhängig von der eingegebenen Länge dynamisch zu strecken oder zu stauchen, sodass der Gradient nicht zu früh oder zu spät aufhört
ajkcdajefiu~