Construct lookat view matrix.
(lookdir, up, position, subtract_position=False)
| 219 | |
| 220 | |
| 221 | def viewmatrix(lookdir, up, position, subtract_position=False): |
| 222 | """Construct lookat view matrix.""" |
| 223 | vec2 = normalize((lookdir - position) if subtract_position else lookdir) |
| 224 | vec0 = normalize(np.cross(up, vec2)) |
| 225 | vec1 = normalize(np.cross(vec2, vec0)) |
| 226 | m = np.stack([vec0, vec1, vec2, position], axis=1) |
| 227 | return m |
| 228 | |
| 229 | |
| 230 | def poses_avg(poses): |
no test coverage detected