[ 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.

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

Beliebte Posts aus diesem Blog

[ TAG 38 ][29.05.2021] - Erfolgreich - Freelancer-Portale

[ TAG 747 ][07.04.2023] -Erfolgreich -BNKTRS -Google Code -Objekt und Methodenliste

[ TAG 52 ][12.06.2021] - Erfolgreich - IAP-20210601-20210609-2325