0

modified question

In the following example

pr = RandomReal[{0, 1}, {100, 2}];
p = Select[pr , #[[1]] #[[2]] < .2 &];
Show[{ DelaunayMesh[p], ListPlot[p, PlotStyle -> Black], Plot[.2/x, {x, 0, 1}, PlotRange -> {{0, 1}, {0, 1}}]}]

enter image description here

meshing (same with ConvexHullMesh) shows several elements above the hyperbolean which I would like to remove.

How to solve this problem for an arbitrary point set with Mathematica?

Thanks!

Ulrich Neumann
  • 53,729
  • 2
  • 23
  • 55
  • 1
    But one can still cut out some triangles from your last plot to reduce the area even more. And maybe make it = 0. What is the exact mathematical definition of the hull you are looking for? Notice that fig. 2 does not represents a convex hull. – yarchik Feb 21 '20 at 15:55
  • You're right, the example is to simple. In my underlying problem I need to discretize a region (something like a triangle with a concave side) for further interpolation. Convexhull of this region expands the region unacceptable. Thanks for your interest! – Ulrich Neumann Feb 21 '20 at 17:34
  • @yarchik I'll modify my question... – Ulrich Neumann Feb 21 '20 at 17:44
  • Relevant keywords are "concave hull" and "α-concave hull". – yarchik Feb 22 '20 at 18:35
  • 1
    @yarchik Appears to be promising, I'll test it. – Ulrich Neumann Feb 23 '20 at 10:46
  • @yarchik That's (alphaShapes2D[ points,crit]) what I'm looking for. Thanks! Now I have to optimize the code because for small values of crit some points get lost... – Ulrich Neumann Feb 23 '20 at 12:28
  • Very nice that you found the right function! It is an interesting geometric problem. – yarchik Feb 23 '20 at 18:33
  • @ yarchik Thanks for your helpful support. For my underlying problem I have to modify the alpha-shape function in such a way, that it is only applied to boundary elements(triangle) of the region. Hope to find an easy solution... – Ulrich Neumann Feb 23 '20 at 18:44

0 Answers0