Frage

Ich brauche eine Funktion, um den Wert eines Voxel (3D-Pixel) von einem X.Volume-Objekt mit den X-, Y-, Z-Koords als Eingang zu erhalten.Dies dient dazu, eine LableMap als Referenz für eine Atlas-Funktion zu verwenden.Gibt es eine Möglichkeit, dies zu tun?

Vielen Dank,

edward

War es hilfreich?

Lösung

derzeit nein, obwohl die XTK-Entwickler etwas Ähnliches schaffen, das in World-Koordinaten erläutert hat Von Screen-Koordinaten , obwohl ich glaube, was ich getan habe, gibt es eine nicht project-Funktion und einen Strahl- / Dreieck-Kreuzungstest. Ein Strahl- / Dreieck-Schnitttests testet nur einen Strahl von Ihrem Bildschirm in die 3D-Welt und gibt die ersten geschnittenen Dreieckkoordinaten zurück, aber natürlich müssen Sie die Voxel finden. Sie können versuchen, eine nicht-Project-Funktion zu erstellen, und etwas Ähnliches der Strahl- / Dreieck-Kreuzung, sondern findet stattdessen das nächstgelegene Voxel statt des Dreiecks. Hilfe bei einer Unproject-Funktion ist hier http://myweb.lmu.edu /dondi/share/cg/unproject-texplant.pdf , aber ermächte, dass der Link Gluunproject von OpenGL erklärt, aber erläutert aber immer noch, was wir tun müssen, wir machen nur eine alternative Version von Gluunproject für WebGL. Alle Lösungen, die Sie möglicherweise finden, wären sehr geschätzt, wenn Sie zu XTK beigetragen haben. Oder Sie können auf die nicht -oject-Funktion warten, die möglicherweise aus dem zugehörigen Problem beim Finden der 3D-Koordinaten stammt.

Andere Tipps

was sind deine (x, y, z)? Sind sie die Koordinaten der Weltbasis oder in der Basis der Welt? In beiden Fällen könnte eine Lösung berechnet werden (es wird im 1. Fall etwas komplizierter sein), aber ich denke, es würde ein paar Änderungen in den Quellen erfordern.

Möchten Sie ein bisschen in den Quellen codieren und nehmen? Es wäre toll für XTK-Benutzer wie uns! Sie sollten nur durch den HIearchy der Lautstärke gehen und ein paar Aktivitäten durchführen:

  • wenn (x, y, z) in der Basis der Welt koordiniert: kompliziert. Muss einige Tests tun: -)
  • Wählen Sie eine Richtung zur Arbeit in (1 Volume kann Scheiben in 3 Richtungen haben), für Ex-Slicesx für die 1. Richtlinie
  • Mit der Center X-Koordinate des Volumens X-Koordinate, der Volume X-Abstand und die X-Koordinate des ausgewählten Punkts finden die gute Scheibe in Slicesx
  • Mit dem Zentren des Volumens (y, z), dem Abstand des Volumens Y- und des Z-Abstands und der Y- und Z-Koordinaten des ausgewählten Punkts erhalten Sie die (x ', y') -Oordinate auf der Texturkarte der ausgewählten Scheibe
  • mit der ausgewählten Texturgröße der Slice-Texturgröße (x '', y '') die Koordinaten auf dem Texturbild des Slice
  • Lesen Sie den (x '' ', Y' ') Punkt der Textur

Es tut mir leid, dass ich diese Woche nicht mehr anzusehen, aber möglicherweise später.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top