MCPcopy Index your code
hub / github.com/ColmapView/Colmapview.github.io / composeSim3d

Function composeSim3d

src/utils/sim3dTransforms.ts:145–157  ·  view source on GitHub ↗
(cFromB: Sim3d, bFromA: Sim3d)

Source from the content-addressed store, hash-verified

143 * - translation = t_c + scale_c * (R_c * t_b)
144 */
145export function composeSim3d(cFromB: Sim3d, bFromA: Sim3d): Sim3d {
146 const scale = cFromB.scale * bFromA.scale;
147 const rotation = cFromB.rotation.clone().multiply(bFromA.rotation).normalize();
148
149 // t_result = t_c + scale_c * (R_c * t_b)
150 const translation = bFromA.translation
151 .clone()
152 .applyQuaternion(cFromB.rotation)
153 .multiplyScalar(cFromB.scale)
154 .add(cFromB.translation);
155
156 return { scale, rotation, translation };
157}
158
159/**
160 * Transform camera pose (qvec, tvec) for world transformation.

Callers 8

getSplatModelTransformFunction · 0.90
SceneContentFunction · 0.90
getShareTransformFunction · 0.90
transformCameraPoseFunction · 0.85
applyTransformPresetFunction · 0.85
applyTransformToDataFunction · 0.85

Calls 2

addMethod · 0.80
cloneMethod · 0.45

Tested by

no test coverage detected