Mit dem folgenden Code wird die Position eines Netzes als (0, 0, 0)
zurückgegeben, ist es aber nicht. Also wird der Positioin-Vektor nach dem Renderprozess berechnet?
objMesh wird aus objfile erstellt, es wird der Szene korrekt hinzugefügt und der Schwerpunkt ist ungefähr (-8, 3, 0) aber der Positionsvektor von objMesh ist (0, 0, 0) müssen wir zuerst automatisch etwas berechnen oder sollte ich es manuell aus den geometrischen Scheitelpunkten des Netzes berechnen?
http://81.214.75.32:8181/admin
ist die URL
Die Seite ist auf Türkisch, also werde ich die UI-Elemente übersetzen
In der Site gibt es den Menüpunkt "Dosya" Öffne den Menüpunkt und wähle "Proje Aç" Ein Dialogfeld wird angezeigt In diesem Dialog wählen Sie MUTFAK_1 Die Szene wird angezeigt In dieser Szene ist jede Mesh-Position (0, 0, 0) Ist das möglich?)
Ja. nach einigem reden mit mrdoob wurde mir klar, dass die position von objekten lokal ist. Meine Situation bestand darin, den Mittelpunkt meines Gitters unter Berücksichtigung der Scheitelpunkte zu finden. Unten ist der Code, um den Schwerpunkt zu erhalten, der aus einer Antwort # 447 ( Ссылка ) kam
%Vor%Jetzt haben wir den Schwerpunkt der Geometrie ...
Aktualisierung
Laut Ссылка wurde die .addSelf
in .add
nach r55
object.position
ist immer lokal für das Objekt. Wenn Sie die Position im Weltbereich erhalten möchten, müssen Sie sie von object.matrixWorld
beziehen.
Versuchen Sie es mit:
%Vor%r58
Die Funktion getPositionFromMatrix()
wurde in setFromMatrixPosition()
umbenannt.
Nach diesem Post liegt der Schwerpunkt C für a Mesh kann von
gefunden werden C = [Summe aller (A * R)] / [Summe aller A]
A = (Fläche eines Gesichts * 2)
R = Flächenschwerpunkt = Durchschnitt der Ecken, die das Gesicht bilden.
und hier ist der Code in three.js
%Vor%Tags und Links javascript three.js