Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
kurse:ef05a-2021:kurven:xmastree [2021/11/15 07:23] Ivo Blöchliger [Christbaumbeleuchtung] |
kurse:ef05a-2021:kurven:xmastree [2021/11/29 07:48] (current) Ivo Blöchliger |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Christbaumbeleuchtung ====== | ====== Christbaumbeleuchtung ====== | ||
- | Zur Zeit befinden sich 200 LEDs auf dem Baum, die einzeln adressiert werden können (und theoretisch je 65k Farben darstellen können). Die LEDs befinden sich an folgenden Positionen: | + | Zur Zeit befinden sich <del>200</ |
- | <hidden Positionen der LEDs> | + | |
- | <code python> | + | {{kurse: |
- | leds = [[-32.3, 29.4, 46.5], [-36.9, 21.1, 55.7], [-36.9, 21.7, 56.6], [-35.3, 26.0, 63.3], [-34.0, 13.6, 68.4], [-31.9, | + | |
- | </ | + | |
- | </ | + | |
Der Nullpunkt des Koordinatensystems befindet sich am Boden mittig unter dem Stamm, die $z$-Achse nach oben). | Der Nullpunkt des Koordinatensystems befindet sich am Boden mittig unter dem Stamm, die $z$-Achse nach oben). | ||
+ | |||
+ | [[kurse: | ||
===== Darstellung der 3-dimensionalen Punkte ===== | ===== Darstellung der 3-dimensionalen Punkte ===== | ||
Line 33: | Line 32: | ||
+ | |||
+ | ===== Farben ===== | ||
+ | |||
+ | <code python hsvtorgb.py> | ||
+ | # from https:// | ||
+ | # Input: Dezimalzahlen zwischen 0.0 und 1.0 | ||
+ | # Output: Dezimalzahlen zwischen 0.0 und 1.0 | ||
+ | def hsv_to_rgb(h, | ||
+ | if s == 0.0: return (v, v, v) | ||
+ | i = int(h*6.) # XXX assume int() truncates! | ||
+ | f = (h*6.)-i; p,q,t = v*(1.-s), v*(1.-s*f), v*(1.-s*(1.-f)); | ||
+ | if i == 0: return (v, t, p) | ||
+ | if i == 1: return (q, v, p) | ||
+ | if i == 2: return (p, v, t) | ||
+ | if i == 3: return (p, q, v) | ||
+ | if i == 4: return (t, p, v) | ||
+ | if i == 5: return (v, p, q) | ||
+ | </ | ||
+ | |||
+ | In TigerJython | ||
+ | <code python> | ||
+ | | ||
+ | </ | ||
+ | |||
+ | {{kurse: | ||
+ | ===== Animation ===== | ||
+ | Programmieren Sie eine Funktion '' | ||
+ | |||
+ | Neuerungen im Code: | ||
+ | * Positionen sind in der Datei posdata.py gespeichert und werden mit import in den Code eingebunden. | ||
+ | * Code zur Umwandlung hsv->rgb eingebunden | ||
+ | * Zeitmessung (import time) | ||
+ | * Funktion, die die Farbe setzt | ||
+ | |||
+ | Aktueller Code: {{kurse: | ||
+ | |||
+ | Aktueller C++ Code vom «echten» Christbaum: https:// |