Jürg Lehni
|
a326b189b4
|
Improve Curve#isFlatEnough() by finding the right threshold through testing, and remove other less precise solutions.
|
2011-11-12 01:23:41 +01:00 |
|
Jürg Lehni
|
d43b54a531
|
Shorten Curve.isFlatEnough() code.
|
2011-11-11 20:58:33 +01:00 |
|
Jürg Lehni
|
fdd4ee8d31
|
Switch back to Kaspar Fischer's version of Curve.isFlatEnough, as it produces the best results with dashed lines.
|
2011-11-11 20:55:31 +01:00 |
|
Jürg Lehni
|
3397931bb2
|
Be consistent in Numerical. EPSILON comparison rules.
|
2011-09-22 21:14:16 +02:00 |
|
Jürg Lehni
|
7f81184848
|
Only intersect lines if their lengths are not conflicting with Numerical.EPSILON comparison of the cross product in Line#intersect().
|
2011-07-30 11:38:17 +01:00 |
|
Jürg Lehni
|
7d0db22b9b
|
Use squared distances in nearest point algorithm.
|
2011-07-30 11:37:07 +01:00 |
|
Jürg Lehni
|
45c7f9c4fc
|
Port back code to prevent tangents and normals of length 0 from Scriptographer.
|
2011-07-09 11:20:03 +02:00 |
|
Jürg Lehni
|
833d4968ce
|
Change root solvers to not produce new arrays each time but fill a passed one that can be reused. Yields io impressive performance improvements.
|
2011-07-09 10:50:47 +02:00 |
|
Jürg Lehni
|
839107d341
|
Remove faulty code for calculation of tangents / normals.
|
2011-07-09 10:35:22 +02:00 |
|
Jürg Lehni
|
ec00150df2
|
Remove unused variable.
|
2011-07-09 10:34:18 +02:00 |
|
Jürg Lehni
|
4e1d613ed8
|
Fix Curve#getLength() again for straight lines.
|
2011-07-09 10:21:17 +02:00 |
|
Jürg Lehni
|
17b412ce6f
|
Fix a newly introduced bug in #contains().
|
2011-07-09 10:17:06 +02:00 |
|
Jürg Lehni
|
8a6d53766e
|
Explain code a litter better.
|
2011-07-09 10:11:50 +02:00 |
|
Jürg Lehni
|
8928a7b057
|
Fix #getCrossings() where calling #getPoint() / #getTangent() was slow and also wrong when a matrix was used.
|
2011-07-09 10:09:41 +02:00 |
|
Jürg Lehni
|
8606f25542
|
Switch from using Function#apply() trick for passing curve values as function parameters to simply passing arrays and looking up the values on then.
|
2011-07-09 10:08:43 +02:00 |
|
Jürg Lehni
|
bb4e71da81
|
Clean up isFlatEnough() code.
|
2011-07-08 22:26:22 +02:00 |
|
Jürg Lehni
|
fe37ce6bcb
|
Clean up comments.
|
2011-07-07 23:02:26 +02:00 |
|
Jürg Lehni
|
ca50461fd1
|
Implement new Curve.isFlatEnough().
|
2011-07-07 23:00:16 +02:00 |
|
Jürg Lehni
|
5655981f6d
|
Clean up white spaces.
|
2011-07-07 16:09:02 +02:00 |
|
Jürg Lehni
|
e573fe5dcd
|
Do not pass prevSlope to Curve#getCrossings(), rely on #getPrevious() instead.
|
2011-07-07 16:08:10 +02:00 |
|
Jürg Lehni
|
4a53503130
|
Add support for optional matrix in Path#contains(), Path#getNearestLocation(), Curve#getValues(), Curve#getCrossings(), Curve#getNearestLocation()
|
2011-07-07 16:07:29 +02:00 |
|
Jürg Lehni
|
9d2148245a
|
Implement Curve#getParameter(point), untested.
|
2011-07-06 23:15:32 +02:00 |
|
Jürg Lehni
|
b13c7622c8
|
Rename Curve#getParameter(length) -> Curve#getParameterAt(offset)
|
2011-07-06 23:13:38 +02:00 |
|
Jürg Lehni
|
778a161ba0
|
Rename Curve.solve() -> Curve.solveCubic()
|
2011-07-06 23:10:16 +02:00 |
|
Jürg Lehni
|
fadf6e98b5
|
Pass on minDistance to CurveLocation.
|
2011-07-06 22:21:49 +02:00 |
|
Jürg Lehni
|
17bdaf6fe4
|
Use CurveLocation for Curve#getNearest*() methods.
|
2011-07-06 22:08:10 +02:00 |
|
Jürg Lehni
|
8b6d9746ce
|
Rename Curve#getCrossingsFor() -> #getCrossings()
|
2011-07-06 22:07:34 +02:00 |
|
Jürg Lehni
|
5c3a6f72b6
|
Fix comments.
|
2011-07-06 15:31:16 +02:00 |
|
Jürg Lehni
|
ccd4113ba3
|
Implement Nearest Point-on-Curve Problem.
|
2011-07-05 13:20:31 +02:00 |
|
Jürg Lehni
|
4630a1bd4a
|
Fix documentation.
|
2011-07-05 13:17:34 +02:00 |
|
Jürg Lehni
|
c1f46977fa
|
Rename Curve.isSufficientlyFlat() to shorter Curve.isFlatEnough()
|
2011-07-05 13:17:07 +02:00 |
|
Jürg Lehni
|
4110a56521
|
Improve comments.
|
2011-07-05 01:20:25 +02:00 |
|
Jürg Lehni
|
6cc7417201
|
Handle edge case in crossing number algorithm where the beam in right x-direction is touching a tip where the curves change y-direction but do not interesect with the shape, by checking for slope changes.
|
2011-07-05 01:15:45 +02:00 |
|
Jürg Lehni
|
4924d683e4
|
Simplify Curve.solve() and improve documentation.
|
2011-07-04 23:42:16 +02:00 |
|
Jürg Lehni
|
c5269ecbab
|
Implement Path#contains(point) efficiently using the crossing number algorithm and our cubic polynomial solver.
|
2011-07-04 23:32:15 +02:00 |
|
Jürg Lehni
|
dad118cc20
|
Fix comments.
|
2011-07-04 23:30:25 +02:00 |
|
Jürg Lehni
|
79c0ad8cc5
|
Update copyright notices.
|
2011-07-01 12:17:45 +02:00 |
|
Richard D. Worth
|
ac39873693
|
Whitespace. Removed all trailing whitespace from .js files
|
2011-06-30 06:01:51 -04:00 |
|
Jürg Lehni
|
50c7649421
|
Improve Segment and Curve documentation.
|
2011-06-27 15:07:08 +02:00 |
|
Jürg Lehni
|
e35b171bec
|
Improve Curve documentation.
|
2011-06-27 14:58:17 +02:00 |
|
Jürg Lehni
|
7cd749e63d
|
Change all documentation to new convention of defining @class outside injection scope, fix some comments and a few errors with examples.
|
2011-06-22 23:56:05 +01:00 |
|
Jürg Lehni
|
3226147e00
|
Use a version of Bootstrap that always produces beans and remove all beans: true instructions.
|
2011-06-17 18:42:29 +01:00 |
|
Jürg Lehni
|
ffa79f4fd1
|
Clean up white spaces in comments.
|
2011-06-14 22:59:45 +01:00 |
|
Jürg Lehni
|
b3d771a870
|
Remove Curve#transform() which is currently broken anyhow.
|
2011-06-05 13:27:39 +01:00 |
|
Jürg Lehni
|
c296eb0883
|
Fix wrong direction of tangent evaluation at t = 1.
|
2011-06-05 13:09:53 +01:00 |
|
Jürg Lehni
|
c2c5955717
|
Rename Curve#getCurvesValues() -> #getValues().
|
2011-06-05 12:40:07 +01:00 |
|
Jürg Lehni
|
cb3834f41c
|
Expose the previously private evalutate() function through Curve.evaluate(), make it work with curve value arrays, and use it the for various evaluation methods (#getPoint/Tangent/Normal).
|
2011-06-05 12:37:43 +01:00 |
|
Jürg Lehni
|
14816a872e
|
Define Curve constructor for 8 parameters and implement Curve#getPart() that returns a new sub curve.
|
2011-06-05 12:36:26 +01:00 |
|
Jürg Lehni
|
ef10c2797c
|
Add Curve#getPart but hide for now as more work is required.
|
2011-06-05 11:34:24 +01:00 |
|
Jürg Lehni
|
b5a0979f58
|
Access internal Curve coordinate properties directly rather than through beans.
|
2011-06-05 11:33:55 +01:00 |
|