[Proto] Generating Terrain from a Cloud of Points
-
@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
-
@arc said:
see this video
http://youtu.be/TgFYucpBBKsThat's what I said. There are specialized application to treat massive volumes of points and generate heightmaps. So handling it in Sketchup is really just a convenience for very simple cases.
Fredo
-
Here are additional pictures
- one with a Tri-mesh from the Cloud Point
- the other with a Quadmesh generated from the iso-contours of the tri-mesh terrain
Rodman100 - survey - SU14.skp
Fredo
-
@fredo6 said:
@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
Not by wheel house but using posted point cloud data must be predicated on high confidence the data you are using is "good". Some of the data you have used looks good visually but appears to include several data sets and some of the vertex normals questionable.You cannot tell that by using SU to just look at the data. "....You probably do not need shading so using a mesh built using Voronoi Filtering may be more useful but it needs a very clean data set to work with."
Ref http://meshlabstuff.blogspot.com/2009/09/meshing-point-clouds.html. I am guessing contacting them they may very well have good test case for you? -
This is a super plugin, Fredo! I'll be sure to get it.....
-
@mac1 said:
Not by wheel house but using posted point cloud data must be predicated on high confidence the data you are using is "good". Some of the data you have used looks good visually but appears to include several data sets and some of the vertex normals questionable.You cannot tell that by using SU to just look at the data. "....You probably do not need shading so using a mesh built using Voronoi Filtering may be more useful but it needs a very clean data set to work with."
Ref http://meshlabstuff.blogspot.com/2009/09/meshing-point-clouds.html. I am guessing contacting them they may very well have good test case for you?Well no intention to mimic a Meshlab that can swallow 9 millions points. Instead my design goal with this plugin is to generate a surface from a few points (say a few tens or hundreds). Therefore, I am more faced to a problem of interpolation than filtering. My question and the reason I wanted to have sample model is to test interpolation algorithms.
By the way what is exactly Voronoi filtering (The Meshlab demos refers to Poisson disk)?
I do agree that the original data are important because they do influence the shape. Unfortunately, even if I wrote some part of the script in C, I don't think I can produce an interactive version where you could edit, move and delete points and see instantly the impact on the terrain.
Fredo
-
@fredo6 said:
@mac1 said:
By the way what is exactly Voronoi filtering (The Meshlab demos refers to Poisson disk)?
Fredo
I can not give exact definition but is my understanding is the output is more of an interpolation of the input data rather than a estimation like some of the other filters. The voronoi filter is included in meash lab program and this link is rather interesting and covers how to convert the veronoi shell to a solid suitable for 3 printing http://meshlabstuff.blogspot.com/2009/04/creating-voronoi-sphere-2.html
Advertisement