Ankündigung

Einklappen
Keine Ankündigung bisher.

[gelöst] 3D-Viewer - Punktdefinitionen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [gelöst] 3D-Viewer - Punktdefinitionen

    Einen schönen Sonntag,

    ich beschätige mich zur Zeit mit einem 3D-Viewer zur Darstellung technischer Illustrationen. Als Ausgabeformat benutze ich SVG wegen der einfacheren Skalierung. Rotieren Drehen etc. funktionieren einwandfrei. Hidden Line wird über opacity per css erledigt nachdem die Flächen entsprechend dem Kameraabstand sortiert wurden.

    Die Polygone definiere ich wie folgt:
    Code:
    var mySvgDefs = [
      { name    : 'poly1',
        style   : 'myPoly',
        points  : [
                    [   0,    0,    0],
                    [ 500,    0,    0],
                    [ 500,    0,  300],
                    [   0,    0,  300]
        ]
      },
      { name    : 'poly2',
        style   : 'myPoly',
        points  : [
                    [ 0,    0,    0],
                    [ 0,    0,  300],
                    [ 0,  200,  300],
                    [ 0,  200,    0]
        ]
    ......
    Die points sind die Punkte, wie sie im Raum stehen. x-y-z (x Breite, y Höhe, z Tiefe)

    Das Schreiben der Definitionen ist wirklich eine Schweinearbeit und genau das ist mein Problem, ich finde keine Lösung dieses zu automatisieren. Ich habe mir schon diverse Exportformate von Sketchup angeschaut und finde nicht das richtige. Auch die Exporte von diversen Renderprogrammen liefern mir zumeist dreieckige Polygone, die ich nun überhaupt nicht brauchen kann, dann wird der Hidden-Line Algorithmus per JS kaum handlebar.

    Ein Protyp ist unter

    https://jsbin.com/nitovesuci/edit?output zu sehen. click run with js...(natürlich ohne jQuery)

    Kennt einer von Euch eine Lösung diese Punktdefinitionen zu automatisieren? Das Format ist mir egal, ich muss nur die Punkte in einer halbwegs nachvollziehbaren Datei vorliegen haben. Einen Filter kann ich sicher selber schreiben...

  • #2
    Mangels Antworten - ist schon ärgerlich hier, wenn man selber ein Problem hat...

    Kurz es ist über den VRML Export von Sketchup möglich. Der Export erfolgt leider in Zoll, muss man halt umrechnen. Die Achsen sind auch vertauscht, ist aber auch kein Problem. Habe mir einen Konverter geschrieben, der direkt eine SVGDefs Datei erzeugt...

    https://jsbin.com/huhehicaxo/edit?output

    Trotzdem Ergebnis ist geil, 3D-viewer mit Hidden-line in 5915 Bytes. Wobei hier noch 1k gespart werden kann, weil die Matrix-Operationen noch nicht optimiert wurden...

    Kommentar


    • #3
      Zitat von kaminbausatz Beitrag anzeigen
      Trotzdem Ergebnis ist geil, 3D-viewer mit Hidden-line in 5915 Bytes. Wobei hier noch 1k gespart werden kann, weil die Matrix-Operationen noch nicht optimiert wurden...
      Also mit 4k geht noch was

      https://youtu.be/jB0vBmiTr6o

      Kommentar


      • #4
        Zitat von hellbringer Beitrag anzeigen

        Also mit 4k geht noch was

        https://youtu.be/jB0vBmiTr6o
        Ja, WebGL und canvas bieten hier schon ganz gute Möglichkeiten....

        Schade finde ich, dass hier zu wenige unterwegs sind, die einem wirklich helfen können... Oder die Geschichte war zu speziell....

        Kommentar

        Lädt...
        X