Terrain from contours - improve on native 'from contours'?
-
For the terrain implied by the contours shown I have been unable to improve on the results given by a simple drape, or rather, create 'from contours', which it seems is a drape. Is it? The reason it sems to work best int his case is that gravity or the way the land falls between contours is assumed; there is less confusion about which contour is to be connected to which other, in which direction. Is this so? If anyone can improve on the native SU create 'from contours' I'd love to see it and know how. The two contour sets here are exaggerated along Z to make things a little easier visually, and differ only that the one has the bounding edge completed. The edges are each single curves.
-
"From Contours" is not a drape. It is more of a "skin" method for creating co-planar faces between sets of 3 verticies. The skin takes place across all selected edges and does not respect perimeter, thus resulting a lot of manual cleanup. A real advancement in the tool would be if it would skin a quad grid across the contours, instead of loosely triangulating (which sucks for sculpting)and if it respected boundaries. Actually if it were more like this - http://populate3d.com/products/terrain/ in it's options to retopo, relax and subdivide. There is a ruby plugin from Didier Burr floating around which will retopo a SU terrain into quads. I can't think of the name off hand.
You could also play around with curviloft for skinning the contours. It works well, however you have to watch the segment count in your edges or your mesh can be too dense.
-
Thank you, Adam. I can't discern a difference between a skin and a drape, apart from the quad with an edge hidden vs. triangles, and that does not seem to be a material difference. I have tried Didier's simplifier and Fredo's plugs though doubtless they could be used better than I use them. I got nowhere or no improvements with either of them. That's why I so generously provided the model. Word , sometimes the thanks come a little slowly around here.
EDIT: Oh, I see that the TIN is much more regular, comprised as it is of split quads, and the mesh is more dense and thus more easily manipulated (and the file larger).
-
I am not sure the issue is improving the SU tool but what is the intergerty of the data used. When sampling is used the sample frequency ( In my world of engineering it is called the Nyquist frequency) must be higher to accurately represent the geometry ( high frequency ) one is dealing with so if that information is not provided then any thing you do in SU will be fooling your self. I am sure if you are interested then some moderate search will give you the basis to define what you mean "by improve on" and data thinning of the model as presented IMO does nothing to help define the problem.
If the question is related to the number of segments used in each contour then you will still have the same problem since the # segs is directly related to the above. However if you are not concerned about contour accuray the there are filters which can either decimate , smooth , interpolate or even make the number or segs the same for each contour line, and cubic spline interpolation between points etc??. These last two would be on a per line basis and a lots of work for the user -
Thank you, mac1. These are redrawn contours, originally at 5' intervals, from a quad map. My original "improve on" is vague and unclear, and I recognized that. 'Make a more useable model' would be better, as those terms are generally construed. Give it yer best shot, why not?. 'Complex-ify' the contours if you like; I maintain that will not help as that is the way it was before it was simplified. Interpolating additional contours, though not adding accuracy, would seemingly improve useability.
-
@brookefox said:Thank you, mac1. These are redrawn contours, originally at 5' intervals, from a quad map. My original "improve on" is vague and unclear, and I recognized that. 'Make a more useable model' would be better, as those terms are generally construed. Give it yer best shot, why not?. 'Complex-ify' the contours if you like; I maintain that will not help as that is the way it was before it was simplified. Interpolating additional contours, though not adding accuracy, would seemingly improve useability.
Ok here you are. On the left is a poisson mesh ( with the "leg" on right basede on first shot. There are many parameters that could be changed ) form the vertices of your data and the right the SU mesh created from contours and demonstrates the issue I was addressing. If I ask which is more "useable " for you I am sure what the answer would be:"This left one does not look right and so back to square one." If I am creating a Mesh from vertical walls the SU created mesh I am sure you will say is not usable. IMHO what you are asking is some what out side the intent of the SU program and the criteria of useful is to subjective. Maybe that is the way it has to be?? or use the tools it provides and edit its mesh to meet your needs. Have you seen this http://www.valiarchitects.com/sketchup_scripts/instant-road ?
-
Thanks, mac1. You understand that I am trying to use SU native tools and have no 'poisson mesh' in my kit... Bottom line you seem to be saying there is no way to improve on 'from contours,' even with available plugins. ???
I am fairly sure that curviloft has the ability to easily interpolate contours which would give more structure to mesh, just not easy to me. I could do it backwards from a terrain by taking slices and then more easily mesh that but that is too much idiot work for nothing, really.
Thanks for the tip to 'instant road', which I have appreciated from a distance but only see it demo'd on a nice mesh which I don't need it for as I can handle those OK with drape and stamp (and I'm penny-wise pound-foolish).
And a belated thanks to you, Adam for your initial clarification. Perhaps the native SU 'from contours' is trying to do the job in the least resource demanding way possible, as that is what is often wanted and what is produced may come back to bloat G Earth.
-
TIG and Didier both have contour makers posted at Didier's site, that make contours from faces. So in my backwards world I make a terrain with SU 'from contours' (5' intervals), then I interpolate contours from that terrain with one of these plugins (1' contours), then I quad skin those contours. All to get a more manipulable and better looking terrain. (I can't seem to loft the original contours directly with curviloft.)
-
@brookefox said:
TIG and Didier both have contour makers posted at Didier's site, that make contours from faces. So in my backwards world I make a terrain with SU 'from contours' (5' intervals), then I interpolate contours from that terrain with one of these plugins (1' contours), then I quad skin those contours. All to get a more manipulable and better looking terrain. (I can't seem to loft the original contours directly with curviloft.)
Sorry I mislead you with my ref to the poisson mesh and did not mean you use it. Rightly or wrongly I think you are trying to get to a particular problem related to a model you have tried to make and the question is toward that end. Esoteric questions ( which I think this is.) usually lead to those type of answers and may not solve the real problem. If correct suggest you present your problem model and let posters try and answer? Is this related to your post http://forums.sketchucation.com/viewtopic.php?f=11&t=44181&p=394442#p394442 ??
I have not tried Tigs plugin in but did use Didiers and it worked well although I think its is more decimation focused then interpolation. I question if Curviloft is the correct approach for this application. Here is a pic but based on this post thing going the wrong direction?
-
You could also produce a "from contours" terrain and then try the "Drape Cpoints" plugin from TIG. It will drop a user determined grid of cpoints over the mesh and group them. You can then mesh the cpoints using TIG's triangulate plugin to get a uniform vert distribution. ThomThoms Quad tools can then convert them into quads for loop and ring selections and UV functionality. You can also then selectively add density, sculpt, relax or perform projection painting with Artisan plugin.
-
Thank you very much, mac1. The thread you reference is about the same terrain, different issue. What I posted here is indeed my model, as clarified, scaled along Z to make easier to work with. Perhaps Didier's routine works better on the Z scaled version? I dunno. I didn't have the success you did and so will try again.
Adam, thank you for the nice, promising ideas, drape cpoints being the crux, I think. I will pursue that up until Artisan or I hit a pay bump. Smoove is Artisans pitiful and homely father? Perhaps I'll get a chance to re-introduce myself.
Thanks again all, muchly.
-
The problem I see with from contours (and unskilled attempts with curviloft) is that the tool skips some areas in the contours altogether because (perhaps) it looks for the nearest point, not the nearest contour. I think that is true in Mac1's example. Once you've done that, you've lost detail and adding points, while helpful, doesn't bring the original contour back. IMHO
-
So 'from contours' doesn't care that the contours are curves, it looks for the endpoints within? Oh, now I see your 'perhaps'.
Still looking for a skilled attempt with curviloft.
-
Attached is an attempt at a site from contours using Curviloft. I'm not sure I'd call it a skilled attempt.
It took a few attempts and you can see from the component structure that I had to do it in a number of stages as CL doesn't like it when the contours turn back on them selves.
-
I don't think Curviloft can treat terrain shaping except in some simple cases. The reason is that it tries to match vertices of contours and does not provide overall C1 continuity between contours. And if you have mountains and circus valleys, Curviloft is stuck as each portion of terrain is determined by the shape of more than 2 contours (it would be the same issue with the native 'from Contour' tool).
You probably need to use some external software (I have seen one some time ago, but I don't remember the name. It has export capability to Sketchup, can handle crests and is fully specialized on this problem of terrain shaping).
For a SU plugin, it is possible to handle some cases, but it is probably not very convenient. Here is an attempt I started some months ago but that I stopped because to get acceptable performance you would need to offload some pieces of the algorithm to C / C++ (I am lazy to write C extension which have to work in both Windows and Mac and have no experience in this field).
Fredo
-
Thank you, FinnGh, and Fredo, for all that you do. Your little ani looked flawless for what the routine was doing but I understand that if the data can be interpreted in multiple ways there likely will be problems.
-
@unknownuser said:
For a SU plugin, it is possible to handle some cases, but it is probably not very convenient. Here is an attempt I started some months ago but that I stopped because to get acceptable performance you would need to offload some pieces of the algorithm to C / C++ (I am lazy to write C extension which have to work in both Windows and Mac and have no experience in this field).
[attachment=0:2l6fep6v]<!-- ia0 -->TopoShaper simple.gif<!-- ia0 -->[/attachment:2l6fep6v]
Fredo
To bad that never manifested. That's looks incredible Fredo!
-
@brookefox
I reworked my experimental plugin to adapt to the rectilinear closure of contours.
Here is the result on a rectangular mesh. I had to fix 2 contours which were not perfectly aligned with other in their rectilinear portion.
Contours Brookefox - TopoShaper.skp
It is still slow, and anyway, if I pursue, the methods to improve the generation of terrain will add up calculation time, in particular:
- Use triangulation instead of rectangular mesh (more exactly something like constrained Delaunay)
- use a more advanced interpolation technique to get smoother transitions
Fredo
PS: I guess that Trimble will soon add this type of functionality as part of Sketchup (or with a bridge to an external program).
-
Fredo, I don't think that is slow at all for what it is doing. This tool has been something I've wanted from day one using Sketchup. I beg you to tidy it up and release it. In the meantime, I could beta test it for you.
-
@brookefox and EarthMover,
Thanks for the feedback. I'll see if I can release something beta in the coming days.
Fredo
Advertisement