Wikipedia'dan:
çapraz çarpım, iki giriş vektörünü içeren düzleme dik olan başka bir vektörle sonuçlanan üç boyutlu bir Öklid uzayında iki vektör üzerinde ikili bir işlemdir .
Tanımın yalnızca üç ( veya yedi, bir ve sıfır ) boyutta tanımlandığı göz önüne alındığında , iki 2d vektörünün çapraz çarpımı nasıl hesaplanır?
İki uygulama gördüm. Biri yeni bir vektör döndürür (ancak yalnızca tek bir vektörü kabul eder), diğeri bir skaler döndürür (ancak iki vektör arasındaki bir hesaplamadır).
Uygulama 1 (bir skaler döndürür):
float CrossProduct(const Vector2D & v1, const Vector2D & v2) const
{
return (v1.X*v2.Y) - (v1.Y*v2.X);
}
Uygulama 2 (bir vektör döndürür):
Vector2D CrossProduct(const Vector2D & v) const
{
return Vector2D(v.Y, -v.X);
}
Neden değişen uygulamalar? Skaler uygulamayı ne için kullanmalıyım? Vektör uygulamasını ne için kullanmalıyım?
Sormamın nedeni, kendim bir Vector2D sınıfı yazıyorum ve hangi yöntemi kullanacağımı bilmiyorum.