L-system yorumlayıcısı üzerinde çalışıyorum ve quaternion'u rotasyonun iç gösterimi olarak kullanıyorum. Sonucu, ThreeJs JavaScript sahnesine vermem gerekiyor ve json sahnesini, bunu nasıl yapacağımı en iyi şekilde buldum.Three.js json sahnesinde quaternion rotasyonu nasıl kullanılır
https://github.com/mrdoob/three.js/blob/master/examples/scenes/test_scene.js üzerinde bir sahne örneği buldum, ancak dörtlü rotasyonlarla ilgili hiçbir şey yok.
yüzden http://threejs.org/io/s/quaternion yardıma kullanılan ve "rotasyonkuaternion ve useQuaternion özelliklere sahip ama bu hata nedeniyle muhtemelen eksik (sahne yükleyici tarafından yükseltilir, işe yaramaz gibi görünüyor THREE.Object3D olduğu bulundu Ben sipariş Y varsayalım (Ben de Euler açıları için quaternion dönüştürmek için denedim
"obj": {
...
"quaternion": [0.38268343236509,0,0,0.923879532511287],
"useQuaternion": true
}
ama bu alışkanlık nedeniyle muhtemelen açılarının uygulayarak diğer sırasının, benim için çalışmak: "özniteliği,) sonunda EDIT bakınız Z, X). Yukarıdaki örnekte, kuaterniyon, Z ekseni (zift) etrafında 135 derece dönerek Euler açılarına dönüştürülmüştür [pi, pi, pi/4] ancak sahnede doğru gösterilmemiştir. Aşağıdaki resim, Z ekseni tarafından diğerlerinden 11 derece daha fazla döndürülmüş blokları göstermektedir. Eksenler X (kırmızı), Y (yeşil) ve Z (mavi) dir. Euclid'e yanlış dönüşüm quaternion nedeniyle üst yarısı yanlış döndürülür (bu sayfayı uygulama için kullandım: http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToEuler/).
DÜZENLEME: Daha fazla inceleme sonra sahne yükleyici tarafından gündeme hata nedeniyle nesne üzerinde eksik "rotasyon" özelliğinin olduğunu. Çıktıdan sonra hata alamazsınız ve sahne yüklenir, fakat yanlıştır (gösterilen görüntü ile aynı şekilde) çünkü quaternion rotasyonları göz ardı edilir.
"obj": {
...
"rotation": [3.14159265358979,3.14159265358979,0.785398163397449],
"quaternion": [0.38268343236509,0,0,0.923879532511287],
"useQuaternion": true
}
Sahne yükleyicisi tarafından yükseltilen hata mesajında daha fazla var mı, özellikle de kuaterniyonların kullanımıyla ilgili neyi sevmediğini belirten bir şey var mı? –
Tamam, hata "döndürme" özniteliğinden kaynaklanıyor. Sahne yükleyici muhtemelen quaternion rotasyonları yüklemiyor. – NightElfik