MCPcopy Create free account
hub / github.com/DNA-Rendering/DNA-Rendering / getProjectionMatrix

Function getProjectionMatrix

scripts/3DGS/utils/graphics_utils.py:51–71  ·  view source on GitHub ↗
(znear, zfar, fovX, fovY)

Source from the content-addressed store, hash-verified

49 return np.float32(Rt)
50
51def getProjectionMatrix(znear, zfar, fovX, fovY):
52 tanHalfFovY = math.tan((fovY / 2))
53 tanHalfFovX = math.tan((fovX / 2))
54
55 top = tanHalfFovY * znear
56 bottom = -top
57 right = tanHalfFovX * znear
58 left = -right
59
60 P = torch.zeros(4, 4)
61
62 z_sign = 1.0
63
64 P[0, 0] = 2.0 * znear / (right - left)
65 P[1, 1] = 2.0 * znear / (top - bottom)
66 P[0, 2] = (right + left) / (right - left)
67 P[1, 2] = (top + bottom) / (top - bottom)
68 P[3, 2] = z_sign
69 P[2, 2] = z_sign * zfar / (zfar - znear)
70 P[2, 3] = -(zfar * znear) / (zfar - znear)
71 return P
72
73def getProjectionMatrix2(znear, zfar, K, W, H):
74 fx = K[0, 0]

Callers 1

__init__Method · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected