Matching orientation/scale from one align (re-oriented) to new one with same XML data

I have one project where after aligning photos I re-oriented result (scan of building) more or less along XYZ axis using Define Ground Plane tool, without any precise data.

Then I created a next project with some new photos added to old ones, matching positions using XML data from photos present in previous project. The new project is not re-oriented (I would not be able to match the previous re-orientation by hand anyway).

Despite different orientations, when importing old mesh to new project, or new mesh to old project, orientation and scale is somehow matching perfectly, which is exactly what I need.

The problem is, when exporting OBJs to external software, both results do not match anymore.

I noticed that RC is able to match internally by 'transformToModel data saved inside .rcinfo file, but I have no idea what those (16 in total) numbers mean or how to use them to transform model myself.

How can I match orientation of new align to the old one, so that exported geometry matches?

In case the xml data is needed for inspection:

The first re-oriented align has this:

<transformToModel>0.811814793027046 -0.583914958092568 0 2.57800973218799 0.583914958092568 0.811814793027046 0 -3.8940315281316 0 0 1 0 0 0 0 1</transformToModel>

While the new one not-reoriented has this:

transformToModel=“1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1”>

 

-Andrew

 

Adding one important bit: I no longer have the old Project, I just have the exported obj’s with their .rcinfo files. Everything was exported with default Coordinate system setting (Grid Plane).

Hi andrew,

I’m 99% certain that the grid plane is only an internal display adjustment and does not change the coordinates themselves. This is probably why the meshes are in the correct positions. Since you export the meshes as Grid Plane (which means the adjusted position), it will not match in the external software. The solution would be to export them as Project Output which means to use the “real coordinates” instead of the relative (adjusted) ones.

In this case I was hoping to have one ‘Master align’ - first area of large project, nicely re-oriented, and then have subsequent aligns matching it, with new areas of the same large structure added later (shot over period of several months).

What you are saying is that I can only do that if I export the ‘real coordinates’? I hope a solution can be found, as these coordinates are always skewed (without control points RC doesn’t know where is XYZ), plus in this particular case I don’t have that old project anymore - just exported geometry with .rcfile information.

Thx for taking the time to help!

-Andrew

Hi Andrew,

no problem!   :slight_smile:

Yes, the orientation wothout known coordinates is a bit wanting.

What I would probably try is to scale it roughly, then add two GCPs that you know are on one axis of your intended orientation, note those coordinates and make a simple transformation (as in calculate the distance and then set one of them to 0 (only for two coordinates, leave the third unchanged) and the other on one axis with the distance as 2nd coordinate. If neccessary, you might be able to repeat this step for the third coordinate.

But it’s all about the old project, if that doesn’t exist anymore, then it’s a moot point. However, you could just recreate it since you seem to have the images still…

Thinking about it, your issue is not uncommon - a model needs to be aligned but there are no known coordinates or scale. I’ll make a feature request here: https://support.capturingreality.com/hc/en-us/community/posts/115003716432-orientation-along-xyz-axis

Feel free to join in…   :slight_smile: