Vector3.Cross
Declaration
public static Vector3 Cross(Vector3 lhs, Vector3 rhs);Параметры
| Параметр | Описание |
|---|---|
| лс | Первый входной вектор. |
| РХС | Второй входной вектор. |
Возвращаемое значение
Vector3 Перекрестное произведение вектора lhs и вектора rhs. Этот вектор обычно не нормализован.
Описание
Вычисляет перекрестное произведение двух трехмерных векторов.
Перекрестное произведение двух трехмерных векторов приводит к третьему вектору, который перпендикулярен двум входным векторам. Величина результата равна величинам двух входных векторов, умноженным вместе и затем умноженным на синус угла между входами. Вы можете определить направление вектора результата из двух входных векторов, используя "правило левой руки".
Правило левой руки применяется к Cross(a, b).
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { // Get the normal to a triangle from the three corner points a, b, and o, where o is the common origin point used to calculate two side vectors of the triangle. Vector3 GetNormal(Vector3 a, Vector3 b, Vector3 o) { // Calculate vectors corresponding to two of the sides of the triangle. Vector3 side1 = a - o; Vector3 side2 = b - o;
// Cross the vectors to get a perpendicular vector, then normalize it. This is the Result vector in the drawing above. return Vector3.Cross(side1, side2).normalized; } }