Game development
Sprite pivots and transform-aware collision
A sprite rotates around an origin. Choosing that pivot deliberately makes turning and aiming easier to control; a corner origin may produce a very different motion from a center origin.
Keep collision geometry in local coordinates, then transform it into world coordinates when needed. A visible image rectangle is not always a useful hit shape, particularly when transparent padding or rotation is involved.
Draw the pivot and collision bounds during development. Test a sprite at several angles and near a wall. This gives a visible explanation when an apparently clear path fails a collision check.