Seite 1 von 1

Delaunay triangulation unter Alaska-2.0

Verfasst: So, 27. Dez 2020 5:55
von Eugeny Lutsenko
Hallo alle!

Weiß jemand, wie man eine qualitative Delaunay-triangulation unter Alaska-2.0 macht? Vielleicht gibt es eine gute vollständige Bibliothek der Arbeit mit Grafiken, und vielleicht gibt es den Quellcode in Alaska-2.0? Übrigens, gibt es eine Möglichkeit, Bibliotheken von Drittanbietern unter Alaska-2.0 zu verwenden? Ich benutze ausgiebig die Standard-Grafikfunktionen von Alaska-2.0.

Re: Delaunay triangulation unter Alaska-2.0

Verfasst: So, 27. Dez 2020 23:04
von brandelh
Hi,

man kann C/C++ Dlls mit allen möglichen Funktionen über die API Schnittstelle einbinden, vor kurzem war die Rede von einer aber was die kann weiß ich nicht.

Ich wusste da war was:

:arrow: https://www.xbaseforum.de/viewtopic.php ... 55#p137155

:arrow: FreeImage.DLL

Re: Delaunay triangulation unter Alaska-2.0

Verfasst: Mo, 28. Dez 2020 11:37
von AUGE_OHR
hi,

bei Delaunay-Triangulation handelt es sich um "einfache" Trigonometrische Berechnungen ... aber davon "viele"
das geht mit Xbase++ nur über 1 Core der CPU ... mehr Cores wären besser aber das kann Xbase++ nicht.

noch schnell als die CPU ist die GPU über die CUDA (NVidea) oder DCM (INTEL) Interface Schnittstelle.
ich habe ein Sample gefunden (Schrift Erkennung) was ich mit "Visual Express" compilieren musste um es unter FiveWin einzubinden. ähnlich wie das "DShow" Sample sehe ich "das" es funktioniert aber frage mich nicht "wie" ... das ist weit über meinem Level

---

Pablo hat für FreeImage einen "Wrapper", mit Hilfe von Ot4xb, für Xbase++ geschrieben
es ist auch ein PDF enthalten und die FreeImage.DLL v3.9.3 von 2007
imagefree.rar
(2.92 MiB) 202-mal heruntergeladen
die aktuelle v3.18.0 ist 4 x so gross (6 MB) wie die aus 2007 (1,5 MB)

klar fehlen bei Pablo die ganzen "neuen" Function aber man hat zumindest ein Gerüst auf dem man weiter aufbauen kann.

ich sehe allerdings nicht wie es bei Delaunay-Triangulation helfen sollte.

---

es gibt einen "Trick" um "1st Ribs" erheblich zu beschleunigen wenn man 4 Punkte als "Ecken" definiert.
diese Verknüpfungen werden dann "am Ende" neu berechnet.

Re: Delaunay triangulation unter Alaska-2.0

Verfasst: Mo, 28. Dez 2020 13:50
von Eugeny Lutsenko
Dies funktioniert nicht unter Alaska-2.0. Falsche Einstiegspunkt in die Bibliothek

Re: Delaunay triangulation unter Alaska-2.0

Verfasst: Mo, 28. Dez 2020 14:05
von AUGE_OHR
hi,
Eugeny Lutsenko hat geschrieben: Mo, 28. Dez 2020 13:50 Dies funktioniert nicht unter Alaska-2.0. Falsche Einstiegspunkt in die Bibliothek
es liegt doch der Source und sogar ein *.XPJ bereit also wo ist das Problem eine neue EXE zu erstellen :roll:
die alte Ot4xb sollte kein Problem sein aber man kann sich ja eine aktuelle unter www.xbwin.com holen.

Re: Delaunay triangulation unter Alaska-2.0

Verfasst: Mo, 28. Dez 2020 14:49
von brandelh
man sollte immer die Xbase++ DLL-Bibliotheken mit der eigenen Version neu kompilieren,
man MUSS es, wenn die Hauptversion geändert wurde. Ich vermute Pablo hat das mit einer 1.90 gemacht.

Re: Delaunay triangulation unter Alaska-2.0

Verfasst: Di, 29. Dez 2020 16:06
von Eugeny Lutsenko
brandelh hat geschrieben: Mo, 28. Dez 2020 14:49 man sollte immer die Xbase++ DLL-Bibliotheken mit der eigenen Version neu kompilieren,
man MUSS es, wenn die Hauptversion geändert wurde. Ich vermute Pablo hat das mit einer 1.90 gemacht.
Ich habe es sofort verstanden. Und versuchte es. Aber ich konnte nicht, weil er verwendet Bibliotheken, die ich nicht habe (Sie sind nicht in Alaska-2.0 oder Express++). Also kann ich Sie nicht neu kompilieren.

Re: Delaunay triangulation unter Alaska-2.0

Verfasst: Mi, 30. Dez 2020 1:57
von AUGE_OHR
Eugeny Lutsenko hat geschrieben: Di, 29. Dez 2020 16:06
brandelh hat geschrieben: Mo, 28. Dez 2020 14:49 man sollte immer die Xbase++ DLL-Bibliotheken mit der eigenen Version neu kompilieren,
man MUSS es, wenn die Hauptversion geändert wurde. Ich vermute Pablo hat das mit einer 1.90 gemacht.
Ich habe es sofort verstanden. Und versuchte es. Aber ich konnte nicht, weil er verwendet Bibliotheken, die ich nicht habe (Sie sind nicht in Alaska-2.0 oder Express++). Also kann ich Sie nicht neu kompilieren.
es ist ALLES im ZIP vorhanden denn es wird nur Ot4XB benötigt was keine Probleme unter Xbase++ v2.x machen sollte.

ansonsten die Fehlermeldung hier im Forum posten damit wir helfen können.

Re: Delaunay triangulation unter Alaska-2.0

Verfasst: Mi, 30. Dez 2020 5:15
von Eugeny Lutsenko
Alles funktioniert. Aber ich habe die Delaunay-triangulation nicht gesehen. Und im Allgemeinen ist alles sehr gut gemacht. Wahrscheinlich werde ich verwenden. Und die Dokumentation ist da und alles funktioniert. Vielen Dank an alle!

Re: Delaunay triangulation unter Alaska-2.0

Verfasst: Mi, 30. Dez 2020 8:00
von AUGE_OHR
Eugeny Lutsenko hat geschrieben: Mi, 30. Dez 2020 5:15 Alles funktioniert. Aber ich habe die Delaunay-triangulation nicht gesehen.
wie kommst du darauf das es etwas mit Delaunay-triangulationzu tun hätte :?:
solche LIBs sind meistens zum "manipulieren" eines Image ... das hat nichts mit "Mathematischen" Formel zu tun :roll:

---

IHMO denke ich nicht das die Grafik das Problem ist sondern die Berechnungen insbesondere des "1st Ribs".
es ist wie bei Schach wo man am Anfang viele Eröffnungszüge hat.

wie schon gesagte hilft der Trick mit 4 x Points als "Rahmen" um die Zeit deutlich zu reduzieren.
statt ca 1200 Sec. benötige ich dann 88 Sec. ... die 4 "Ecken"" raus zu nehmen dauert nur paar Sec.

bei 10000 x 10000 x 2 wird eine 32 Bit App langsamer wenn sie sich der 1.4 - 1.5 GB Grenze nähert
die 64 Bit App hat da keine Probleme ... aber der Zeit Aufwand steigt Exponential an :!:
ohne zusätzliche Hardware ( GPU ) und "passender" Software kaum zu lösen ...

---

es gibt sicherlich schon "Lösungen" aber der Code wird kaum in xBase sein da es keine "Hoch-Sprache" wie "C" ist.
Die XbParts sind die "Wrapper" für die API Functionen welche meisten in "C" geschrieben sind.

um eine "C" DLL unter Xbase++ einzubinden benötigst du also einen "Wrapper" und dabei kann dir Ot4xb helfen.
das FreeImage Demo zeigt dir "wie" man vorgehen kann ...