Ich habe Daten, bei denen ein Teilnehmer an jeder Hand Positionsdaten hatte:Verwenden von R: Wie animiert man mehrere 3D-Objekte in einer einzelnen rgl-Leinwand?
links: rechts:
Positionsdaten hat
pos.x
pos.y
pos.z
irgendwann t
Die erste Frage war, über den Import von OBJ zur Arbeit mit RGL: https://stackoverflow.com/posts/46626767/revisions
Das habe ich herausgefunden. Ich habe Funktionen geschrieben, um rgl
Mesh-Framework für Open-Source-OBJ-Dateien zu verbessern.
Ich legte die erforderlichen Funktionen online: https://gist.github.com/MonteShaffer/d142210cddf346c86aeab1ea2d1d7e9d
die Positionsdaten sollten auf einer Armbanduhr erfasst werden, so dass ich möchte in der Lage sein zu zeigen, zwei oder mehr 3D-Datenobjekte und animieren jeweils unabhängig voneinander basierend auf Positions/Zeit Daten.
Behandeln Sie die Hand wie ein starres Objekt, wobei sich die Armbanduhrregion entsprechend bewegt.
stellte ich die hand.OBJ Datei online: https://gist.github.com/MonteShaffer/6c0057b1431364caf120220db77dde4b
ich grundlegender Grafik bewusst bin, Aktualisierung, Spinnen:
library(rgl)
mymesh = buildBasicMeshFromOBJ(parseFileOBJ("hand.OBJ"));
open3d()
shade3d(mymesh, col = "pink")
par3d(userMatrix = rotate3d(par3d("userMatrix"), 0.1, 1,0,0))
play3d(spin3d(axis = c(1, 0, 0)))
Mein Ziel ist es, mehrere Objekte auf der gleichen rgl Leinwand zu zeichnen.
z.B.
righthand = mymesh
lefthand = mymesh
head = buildBasicMeshFromOBJ(parseFileOBJ("head.obj"));
und jedes Element hat, unabhängig als eine Animation im Laufe der Zeit auf Positions/Zeit-Daten für jedes Element basierend bewegen. Vorläufig bleibt der Kopf ruhig, aber jede Hand bewegt sich basierend auf der starren Idee mit der Position, die das Handgelenk darstellt.
Es wäre ein Bonus, dass die Maus ziehen könnte (um 3D-Ansichten um die Hände und den Kopf zu ändern), während die Animation läuft.