# \[SOLVED\] Best way to translate, rotate, or scale a group of vector3 at the group level

**URL:** <https://discourse.threejs.org/t/solved-best-way-to-translate-rotate-or-scale-a-group-of-vector3-at-the-group-level/3207>\
**Category:** Questions\
**Tags:** geometry\
**Created:** [June 22, 2018, 3:59pm UTC](https://discourse.threejs.org/t/solved-best-way-to-translate-rotate-or-scale-a-group-of-vector3-at-the-group-level/3207 "2018-06-22T15:59:29Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![blackstrings0](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/blackstrings0/32/5169_2.png) [@blackstrings0](https://discourse.threejs.org/u/blackstrings0)\
**Post date:** [June 22, 2018, 3:59pm UTC](https://discourse.threejs.org/t/solved-best-way-to-translate-rotate-or-scale-a-group-of-vector3-at-the-group-level/3207/1 "2018-06-22T15:59:29Z")

</div>

While applying a matrix transform to a single vector3 is pretty straight forward with the applyMatrix methods.  
What would be the best approach to apply matrix to a group of Vector3s at the group level.

My first thought is just create a geometry and push in vector3s (even though I don’t need the geometry to be around, use it as a vessel to perform transformations). Then apply matrix transformation on the geometry and then extract out the vertices once i’m satisfy. Is this probably the best way?

---

<div class="post-metadata">

**Author:** ![prisoner849](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/prisoner849/32/535_2.png) [@prisoner849](https://discourse.threejs.org/u/prisoner849)\
**Post date:** [June 22, 2018, 4:08pm UTC](https://discourse.threejs.org/t/solved-best-way-to-translate-rotate-or-scale-a-group-of-vector3-at-the-group-level/3207/2 "2018-06-22T16:08:48Z")

</div>

Hi! 🙂  
You can create just a `THREE.BufferAttribute()`, fill it with vectors’ data and then use `.applyToBufferAttribute()` method of your `matrix`.

---

<div class="post-metadata">

**Author:** ![blackstrings0](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/blackstrings0/32/5169_2.png) [@blackstrings0](https://discourse.threejs.org/u/blackstrings0)\
**Post date:** [June 22, 2018, 4:22pm UTC](https://discourse.threejs.org/t/solved-best-way-to-translate-rotate-or-scale-a-group-of-vector3-at-the-group-level/3207/3 "2018-06-22T16:22:52Z")

</div>

Thanks, I will give that a try. I haven’t used the bufferAttribute directly before and didn’t know it could handle such task. Now I have a reason to get into it 🙂
