hi there,

please, can someone help me?

imagine i have a few vertices and i want them to transform (rotate) from [0,0,3] to [2,2,1]. how? in python…

thank you in advance!

# rotation of vertices (and maybe math utils?)

you can’t rotate vertices. they’re just vectors.

well, maybe i expressed not very well…

there is e.g. a cube which stands on one of its own vertices. this one is [0,0,0].

exactly the opposide one lies on the z axis, let’s say [0,0,3].

now i want to grab the seconds one [0,0,3] and as i transform(rotate) it i want the remaining vertices to move accordingly or proportionaly so the all vertices together will still form the cube.

so the [0,0,0] will stay on its place

and i only know the coordinates of those old vertices and the coordinates of where i want the second one (the most upper one, [0,0,3]) to be.

a picture is worth thousand words:

```
^ [0,0,3] -----
/ \ |
/ \ |
\ / v [the new positions]
|\ /|
| V |
| | |
\ | /
\|/
V [0,0,0]
```

how to calculate the coordinates of the others?

is there a simple method? can be mathutils of any help?

help.

Something like:

```
def rotate(self, vertices, axis, angle):
rotation = RotationMatrix(angle, 4, "r", axis)
return [MatMultVec(rotation, vertex) for vertex in vertices]
```

where axis and vertices are Mathutils vectors.

thank you for your answer. unfortunately (hope you dont kill me):

is the “axis” normal vector perpendicular to eg [0,0,3] and [new,new,new] and the angle a dot product of those?

if so, is it ok that i dont know if the angle is positive or negative? (because dot product is cos angle)

or is there another way?