HELP! Creating a surface from contour lines on a sphere


#1

Modelling tidal ranges as contour heights on a sphere…

I have modelled all the different contour lines as curves on separate layers. I now want to apply a surface across all curves. SEE FILE ATTACHED!
Curve network doesn’t work
Mesh from points doesnt work
All surface tools dont work - eg. patch, surface from 3,4, edges…etc
Mesh from points doesn’t work…

please help if you can!
Alice modelTHIS - 13 NOV-1.3dm (2.4 MB)


(Menno Deij - van Rijswijk) #2

What do you want to achieve? What is your objective? Modeling a surface through all these curves is going to be difficult if not impossible - knowing what you want with the end result could help in finding a solution.

One thing that comes to mind is to create a circular array of plane surfaces revolving around one of the major axes (X, Y, or Z). If you intersect each planes with the contour height curves, this would give you a set of points for each plane. Each set of points you could make into a curve using interpolation. Then, these curves could be used to make a surface with e.g. Loft.

This approach will be very tedious by hand and calls (no screams!) for scripting.


(Pascal Golay) #3

Hi Alice- here’s a thought… it will just be a start, we may have to fiddle around a bit to see if it will work. CreateUVcurves on the sphere and your curves. This will flatten the curves, so you’ll need to raise them again to the appropriate elevations. Make a surface that is say 30% larger than the UV rectangle. Patch the curves - possibly including the rectangle and use the oversized surface as a ‘starting surface’ in patch. ShrinkTrimmedSrfToEdge the resulting patch. Now, make a planarSrf from the UV rectangle and FlowAlongSrf the patch surface from this new plane to the sphere.

Now, I tried this in a limited way by moving some of the UV curves up - not all of fthem, and it kind of works, at least maybe worth pursuing.

-Pascal


#4

Thanks Pascal
I will try and have a go… seems alot of steps though?
wondering if it would be easier to make blocks instead of lines, extrude them, then use ‘weaverbird’ to smooth them? what do you think

BUT really would be best if I could just use the lines rather than spending time drawings blocks. With patch will it create one surface, curved? could you show me the file you tried it with?


#5

So I want a smooth surface on all the curve lines. like a smooth terrain map, but obviously around the sphere.

Your work around seems good. But the time thing is a problem, to run a script would be grand.


#6

Alice, this looks like a perfect project to use a clay modeler type of app, or one that has an easy bitmap heightfield geometry creator. There are a few out there. I’m not sure how you generated your contour heights, freeform or from a set list? This looks like a piece of art so I will guess its free form, in which case a greyscale heightfield painter is AWESOME for stuff like this. Just paint with a variable size brush with variable color (black to white) and watch the terrain and contours build up instantaneously.

Rhino has a simple heightfield from image command that maybe could be used to wrap around a sphere.
just an idea.


#7

Alice
My apologies for misconstruing the model a bit… I didn’t notice you have meter markings in your layers. So these obviously need more precision than my 'brushed heightfield" suggestion. However, I still think there are some neat bitmap solutions out there. You could output your curves to texture maps in photoshop, paint the height keyed greyscale according to that, then use those texture maps to do a nice displacement texture on the sphere.