ft-Designer in 2D-Vektorformat wandeln

Community-Firmware (cfw), Selbstbaucontroller (TX-Pi, ftduino, usw.), usw.
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
Benutzeravatar
MasterOfGizmo
Beiträge: 1804
Registriert: 30 Nov 2014, 07:44

ft-Designer in 2D-Vektorformat wandeln

Beitrag von MasterOfGizmo » 07 Nov 2019, 14:04

Für ein Buchprojekt wollte ich vor einiger Zeit ft-Designer-Dateien in ein skalierbares 2D-Format wandeln. Üblicherweise nutzen die Leute wohl möglichst hoch aufgelöste Bitmap-Dateien dafür. Ein 2D-Vektorformat hätte den Vorteil, dass man die Daten beliebig skalieren könnte, ohne dass es pixelig würde.

Aus dem Projekt ist nichts geworden, aber der Konverter funktioniert teilweise. Er findet sich nun unter https://github.com/harbaum/X3dToSvg. Dort ist auch ein Beispielergebnis als SVG oder PDF zu sehen.

Bild

Zwei Dinge machen mich noch nicht glücklich:
  • Für die Tiefensortierung benutze ich intern einen 2D-Z-Buffer. Dessen Auflösung ist natürlich nie hoch genug und das Ergebnis prinzipbedingt nie perfekt
  • Die Tiefensortierung klappt nicht immer. Zur Zeit sotiere ich die Tiefe nach der Entfernung zum Mittelpunkt eines Polygons. Das ist natürlich nicht immer korrekt und man sieht im Beispiel einige Stellen, wo Polygone von weiter hinten zu weit im Vordergrund liegen.
Fällt jemandem vielleicht ein existierender Weg von ft-Designer in ein 2D-Vektorformat ein? Und das gerne quelloffen und unter Linux lauffähig?

Was mir noch fehlt sind zwei Algorithmen:
  • Einer, der Polygone nach Sichtbarkeit von einem Punkt sortiert. Das löse ich zur Zeit, indem ich nach der Entfernung zum Mittelpunkt der Polygone sortuiere. Das ist aber nicht ganz korrekt
  • Einer, der feststellt, ob ein Polygon komplett von allen davor liegenen verdeckt wird. Das mache ich z.Zt, indem ich in einen 2D-Z-Puffer rendere. Aber das skaliert leider nicht perfekt
ftDuino, der Arduino für fischertechnik: http://ftduino.de

Benutzeravatar
MasterOfGizmo
Beiträge: 1804
Registriert: 30 Nov 2014, 07:44

Re: ft-Designer in 2D-Vektorformat wandeln

Beitrag von MasterOfGizmo » 07 Nov 2019, 14:48

Schade, dass es hierzu keinen Code zu geben scheint:
https://people.csail.mit.edu/sparis/pub ... orithm.pdf

Blender sollte sowas können. Das habe ich damals ausprobiert, da kam nix brauchbares raus. Sketchup kann das wohl in der Pro-Version, aber die muss man erst kaufen. Und dann gab's einen Laden namens "RightHemisphere" mit einem Tool, das das kann. Aber die sind von SAP gekauft und da scheint es nix mehr zu geben ....
ftDuino, der Arduino für fischertechnik: http://ftduino.de

Antworten