Cleaned up perspective calc