zixuan203344 Posted July 5, 2018 Share Posted July 5, 2018 How to draw the boundary(or maximum outline) of a point set? Require all points to be on the outline or inside the outline By looking up academic materials, it seems to be a concave hull algorithm。 concave hull Quote Link to comment Share on other sites More sharing options...
ziele_o2k Posted July 5, 2018 Share Posted July 5, 2018 Convex Hull by Lee Mac Quote Link to comment Share on other sites More sharing options...
marko_ribar Posted July 5, 2018 Share Posted July 5, 2018 Are your points like in the picture - spaced like grid and should boundary always be orthogonal like in your picture? Quote Link to comment Share on other sites More sharing options...
BIGAL Posted July 5, 2018 Share Posted July 5, 2018 Architecture has a command called "shrinkwrap" may not be in 2014 try it. I have used in CIV3d but for 3dfaces and works great. Will test points. Ok did not work as its points and uses lines. Take every point and draw a line to every other point, erase any line over root 2 1.1414 times the grid spacing, use lineworksshrinwrap, this will make a outer boundary pline put on another layer delete all the point joins lines. Note will only work with a grid. Quote Link to comment Share on other sites More sharing options...
Tharwat Posted July 5, 2018 Share Posted July 5, 2018 Hi, If these points are a hatch pattern then hatchedit should get the job done with the option recreate boundary. Quote Link to comment Share on other sites More sharing options...
zixuan203344 Posted July 5, 2018 Author Share Posted July 5, 2018 Thank you for your reply. This is just a special case. Not all point spacing is equal. I want to find a general method. Quote Link to comment Share on other sites More sharing options...
zixuan203344 Posted July 5, 2018 Author Share Posted July 5, 2018 Architecture has a command called "shrinkwrap" may not be in 2014 try it. I have used in CIV3d but for 3dfaces and works great. Will test points. Ok did not work as its points and uses lines. Take every point and draw a line to every other point, erase any line over root 2 1.1414 times the grid spacing, use lineworksshrinwrap, this will make a outer boundary pline put on another layer delete all the point joins lines. Note will only work with a grid. Thank you for your reply.Not all point spacing is equal.This is just a special case Quote Link to comment Share on other sites More sharing options...
BIGAL Posted July 6, 2018 Share Posted July 6, 2018 If you search here there is some Triangulation software it will make a mesh of random points, then you can use shrinkwrap,, problem is the mesh has to be edited removing non essential 3dfaces, this is something done in the civil surface world all the time. You could still take the approach I suggested to make some form of shape removing lines, the obvious is the remove long lines 1st for us this = about 90% done, then erase the lines in the corners. lee's Convex hull may be a starting point, but even looking now misses some edges compared to what I wanted as a final product. Random points is a real problem. Quote Link to comment Share on other sites More sharing options...
marko_ribar Posted July 6, 2018 Share Posted July 6, 2018 As far as I can tell, correctly implemented triangulation to random set of points should return convex hull boundary - not concave... Quote Link to comment Share on other sites More sharing options...
BIGAL Posted July 6, 2018 Share Posted July 6, 2018 (edited) You are correct Marko the issue is to do with what we call long triangles have a look at this image, left is as built right is after edits and has the correct boundary. Looking now 3 mistakes ? Need to fix and redo, these were little tiny slivers so the correct answer is both concave and convex, then LINEWORKSHRINKWRAP. We use delete long triangles via a length factor reducing till we start erasing ones we need then it becomes maual edits. I have been told we may have a 3rd party solution from our surveyors. left after create triangles, middle is correct answer, right is convexhull.lsp Edited July 6, 2018 by BIGAL Quote Link to comment Share on other sites More sharing options...
Roy_043 Posted July 7, 2018 Share Posted July 7, 2018 I can 'connect the dots' in the 2nd picture of the OP with several more complex concave hulls... Quote Link to comment Share on other sites More sharing options...
marko_ribar Posted July 7, 2018 Share Posted July 7, 2018 Yes BIGAL, but you must remove additional triangles and then recreate boundary and that's all fine if points are random... Triangulation works well only if TIN (Triangular Irregular Network), and OP's picture is grid like... For that I suppose he/she could use routine for orthogonal connections... I remember I did exactly that here on cadtutor, only difference was that instead of points there were circles... And for boundary creation from 3dFACES I also did routine (not shrinkwrap from Civil) on autodesk/customization forum for OP Carlos Gil from Venezuela - only thing was the output was 3dpolyline... Quote Link to comment Share on other sites More sharing options...
marko_ribar Posted July 7, 2018 Share Posted July 7, 2018 That with circles was actually dimensioning - not boundary, but you can use my code with some mods. for boundary creation... http://www.cadtutor.net/forum/showthread.php?100330-Quote-external-circles For 3dpoly around 3dfaces (after modified triangulation), try something like this... (not shrinkwrap from Civil) https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/draw-3dpoly-in-3dfaces/m-p/7790036/highlight/true#M365245 HTH., M.R. Quote Link to comment Share on other sites More sharing options...
zixuan203344 Posted July 8, 2018 Author Share Posted July 8, 2018 As far as I can tell, correctly implemented triangulation to random set of points should return convex hull boundary - not concave... I think you are right,If these points are equidistant,The problem is easy to solve,And the random point sets seem to have many situations Quote Link to comment Share on other sites More sharing options...
zixuan203344 Posted July 8, 2018 Author Share Posted July 8, 2018 You are correct Marko the issue is to do with what we call long triangles have a look at this image, left is as built right is after edits and has the correct boundary. Looking now 3 mistakes ? Need to fix and redo, these were little tiny slivers so the correct answer is both concave and convex, then LINEWORKSHRINKWRAP. We use delete long triangles via a length factor reducing till we start erasing ones we need then it becomes maual edits. I have been told we may have a 3rd party solution from our surveyors. left after create triangles, middle is correct answer, right is convexhull.lsp it is a good solution For equidistant point sets or approximate equidistant point set Quote Link to comment Share on other sites More sharing options...
marko_ribar Posted July 9, 2018 Share Posted July 9, 2018 Just for your info, I've added additional code here : http://www.cadtutor.net/forum/showthread.php?100330-Quote-external-circles&p=#9 It's for grid set of points with different dx and dy spacings... Regards, M.R. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.