Terrain from contours - improve on native 'from contours'?
-
I think I found it, this is SimuTerra by COMPUneering.
See link there: http://www.compuneering.com/simuterra.php;
It costs 200$ in Pro version and 100$ for an entry-level version.
It has some capability to export / import with Sketchup.
Fred
PS: there are interesting [url=http://www.compuneering.com/simuterraMovies.php:3g8iku5m]videos[/url:3g8iku5m] showing the capabilities of the software, including to draw roads and other landscaping decorations
-
Fredo:
Excellent as usual
Looks like a great program. I Wonder how it compares to others like Arcgis. Would take a lots of testing to find out.
I also like their emphasis on model preprocessing. Think that is where novices like myself get in big trouble trying to use questionable data. Ran into this in some searching;
"- Contours should always point upstream in valleys
Contours should always point downridge along ridges
Adjacent contours should always be sequential or equivalent
Contours should never split into two
Contours should never cross or loop
Contours should never spiral
Contours should never stop in the middle of a map
Liking to hit my finger with a hammer I tried this;
Used you ploy segmenter to get more consistent points on the contour lines, ignored some info ref above. In most cases used 80 segs , but during process kept eye on entity info and for some short segs keep count down close to orginal. Needs to be redone to remove warts but looks more reasonable to me vs like orginal.
- Contours should always point upstream in valleys
-
Thank you Fred et al.
Here is another set of contours for testing from a civil engineer's file. I had to set the heights in my CAD drawing. I think I got it all right. In some of the twisted minor contours, I had to use what logic I have at my disposal...
I have not recurved these, and again they are higly segmented--and this seems to be a norm one would need to account for. So simplify (I can do this if there is a problem) and recurve as desired.
Sandbox creates over 42,000 faces.
Peter
-
I have been trying to understand what the general accepted criteria is for "TINs". One site I have found ,which seems credible to me, states the segment length should be > then contour seperation. The rational for that is to avoid " flat triangles ".
Here are the links I found of interest. . Note the Harvard school link has good press for SU'
http://www.ian-ko.com/ Under resources check out the solution center
http://www.gsd.harvard.edu/gis/manual/contours/
Note these are more GIS centric and thus not one to one applicable to the limited SU intent for their TIN implementation. -
For comparison here is a TIN (picture of it) provided in the same project. I think the engineers set the parameters for their needs. A SB skin made from the contours "looks better" than one from the TIN and shows some site features better (such as the dirt road winding down the slope). Still they must be from the same dataset.
-
@pbacot
Here is a first result. Actually, considering that the terrain is rather regular and there are many contours closely spaced, I don't think it is necessary to have a very detailed grid (50 x 22 in the attached file).Note that I had to simplify the contours with Curvizard to keep an acceptable calculation time (here over 30 seconds, mostly related to the computation of the concave hull).
DN house contours - pbacot - 6 Jan 13 - results.skp
@Mac1
I am not familiar with TIN algorithms, but it seems the one posted by pbacot does not reflect the fine granularity of the contours.Fredo
-
Yes, I noticed the TIN was pretty simple. I am not sure I have the subset of readings they had for this project (would be interesting to compare to the output). Without having studied the process, I am guessing that more advanced extrapolation goes into creating contours. The civil engineer may have created the TIN for some soils or drainage analysis--and it may be just sufficient for those purposes.
Those terrains look great for OUR general purpose: showing the new construction in a simulation of the site. I would be curious to see it at a higher resolution of quads. I don't think 30 sec is that long, though I imagine the time goes up exponentially when you try to add a little more detail. As I noted there is a rough road on the slope, which can be made out in the contours, but not sure it registers on the final topo. Also there is part of a drainage ditch on the right. Such an area might want more detail, if ever a way is worked out for selective resolution in adjoining parts--or a way go back in a redo an area such that it can be joined to the rest....
But this definitely is giving a clean looking (without the oil-canning) surface with good geometry. Thanks for the effort and sharing the great results!
-
@pbacot said:
Those terrains look great for OUR general purpose: showing the new construction in a simulation of the site. I would be curious to see it at a higher resolution of quads. I don't think 30 sec is that long, though I imagine the time goes up exponentially when you try to add a little more detail.
Here is a more detailed reconstruction of the terrain, with a grid 120 x 53. This one takes less than a minute.
Indeed, the best would be to adjust the granularity of the mesh based on the resulting terrain shape itself (more than the density of the contours actually).
DN house contours - pbacot - 6 Jan 13 - results.skp
Fredo
-
Sorry to sound a little dumb but Fredo what is the process you're doing here?
- Start with imported contours
- run through Curviloft
-
Yes, that's looking quite muscular. that's worth a minute, depending if you can handle the number of polygons in the end. Thanks for posting! Looks like progress is good.
-
@utiler said:
Sorry to sound a little dumb but Fredo what is the process you're doing here?
- Start with imported contours
- run through Curviloft
Toposhaper uses a different algorithm which is more adapted to terrains and can cope with connection of more than two contours (for example when you have a saddle). It also works on a quad mesh.
So it is a very different approach compared with Curviloft
Fredo
-
Thanks Fredo, so if I triangulated points with your triangulate plugin then ran toposhaper I'd get this result!!!!???
-
Nice evolution Fredo, I'm still waiting for this magical tool !! Keep up the good work and I'll hit the donate button again !!
-
Here is the terrain with a much higher definition 200 x 88, so around 35,000 triangles generated. Takes longer of course, but does not bring a lot more details compared with the low and medium definitions terrains.
DN house contours - pbacot - High Def.skp
Fredo
-
@utiler said:
Thanks Fredo, so if I triangulated points with your triangulate plugin then ran toposhaper I'd get this result!!!!???
With TopoShaper you really need to have contours as curves, not a set of altitude points. This is because the Terrain construction uses contours to delimit the zone of influence on points comprised between contours.
With a set of altitude points, the algorithm would be more based on Skinning, with Bezier or Nurbs methods, which is another kind of script (I can do it, but it would definitely not be very fast with Ruby only).
So, all you need is the contours and then run Toposhaper, as shown in previous videos and the video below
Fredo
PS: As far as I remember, I have not written (yet) a "triangulate plugin".
-
@unknownuser said:
With TopoShaper you really need to have contours as curves, not a set of altitude points. This is because the Terrain construction uses contours to delimit the zone of influence on points comprised between contours.
With a set of altitude points, the algorithm would be more based on Skinning, with Bezier or Nurbs methods, which is another kind of script (I can do it, but it would definitely not be very fast with Ruby only).
Fredo,
During my works I found a workaround with altitude points. I draw a high vertical line on each point (as they're usually components, it's a very fast operation), this way the sandbox is using contours instead of points, ignoring the bottom point of each line. Will this method work with your plugin ?
-
@panga said:
During my works I found a workaround with altitude points. I draw a high vertical line on each point (as they're usually components, it's a very fast operation), this way the sandbox is using contours instead of points, ignoring the bottom point of each line. Will this method work with your plugin ?
Unfortunately, it won't work. TopoShaper really needs contours to drive the interpolation. Keep in maind that with only altitude points, there are multiple solutions because you cannot isolate zones just with scarced points.
Fredo
-
Fredo, I assume Toposhaper is a work in progress and hasn't been released yet? I can't find it for download...
Cheers,
-
@utiler said:
Fredo, I assume Toposhaper is a work in progress and hasn't been released yet? I can't find it for download...
Cheers,
Correct, it is work in progress. However, I think I have done most of the algorithmics now and should be able to release a first simple version soon.
In the meantime, I am still interested in getting models of contours to test the plugin.
Fredo
-
OK, do you want them in DWG or SU? I'll send a few through....
Advertisement