-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure convexity of tessellation and enable handling of points outside [1,2]x[1,2] #50
base: master
Are you sure you want to change the base?
Conversation
…on and handling points outside [1,2]x[1,2] Non-convexity of the tessellation means we are missing triangles. A non-convex tessellation is obtained, if at least one of the corner points of the initial square lies inside the circumcircle of a missing triangle. This problem is solved by scaling and shifting the points such that the union of the circumcircles of the triangles along the boundary of the tessellation lies inside (1,2)x(1,2). With this modification it is now possible to start off with a point set outside [1,2]x[1,2]. Apply the function scaleShiftPoints to the point set before the tessellation and the function expand to the edge vertices after the tessellation.
The original tests are now all passed. It's just my own new test that fails and I have no idea why! Can someone help with this? If I run
in the julia REPL, everything is fine. And the test, which is basically the same, fails. Why? |
What's the status of this pull-request? I'm encountering some non-convex triangulations in practice, which is causing some code I have to fail. |
I think there is still a bug in |
It also seems like |
It requires a careful review. 😉 Maybe you could try to use the online review interface, so that comments are directly linked to the code they are referring to. |
@natschil, did you have a look at the new examples? You probably used the old implementation. Here's how it works:
|
Regarding Regarding default values for |
My plotting function wasn't specifying |
Ah, I get it! I agree that the iterator is not working as intended. Thanks for pointing that out! I am looking forward to your commit. |
I'm not sure this is the correct way to go about things on github, but I've now created a pull-request to MiriamHinzen:master with my changes. |
Replace most uses of Point2D with AbstractPoint2D
Codecov Report
@@ Coverage Diff @@
## master #50 +/- ##
==========================================
+ Coverage 71.09% 76.65% +5.55%
==========================================
Files 1 2 +1
Lines 384 514 +130
==========================================
+ Hits 273 394 +121
- Misses 111 120 +9
Continue to review full report at Codecov.
|
To comment on my previous comment: perhaps the I'm not really familiar with the insides of |
I'm currently working on rewriting the triangulation code to (a) return a convex result and (b) be more readable/documented. I'll push the results to a pull-request soon. |
This would be a massive improvement for the usability for this package, but appears to have stalled. What's needed for this to make it into the package? |
Closes #34 and #27.
Non-convexity of the tessellation means we are missing triangles.
A non-convex tessellation is obtained, if at least one of the corner points of the initial square lies inside the circumcircle of a missing triangle.
This problem is solved by scaling and shifting the points such that the union of the circumcircles of the triangles along the boundary of the tessellation lies inside (1,2)x(1,2).
With this modification it is now possible to start off with a point set outside [1,2]x[1,2].
Apply the function scaleShiftPoints to the point set before the tessellation and the function expand to the edge vertices after the tessellation.
Here's an example:
This produces the following plot: