[ TAG 476 ][10.07.2022] -Erfolgreich -IAP-20220403-20220403-1150 -GUIMODUL20220627
Ich nehme die Arbeit am GUIMODUL20220627 wieder auf.
In diesen Beitrag möchte ich noch eine sehr wichtige Buchquelle auflisten. Hier werden die Schnittstellen zu C und Python sehr gut erarbeitet.
- Quelle:
- [https://openbook.rheinwerk-verlag.de/python/]
- Geocoder
- [https://morioh.com/p/b769630d9371]
- Wie man Breiten- und Längengradkoordinaten liest
- [https://www.youtube.com/watch?v=lUMlmRzkuuY]
- The Earth and the Geographic Coordinates
- [https://www.youtube.com/watch?v=5jni8uZcyLg]
- How to Determine the Distance Between Geographic Coordinates?
- [https://www.youtube.com/watch?v=HaGj0DjX8W8]
- HOW TO FIND DISTANCE ALONG THE PARALLELS OF LATITUDE IN NAUTICAL MILES
- [https://www.youtube.com/watch?v=Nn__6vBNvME]
- Earth Geometry | How to Calculate Distance Along Latitude and Longitude
- [https://www.youtube.com/watch?v=E85HW2UEIFs]
- Spherical Geometry in Navigation
- [https://www.youtube.com/watch?v=xj4SzVnHC4c]
- spherical geometry part1
- [https://www.youtube.com/watch?v=fg7pEAo9irs]
- spherical geometry part2
- [https://www.youtube.com/watch?v=y66XcdMODPU]
- Intro to coordinate systems and UTM projection
- [https://www.youtube.com/watch?v=HnWNhyxyUHg]
- Introducing Coordinate Systems and Map Projections
- [https://www.youtube.com/watch?v=PICwxT0fTHQ]
Heute möchte ich die Eigenschaften des [ WND ]-Objektes ausarbeiten. Folgende Eigenschaften stehen den WND-Objekt zu Verfügung.
Die letzten Stunden habe ich mir den Kopf zerbrochen wie ich mit der X-Koordinate umgehen soll und wie kann diese mit dem [ PAS ]-System im Gesamtbild koordiniert werden.
NoNSTL = {
"WND": {
f"{si_ttl}": None,
f"{si_x}": None,
f"{si_y}": None,
f"{si_width}": None,
f"{si_height}": None,
f"{si_ml}": None,
f"{si_mr}": None,
f"{si_mt}": None,
f"{si_mb}": None,
f"{si_bg}": None,
f"{si_tc}": None,
f"{si_tpm}": None,
f"{si_ovrd}": None,
f"{si_alg}": None
},Folgende geometrischen Eigenschaften stehen sich gegenüber. Die Koordinaten und die Maßen(Breite, Höhe) des Fensters können durch folgende Koordinaten beschrieben werden.
- [ si_x ]
- [ si_y ]
- [ si_width ]
- [ si_height ]
- -------------------------------
- [ si_ml ]
- [ si_mr ]
- [ si_mt ]
- [ si_mb ]
Im Grunde läuft alles auf die Kartesischen Koordinaten [si_x] und [si_y] hinaus und bei Maßen haben wir [si_width], [si_height].
Selbst die Margin-Eigenschaften [si_ml, si_mr, si_mt, si_mb] werden auf die Eigenschaften [si_x, si_y, si_width, si_height] umgerechnet.
Zusätzlich benötige ich das Konzept von zwei Achsen. Weil es sich um ein zwei dimensionales Objekt handelt, können die Eigenschaften in zwei Gruppen zusammen gefasst werden.
- Gruppe - HORIZONTALE ACHSE
- [ si_x ]
- [ si_width ]
- [ si_ml ]
- [ si_mr ]
- Gruppe - VERTIKALE ACHSE
- [ si_y ]
- [ si_height ]
- [ si_mt ]
- [ si_mb ]
Die Koordination und Hierarchie der jeweiligen Eigenschaften sollten in einem System definiert werden. Dieses System wird den Namen [DIMENSION-AREA-SYSTEM] kurz [ DAS ]-System tragen.
Ich beginne mit der Version [ DAS20220710 ].
Die Hierarchie der Eigenschaften des [ DAS ]-Systems werden in [ DAS_LVL ] gegliedert. Die Version [ DAS20220710 ] besteht aus zwei LVLs. [LVL-0] Eigenschaften bilden die Kerneigenschaften bzw. Systemeigenschaften. Diese Eigenschaften werden an [tKinter] übergeben und haben im [ DAS ]-System die höchste Priorität.
Wenn [LVL-0] Eigenschaften vom USER vergeben werden, werden alle anderen Eigenschaften verworfen, umgeschrieben bzw. neu berechnet.
Als Beispiel: Wenn ich die Eigenschaften [si_x] und [si_ml] als USER vergebe, so wird der Wert von [si_ml] gelöscht und der Wert von [si_x] in [si_ml] übernommen.
Umgekehrt, wenn [si_x] nicht definiert ist, wird der Wert von [si_ml] übernommen.
Wenn beide nicht definiert sind, also beide tragen den Wert None, dann werden [si_x] und [si_ml] auf 0 gesetzt.
Das [ DAS ]-System besitzt keine Positions-Algorithmen. Das wäre noch sehr wichtig zu beachten.
Die Positions-Algorithmen werden im [ PAS ]-System definiert.
[ PAS ] steht für [Position-Areas-System].
Das [ PAS ]-Modul wird nach dem [ DAS ]-Modul ausgeführt.
-------------------------------------------------------------
GUIMODUL20220627-DAS
-------------------------------------------------------------
Protokoll-Identifier: [ GUIMODUL20220627 ]
[G-DRIVE] > ext_prj_2022 > IAP-20220403-20220403-1150 >
2022 > 06 > 27 > GUIMODUL20220627-DAS
-------------------------------------------------------------
§0.0 CNV - CANVAS
Das [ DAS ]-System beginnt mit der Definition des übergeordneten Systems [CANVAS]. Ich habe das [ CNV ] eingeführt um das [ DAS ]-System zu verallgemeinern. Ich beginne beim WND-Objekt. Das [ DAS ]-System benötigt Daten vom Desktop. Damit zum Beispiel die Eigenschaften [si_mr, si_ml, si_mt, si_mb] funktionieren muss ich die Desktop-Breite und Desktop-Höhe kennen. Wenn ich die Desktop-Eigenschaften im [ DAS ]-Modul auslesen würde, dann würde es bedeuten, dass das System sich nur auf das [WND]-Objekt anwenden lässt. Ich möchte jedoch, dass [ DAS ]-System auf alle GUI-Komponente anwenden können.
Somit stellt das [ CNV ]-Objekt eine Leinwand dar auf der die GUI-Komponente projiziert werden. Das [ CNV ]-Objekt braucht im Grunde nur eine Breite und eine Höhe. Positions-Koordinaten sind für das [ CNV ] nicht möglich.
§0.1 CNV_WIDTH
In Bezug auf das [ WND ]-Objekt ist [ CNV_WIDTH ] die Desktop-Breite.
§0.2 CNV_HEIGHT
In Bezug auf das [ WND ]-Objekt ist [ CNV_HEIGHT ] die Desktop-Höhe.
--------------------------------------------------------------
Eine Überlegung zu [si_x] und [si_ml].
Die letzten Stunden habe ich mir den Kopf zerbrochen wie ich mit der X-Koordinate umgehen soll und wie kann diese mit dem [ PAS ]-System im Gesamtbild koordiniert werden.
Weil das [ PAS ] mit mehreren Kind-Elementen eines Eltern-Elements arbeitet, ist die Lösung eigentlich ganz einfach.
Die Eigenschaften [ das_ml ] und [ das_x ] können Problemlos gleichgesetzt werden. Der Wert des [ das_x ] kann sogar in [ si_x ] übernommen werden.
Beim [ PAS ] werden die Koordinaten mit den Breiten zusammengerechnet und zum [ das_x ] bzw. [ si_x ] dazugerechnet.

Kommentare
Kommentar veröffentlichen