---
title: "decompose | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs.maptiler.com/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# Function decompose

-   decompose(out\_r: [quat](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.quat/), out\_t: [vec3](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.vec3/), out\_s: [vec3](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.vec3/), mat: [ReadonlyMat4](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ReadonlyMat4/)): [quat](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.quat/)[](#decompose)
    
    Decomposes a transformation matrix into its rotation, translation and scale components. Returns only the rotation component
    
    #### Parameters
    
    -   out\_r: [quat](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.quat/)
        
        Quaternion to receive the rotation component
        
    -   out\_t: [vec3](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.vec3/)
        
        Vector to receive the translation vector
        
    -   out\_s: [vec3](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.vec3/)
        
        Vector to receive the scaling factor
        
    -   mat: [ReadonlyMat4](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ReadonlyMat4/)
        
        Matrix to be decomposed (input)
        
    
    #### Returns [quat](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.quat/)
    
    out\_r
