Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function setVectorLength(%vec, %desiredLength)
- {
- error("setVectorLength vec:" SPC %vec SPC "desiredLength" SPC %desiredLength);
- //this only works if we start with a unit vector so we have the relative valuse for x y and z
- %vecNorm = vectorLen(%vec) > 1 ? vectorNormalize(%vec) : %vec;
- // x + y + z = the number to devide the length by in order to get the proper scale by which to
- //multiply the vector elements
- %nl = mAbs(getWord(%vecNorm, 0)) + mAbs(getWord(%vecNorm, 1)) + mAbs(getWord(%vecNorm, 2));
- %scale = %desiredLength / %nl;
- //now vector scale it and send it back
- %newVec = vectorScale(%vecNorm, %scale);
- error("finalVec:" SPC %newVec);
- return %newVec;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement