다른 벡터와 거리에서 벡터를 만들려면 어떻게해야합니까?거리와 벡터에서 벡터 만들기
예를 들어, vector3d(1,1,2)
및 거리 12를 사용하면 방향이 같지만 길이가 더 긴 벡터를 만들 수 있습니다.
다른 벡터와 거리에서 벡터를 만들려면 어떻게해야합니까?거리와 벡터에서 벡터 만들기
예를 들어, vector3d(1,1,2)
및 거리 12를 사용하면 방향이 같지만 길이가 더 긴 벡터를 만들 수 있습니다.
원하는 방향으로 unit vector을 찾고 싶습니다. XNA에서 이것은 Vector3.Normalize
에 의해 주어진다. 그러면 최종 거리만큼 단위 벡터 (정의에 따라 길이 = 1)가 scalar multiply 수 있습니다.
예는 :
var originalVector = new Vector3(1, 1, 2);
var finalLength = originalVector.Length + 12; // "longer by 12", this could be whatever you want
originalVector.Normalize(); // make it a unit vector
var finalVector = originalVector * finalLength;
Asik의 대답은 수학적 관점에서 100 % 정확합니다. 확대 된 벡터를 원래의 것으로 사용하려면
var originalVector = originalVector * finalLength;
두 벡터가 없습니다. 하나의 벡터와 하나의 거리를 가지고 있습니다. – user3741996
그러면'originalVector * finalLength'의 결과를'originalVector'에 할당 할 수 있습니다. 별도의 변수로 설명하고 있지만 원하는 것은 무엇이든 할 수 있습니다. 수학은 동일합니다. – Asik
글쎄요, 저를 저주 해주세요. 여기에 게임에서 모든 "움직임"을 계산하는 "복잡한"pytagore 수학을 사용 했었습니다 ... 나는 이것이 도메인에서 클래스없이 시작했을 때 일어나는 일이라고 생각합니다 ... –