Skip to content

Instantly share code, notes, and snippets.

@andrewdolce
Last active December 14, 2015 05:59
Show Gist options
  • Save andrewdolce/5039383 to your computer and use it in GitHub Desktop.
Save andrewdolce/5039383 to your computer and use it in GitHub Desktop.
target angle calculation
// Calculate normalized target vector to heading.
var globalHeading = input.faceHeading;
Vec2.setFromValues(
targetDir,
Math.cos( globalHeading ),
Math.sin( globalHeading )
);
// Calculate angle between forward vector and target vector.
Mat2.multVec2( xf.rotation, LOCAL_FORWARD, forward );
var cross = targetDir[0] * forward[1] - targetDir[1] * forward[0];
var sign = cross > 0 ? -1 : 1;
var dot = Vec2.dot( targetDir, forward );
var targetAngle = sign * Math.acos( dot );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment