# What is the easiest way to move object using 3 points (to have same transform for two objects)

Usually when I work with photogrammetry or in other usages, I need to combine two meshes that have different position, rotation and sometime even scale.

The best way to solve this problem is by selecting 3 points that are present in both model.

• Using 1 point : have the correct location of the model in 1D

• Using 2 point : have the correct location and rotation and scale in 2D

• Using 3 point : have the correct location and rotation in 3D (scale is usually consistent and done in with two point)

Here is a GIF example of my method.

As you can see, I use an edge that I extrude in X direction, apply to rotate to my control point, and parent it to my object to have the 3rd axe of movement (locked between the two points a damp track can be used if you want make sure it stay connected to the two first point control) using object local rotation.

I don't think it's the best method, do you know if there is another way to do it faster and easier ?

Edit : I took the example with monkey as it was easy to understand, but I often need to merge transforms of more complex mesh like for example in photogrammetry. I already work with this 3 point method, it's just I think it's a long and fastidious process, and if there is already an addon, or a tool in blender that allow to make the 3D cursor rotation perpendicular to the line between point 1 and point 2, this would make things easier.

Thanks.

• My guess is someone called Robin will propose a geometry nodes solution for that ; )... Nov 24, 2021 at 18:26
• It's possible to do this without doing any of it to eye, using constraints, but it's probably not easier-- just more exact, without any fiddling with manual rotations. Is that something you're looking for? Nov 24, 2021 at 18:41
• fwiw it's called a Helmert transformation Nov 24, 2021 at 19:44
• If you're dealing with photogrammetry I cant' recommend enough the free & open source CloudCompare which does the job very well. See for instance youtube.com/watch?v=8lxFsXgXdTY Nov 25, 2021 at 7:55
• Thanks, but I already use cloudcompare for a lot of stuff, but I still need to do a lot of things in blender as cloudcompare can't do all (for example touch ups in sculpt, and texture manipulation) Having a better way or an addon for helmert transformation, instead of using many empties would be easier, but if there isn't, then i'll continue to do like I do. Nov 25, 2021 at 9:04

If the the meshes are identical, apart from the translations, rotations and scale, this can be done by snapping alone, I think the only bit you could improve is using a Custom Orientation?

• Set Snap to To: 'Vertex' With: 'Active', influencing translation, rotation, and scale.
• Set Pivot to 3D Cursor.
• Establish a common vertex, and ShiftS place the 3D cursor there, on the target mesh.
• Create a Transform Orientation from a common edge from that vertex, on the target mesh.
• Snap the (active) source common vertex to the target vertex...

(above)..

• Make the other end of the common edge active on the source

• RX and RZ align the common edges.

Next, the scaling step:

(below)..

• S scale the source object, snapping the common edges to scale.
• Now you can RY rotate the source around the common edge, snapping another convenient active vertex to the target:

(You could also deal with non uniform scaling, in a similar way, now, if you needed to)

• Thanks for the answer, this could be a good answer if edit mode had been faster (even if I'm not sure if it's appliable to my use case) Sorry i didn't mention it in my original question but : I'm often working on photogrammetry (with more than 30 to 80M poly objects) it's easier to stay in object mode, and use area with high contrast or in texture instead vertices. Nov 24, 2021 at 22:41
• @softyodayoann OK, I got the wrong end of the stick and took your illustration too literally. Million-poly objects sounds like a whole different ball-game Nov 25, 2021 at 8:21