De-warp a curve on a grid (scanned architectural plan)

Hi everybody,

I have a scanned plan of a curve on a rectangular grid and want to de-warp it. Since I have the measure of the original grid there are some possibilities. The best I came up with is box-morph: Creating a srf from each grid (isoCrvs aligning) and then morphing it from the distorted srf to the undistorted one.


What do you think of it? Maybe someone has a better idea?

The example file: 260810_De-warp_grid.gh (30.6 KB)

Thanks for your input.

Best, Baris

edit: Thanks for putting it in the correct category @martinsiegrist. You are a flash!

This would also work with mesh cage morph 2 which accepts not only points but also curves.

260810_De-warp_grid_mcm2.gh (35.2 KB)

Thanks. The curve looks a bit cleaner and may be the best so far. The result is quite similar to the surface box morph. In comparison, Map to Srf is a bit different, what makes sense, since it uses another logic (I guess the uv points).

Why aren’t you just using Sporph? The result looks ok

You are right. I tried several things yesterday, and finally I came up with two surfaces. Now all the morphing tools seem to work, while the box morph seems to be the most complicated one. Still it would be interesting to know which output could be considered as the best, or from which method one could expect the most exact result.

Shape mapper?

Have you tried with Shape Mapper?

I don’t know. Is it only for bitmap images?

I have no idea, I’m trying to stay away from decorative patterns and yet need to be convinced to use Shape Mapper.

Reminded me of:

I made a test based on the ideas from the thread yesterday. I draw a curve on a grid and took a screenshot from a perspective as input.
My findings were, that the methods were quite similar (as expected):

Methode maxD RMS Totaldev
BoxMorph 1,35 0,41 61,74
MapCrv 1,35 0,42 66,26
Sporph 1,35 0,40 59,85
MeshCageMorph2 1,32 0,42 67,45
MeshMap 1,34 0,42 66,35

Edit: I updated the table and the picture with @René_Corella’s proposal.

You should include ‘MeshMap’ (map curve control points and re-draw with ‘NURBS Curve PKW’ afterwards) in your studies! :slight_smile:

Maybe we could also piece together a more complicated method with Kangaroo?

Actually I was thinking of Kangaroo as well, by putting the grid with a length constraint. But I am not sure, how the deformation of the curve segments could happen.

I think the curves would have to be divided into points.

But let’s be clear. It’s an overkill if the surface is flat already.

Of course, just out of fun and curiosity.

Here’s an example from a while ago: