---
title: "fromRotationTranslationScaleOrigin | 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 fromRotationTranslationScaleOrigin

-   fromRotationTranslationScaleOrigin(  
        out: [mat4](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.mat4/),  
        q: [quat](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.quat/),  
        v: [ReadonlyVec3](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ReadonlyVec3/),  
        s: [ReadonlyVec3](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ReadonlyVec3/),  
        o: [ReadonlyVec3](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ReadonlyVec3/),  
    ): [mat4](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.mat4/)[](#fromrotationtranslationscaleorigin)
    
    Creates a matrix from a quaternion rotation, vector translation and vector scale, rotating and scaling around the given origin This is equivalent to (but much faster than):
    
    ```typescript
    mat4.identity(dest);
    mat4.translate(dest, dest, vec);
    mat4.translate(dest, dest, origin);
    let quatMat = mat4.create();
    mat4.fromQuat(quatMat, quat);
    mat4.multiply(dest, dest, quatMat);
    mat4.scale(dest, dest, scale)
    mat4.translate(dest, dest, negativeOrigin);
    ```
    
    #### Parameters
    
    -   out: [mat4](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.mat4/)
        
        mat4 receiving operation result
        
    -   q: [quat](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.quat/)
        
        Rotation quaternion
        
    -   v: [ReadonlyVec3](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ReadonlyVec3/)
        
        Translation vector
        
    -   s: [ReadonlyVec3](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ReadonlyVec3/)
        
        Scaling vector
        
    -   o: [ReadonlyVec3](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.ReadonlyVec3/)
        
        The origin vector around which to scale and rotate
        
    
    #### Returns [mat4](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.mat4/)
    
    out
