GeoGebra und Beschattung

Markus Hohenwarter shared this question 9 years ago
Answered

Thomas KRANNICH hat folgende Frage, die ich hier als Herausforderung für alle posten darf ;-)


Ich habe mir eine Steuerung der Rollläden in unserem Haus über EXCEL gebastelt und möchte nun auch eine Beschattung bei Sonnenschein während des Tages realisieren. Eine Berechnung der "Beschattungsbedingung" auf trigonometrischer Basis wird bei mehreren gleichzeitig schattenwerfenden Kanten ( z.B. Schatten durch Dach, Balkon, Erker, etc. ) sehr kompliziert, sodass ich auf die Idee kam, den Schatten, der auf die Fenster geworfen wird, in geogebra zu konstruieren.

In der beigefügten geogebra-Datei bin ich nun soweit gekommen, dass bei Ablauf der Zeit in Viertelstunden-Schritten ( Betätigung des Schiebereglers ) im Feld D98 der zugehörigen Tabelle der Text "AB" samt Datum und Uhrzeit erscheint, wenn das Fenster erstmals von der Sonne beschienen wird und der Rollladen zur Beschattung abfahren soll. Der Text "AUF" samt Datum und Uhrzeit erscheint, wenn das Fenster erstmals zur Gänze im Schatten liegt und der Rollladen wieder hochfahren soll. Dieser Eintrag erfolgt normalerweise 2 Mal pro Tag, zu den übrigen 94 Zeitpunkten pro Tag bleibt das Feld D98 leer.

Dieser Text im Feld D98 wird nun bei Betätigung des Schiebereglers in die "Liste4" eingetragen, die ich dann in EXCEL kopieren kann und die Zeitpunkte zur Steuerung der Rollläden verwenden kann.

Mein Problem ist nun, dass in dieser Liste bei Ablauf der Zeit im Viertelstunden-Intervall auch alle Leerfelder eingetragen werden, sodass die Liste statt 2 Feldern pro Tag dann 96 Felder pro Tag enthält und somit nach wenigen Tagen so lang wird, dass sich geogebra "aufhängt".


Wie könnte ich erreichen, dass nur die nichtleeren Felder in die Liste eingetragen werden ?

https://ggbm.at/559837

Comments (1)

photo
1

Hallo,

es hat ein wenig gedauert, da die mir geläufigen Skriptbefehle in der Version 4.2 anders oder gar nicht so funktionierten wie ich es gewohnt war

(Ich hatte die selbe Vorgehensweise wie hier für 4.0 beschrieben angedacht).

Aber ich habe eine mögliche Lösung gefunden.


Grob beschrieben lege ich einen Zähler an welcher immer um Eins erhöht wird wenn dein Text (D98) einen Inhalt aufweist.

Wird diese Bedingung erfüllt trage ich über einen Skriptbefehl den Inhalt in die Tabellenspalte ein, welche diesem entspricht.

Da die Befehle nicht mehr so ganz die selben zu sein scheinen oder ich einfach nicht mehr weis wie es richtig funktioniert musste ich noch "Schnickschnack" dazu basteln.

Aber schaue dir dazu einfach die Elemente in der Datei an.

Alle für mich unbedeutenden Elemente habe ich den Hilfsobjekte-Status erteilt.

Die Skriptzeilen befinden sich allesamt im Objekt D98.


Gruß

Loco


PS.: Ich würde einfach einen Sensor nutzen...


Nachtrag:

Mein Vorgehen scheint nicht ganz fehlerfrei zu sein, nach einem neu laden der Datei sind die vorher definierten Zellen falsch oder anders als gewünscht definiert.

Der Export nach Excel funtkioniert jedoch.

Aber im großen und ganzen ist das ein Weg den man einschlagen könnte.

https://ggbm.at/559883

© 2022 International GeoGebra Institute