(z, up, pos)
| 126 | return x / np.linalg.norm(x) |
| 127 | |
| 128 | def viewmatrix(z, up, pos): |
| 129 | vec2 = normalize(z) |
| 130 | vec1_avg = up |
| 131 | vec0 = normalize(np.cross(vec1_avg, vec2)) |
| 132 | vec1 = normalize(np.cross(vec2, vec0)) |
| 133 | m = np.stack([vec0, vec1, vec2, pos], 1) |
| 134 | return m |
| 135 | |
| 136 | def ptstocam(pts, c2w): |
| 137 | tt = np.matmul(c2w[:3,:3].T, (pts-c2w[:3,3])[...,np.newaxis])[...,0] |
no test coverage detected