handling possible runaway matrix manipulation with a perspective reset