[Proto] Generating Terrain from a Cloud of Points
-
Sam,
Thanks very much, very useful.
Actually, I have tweaked the algorithm and got the tarrain below. So I think I may finally find heuristics to speed up the interpolation.
There are 1986 cloud points.
The terrain is generated with 3069 triangles. The calculation took 18.5 seconds on my machine.
It seems to be a quite large area and quite flat except a few hill and an overall gentle slope. I had to scale in Z a little bit however to make the relief more apparent.
sdmitch_ Alaska_NW-DTM 129 _ trg.skp
Indeed, if you are more samples, this is welcome
Fredo
-
Fredo,
These models have much more relief. They are bigger with many more points than you would normally use probably. But none of the projects I worked on were small.
Sam
-
Fredo if you want, this is a text file of a pair of Scissor handles that I recently managed to import into SU using the above mentioned Points Cloud as a CSV file of over 250,000 points.
It was very slow but worked and I was able to view the scissors in 3D as guide points. I didn't bother with triangulating the faces as it had actually taken several hours to import just the points.
It is without doubt overkill in the terrain context but it is the type of file people will be wanting, if not expecting, to be able to click, copy and 3d print in the very near future. Feel free to ignore it as it was something I found on the web while looking to solve terrain and point cloud imports.
-
I think it will depend on it's capability for detail. I don't find getting the raw terrain down is very difficult. It is all the detail that has to be built into it...i.e. garden beds, curbs, sidewalks, ditches, medians, grass edge transitions,...etc. For every minute I spend creating the ground, I spend ten on the detail.
-
Sam,
Thanks for the new models. There are a little big for the plugin, but I made some trials on a subset and it seems to be OK.
Below with 101 source points, generating roughly 3900 triangles to render the cliffs in 23 seconds.
Fredo
-
@unknownuser said:
I think it will depend on it's capability for detail. I don't find getting the raw terrain down is very difficult. It is all the detail that has to be built into it...i.e. garden beds, curbs, sidewalks, ditches, medians, grass edge transitions,...etc. For every minute I spend creating the ground, I spend ten on the detail.
My feeling is that it is better to generate first the natural terrain and then superimpose the artificial 'details', like limits, fences, roads, building.
Of course, these details may deserve some dedicated techniques (in particular roads and fences), but Sketchup has already a number of tools to handle many cases, with the Sandbox and with Projection and PushPull plugins.
I don't think it's easy (and fast enough anyway) to have interpolation generate the terrain and all details in one shot.
Fredo
-
"to have interpolation generate the terrain and all details" I agree that would be a trick. I use your wonderful tools-on-surface (and a couple other rubies) to build terrain. I can't guess how many square miles. I do believe your tools are the best. I am saying for me at least generating a terrain with cloud point is not very exciting. It would be selfish to say I would rather a talent like you work on other things.
-
@box said:
Fredo if you want, this is a text file of a pair of Scissor handles that I recently managed to import into SU using the above mentioned Points Cloud as a CSV file of over 250,000 points.
It was very slow but worked and I was able to view the scissors in 3D as guide points. I didn't bother with triangulating the faces as it had actually taken several hours to import just the points.
It is without doubt overkill in the terrain context but it is the type of file people will be wanting, if not expecting, to be able to click, copy and 3d print in the very near future. Feel free to ignore it as it was something I found on the web while looking to solve terrain and point cloud imports.LIDAR and other techniques generating dense cloud of points require very different techniques.
- First this is usually true 3D (not 2.5D like terrain).
- Second, there is no real need of interpolation, but triangulation with the nearest neighbours.
I imagine there exists dedicated applications written for this purpose, in C++ or so to be extremely scalable. Obviously, that won't be the case for Sketchup and Ruby!
Fredo
-
@roland joseph said:
I am saying for me at least generating a terrain with cloud point is not very exciting. It would be selfish to say I would rather a talent like you work on other things.
I think that generation of terrain is an essential feature for Sketchup, not to say that making organic shapes from control points can be useful too.
Actually, this is not something simple to develop in Ruby, because of the lack of efficient algorithms and the variety of topological situation. So nothing straightforward in this plugin project.Fredo
-
You are saying this one has you absorbed. If your motivation is the challenge then for sure I understand. Just one last curious question. Is this a personal effort or has it been brought on by pressure from others?
-
Nice work Fredo! I think the generation of terrain is very important. I would offer some examples but I am not too connected on this end of things. Usually I am working from contours provided by others who have already developed them from points. I wouldn't know what the original data is like. You've made great contribution to this functionality in SketchUp that was pretty backwards just a short time ago, falling behind programs like Bonzai even. With ThomThom's, Tig's and ValiArchitect's tools, as well, things have changed radically for this sort of work. Thanks, Peter
-
Fredo,
A fellow who works for my previous employer, Brown and Caldwell Environmental Engineers, suggested downloading 2006 LIDAR data for the state of Ohio here:
http://gis3.oit.ohio.gov/geodatadownload/osip.aspx
Hopefully, they aren't too big of datasets.
-
@jclements said:
Fredo,
A fellow who works for my previous employer, Brown and Caldwell Environmental Engineers, suggested downloading 2006 LIDAR data for the state of Ohio here:
http://gis3.oit.ohio.gov/geodatadownload/osip.aspx
Hopefully, they aren't too big of datasets.
John,
Thanks. The link does not seem to work however.
Anyway, the current prototype is not really adapted to LIDAR data in general, due to the density and volumes. I may come one of these days with something adpated to this cases.
Fredo
-
Here's some data to try out...a survey CAD drawing, both 3D and 2D, together with raw data (600 points, an interpolated 5m grid of the data and a visual of the terrain model as generated by the data.
-
Thanks very much, very interesting model. I imported from the dwg and had to eliminate an aberrant point.
The results are in the attached SKP, based on different level of smoothing (best seems to be 25 deg.)
Rodman100 - survey.skpDifficult for me however to say whether the terrain corresponds to the reality. Maybe you have some idea.
Fredo
-
That looks good Fredo from the gif, I'm still on SU V14 so can't see your posted model but the surface looks similar to my terrain model, which from memory looked like the actual terrain. The contours can differ slightly when generated solely from points (as in my attached terrain model) as this method does not take breaklines (distinct interruption in the slope of a surface, such as a ridge, road, or stream)into account. But that depends very much on the particular site.
-
You say cloud of points, but seems it's very similar of a cloth falling on volumes ?
Maybe a cloth algorithm will be more speedy ? -
@rodman100 said:
[attachment=0:aclpnu4d]<!-- ia0 -->Terrain Model c.jpg<!-- ia0 -->[/attachment:aclpnu4d]
I want my models to look this nice.
-
see this video
http://youtu.be/TgFYucpBBKs -
@rodman100 said:
That looks good Fredo from the gif, I'm still on SU V14 so can't see your posted model but the surface looks similar to my terrain model, which from memory looked like the actual terrain. The contours can differ slightly when generated solely from points (as in my attached terrain model) as this method does not take breaklines (distinct interruption in the slope of a surface, such as a ridge, road, or stream)into account. But that depends very much on the particular site.
Here is the file in SU2014
Rodman100 - survey - SU14.skpFredo
Advertisement