jest CW veya ACW döndürme, 3 sipariş edip etmemeye karar örnek noktası
kullanım Unity3D içinde (ekranda örnek noktaları) C da (yoluyla) B, A ile başlayan ve hareket eder. bu noktada, her iki görüntüde de neredeyse 45 derece (neredeyse) olan açı (teta) hesapladım. problemin soldaki görüntüde kullanıcının CounterClockWise hareketinin ve sağ görüntü kullanıcısının saat yönünde dönmeyi amaçladığı sonucuna varmak istedim. ahh, hayal ettiğimden gerçekten karmaşık, lütfen öner.
anda birlik kodu
protected void calcAngles(){
v1 = go2.position - go1.position;
v2 = go3.position - go1.position;
v3 = go3.position - go2.position;
float angle = Vector3.Angle (v2, v1);
Debug.Log ("angle:" + angle.ToString());
//float atan = Mathf.Atan2 (Vector3.Dot (v3, Vector3.Cross (v1, v2)), Vector3.Dot (v1, v2)) * Mathf.Rad2Deg;
//Debug.Log ("atan2:" + atan.ToString());
}
herhangi bir fikir gibi.? psudo kodu. şimdiden büyük teşekkürler. şerefe, lau
Eğer bir kalabalık simülatörü inşa etmeyecekseniz (bu biraz ağır olacak), A'nın çocuğu olarak 2 yardımcı dönüştürücü kullanabilirsiniz. yerel alanda 0,0,0 konumundalar. Biri ** LookAt (B) ** kullanıyor. Bir diğeri de ** LookAt (C) ** kullanıyor. Öyleyse onların Y euler açıları arasındaki farkı alabilirsiniz. Bu, saat yönünde veya saat yönünün tersine dönmeniz gerekip gerekmediğini size söyleyecektir. –
"kalabalık simülatörü" neye yöneliyorsunuz, Nika? Kırmızıdan yeşile doğru yön almak için – Fattie
önemsizdir. sadece kırmızı eksi yeşildir. LookAt uygun değildir. Bu aslında * dönüşümü için kullanılır. sadece yönünü almak için, sadece pozisyonları çıkarma ve belki de – Fattie