ramarren / cl-geometry Goto Github PK
View Code? Open in Web Editor NEWCommon Lisp package for simple two dimensional computational geometry.
License: MIT License
Common Lisp package for simple two dimensional computational geometry.
License: MIT License
It seems that the return value of intersect-p is incorrect if one of the line segment is horizontal.
GEOMETRY> (intersect-p (make-point 0 0)
(make-point 50 0)
(make-point 51 10)
(make-point 100 0))
T
GEOMETRY>
Hello,
I tried using your library, more specifically its polygon triangulation routine, and it crashed when trying to triangulate a simple 13-point polygon (no holes, no intersections). Looking at the code, I noticed you were using ear clipping method, so that wouldn't work for me in a general case anyway.
Digging further, I noticed lots of comments on the implementation being non-optimal, which is not a problem in itself, but seeing that the last real commits to this repository were done 7 years ago, makes me think that this project is abandoned, and that those algorithms are never going to get implemented in a better way.
I want to improve the library, but since there is no licensing information, forking is difficult. Before I commit myself to rewriting this otherwise great piece of work, I'd like to ask the following:
Thank you!
I think the following should be NIL.
GEOMETRY> (intersect-p (make-point 0 0)
(make-point 50 50)
(make-point 51 51)
(make-point 100 100))
T
GEOMETRY>
Hi,
This may not be an error with your code but I just thought I'd bring it to your attention. If I define two instances of the same polygon but starting at two different points:
(defparameter *a* (make-polygon-from-coords 5 17 7 14 6 14 6 9 4 9 4 14 3 14))
(defparameter *b* (make-polygon-from-coords 4 9 4 14 3 14 5 17 7 14 6 14 6 9))
and then triangulate both, the triangulation of *a* is successful whereas that of *b* throws the following error:
The assertion (<= COUNTER NUM-VERTICES) failed with COUNTER = 5,
NUM-VERTICES = 3.
[Condition of type SIMPLE-ERROR]
I would like to use cl-geometry's bounding boxes. I would add some facilities, such as other primitives and their derivatives.
Will you consider contributions or address issues?
Thank you,
Mirko
Please consider adding :description, :author and :license information to your ASDF system(s). This will greatly help Quicklisp users and make it easier for them to report bugs.
More information:
http://blog.quicklisp.org/2015/05/looking-for-more-metadata.html
https://www.quicklisp.org
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.