Commit graph

46 commits

Author SHA1 Message Date
Jürg Lehni
dc9a9c42d2 Cleanup solveCubic() further. 2013-04-21 08:44:41 -07:00
Jürg Lehni
e8695dee9b Replace solveCubic() code with version that does not use cbrt() calls. 2013-04-20 20:04:23 -07:00
Jürg Lehni
6fc2d50939 Remove cbrt() since we don't use it anymore. 2013-04-20 20:00:11 -07:00
Jürg Lehni
c45ad26b67 Remove tolerance parameter from solveCubic() / solveQuadratic() since we should always use EPSILON. 2013-04-20 19:58:42 -07:00
Jürg Lehni
14aa8e5dea Improve precision of Numerical.solveCubic() and fix issues in Curve.getCrossings().
Closes #202.
2013-04-20 19:14:19 -07:00
Jürg Lehni
bf9acd4499 Correct Numerical.KAPPA value. 2013-04-19 18:57:31 -07:00
Jürg Lehni
90f2614d52 Export Numerical object and move KAPPA constant there. 2013-04-19 17:03:41 -07:00
Jürg Lehni
e63b3a0797 Use short-cut to Math.abs() 2013-03-23 17:05:48 -07:00
Jürg Lehni
6c9c16ad3d Update copyright information comments, and year. 2013-01-28 18:03:27 -08:00
Jürg Lehni
400b454177 Introduce Numerical.isZero(), for comparisons against 0 with a tolerance. 2012-11-05 21:06:13 -08:00
Jürg Lehni
f73717a7e7 Fix issues in Numerical.solveQuadratic(), solveCubic() and Path#contains().
Closes #71.
2012-10-22 18:21:33 -04:00
Jürg Lehni
c3f051583c Remove unnecessary return statement.
This code can never be reached.
2012-09-30 14:05:34 -07:00
Jürg Lehni
3a7c5286b5 Improve precision of Line#intersect() and other parts that check for a divisor to not be 0, by comparing against the new Numerical.EPSILON rather than Numerical.TOLERANCE. 2011-07-28 11:03:59 +01:00
Jürg Lehni
ba4ff62052 Clean up white space. 2011-07-26 16:00:49 +01: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
5655981f6d Clean up white spaces. 2011-07-07 16:09:02 +02:00
Jürg Lehni
10e7cc994c Fix porting mistakes. 2011-07-06 15:31:36 +02:00
Jürg Lehni
99f6597615 Fix check for quadratic curve by using the right coefficient (a instead of d), and checking with tolerance. 2011-07-05 17:03:49 +02:00
Jürg Lehni
2a9066c555 Fix comment. 2011-07-05 01:17:37 +02:00
Jürg Lehni
f6f4c917f4 Fix accidentally removed comas. 2011-07-05 01:16:20 +02:00
Jürg Lehni
24d77c1ece Remove root fixing code again, seems not necessary. 2011-07-05 01:14:20 +02:00
Jürg Lehni
8a2a9409bd Commit experimental root fixing code. 2011-07-05 01:13:58 +02:00
Jürg Lehni
dad118cc20 Fix comments. 2011-07-04 23:30:25 +02:00
Jürg Lehni
9cf5292496 Define solvers for cubic and quadratic polynomials, as required by hit testing code. 2011-07-04 19:47:54 +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
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
d5e7ca9f5e Improve explanatory comments. 2011-06-06 11:44:15 +01:00
Jürg Lehni
6609dc2307 Implement new root finding algorithm, combining Newton-Raphson Method with Bisection, and update Curve#getParameter() to use it. 2011-04-26 12:23:09 +01:00
Jürg Lehni
7868bc1bdc Remove obsolete comma. 2011-04-26 11:30:29 +01:00
Jürg Lehni
00958afd09 Explain lookup tables in Numerical. 2011-04-21 12:37:35 +01:00
Jürg Lehni
14010eb8b2 Format abscissas array for better reading. 2011-03-21 12:46:00 +00:00
Jürg Lehni
417d015eab Improve curve time parametrization precision by iteratively adding up sub-range lengths, and optimise speed by determining integration precision based on range size. 2011-03-20 11:38:06 +00:00
Jürg Lehni
a794816097 Fix wrong number of iterations in False Position method. 2011-03-20 02:03:26 +00:00
Jürg Lehni
0620a19eb9 Use False Position method as fall back in Newton-Raphson method, for accurate results in rare sitatuations wher the fast Newton-Raphson method fails. 2011-03-20 02:01:17 +00:00
Jürg Lehni
500942e86d Improve Numerical.integrate() by adding higher precision and supported iterations of up to n = 16. 2011-03-20 01:59:53 +00:00
Jürg Lehni
ad71293983 Remove Van Wijngaarden–Dekker–Brent method again as it led to imprecise results, and experiment with the very fast Newton-Raphson method (keeping False Position as a possible fallback for now). 2011-03-20 00:04:33 +00:00
Jürg Lehni
6a67052090 Update copyright / licensing comments. 2011-03-08 01:41:50 +00:00
Jürg Lehni
ff2b740c68 Use local references to often called Math functions, allowing uglify to shorten them further. 2011-03-07 16:49:02 +00:00
Jürg Lehni
59cb7e937e Add control over maximum iterations to Numerical.findRoot(). 2011-03-07 11:59:43 +00:00
Jürg Lehni
2ac9a13e2a Give Numerical methods more meaningful names. 2011-03-07 11:12:00 +00:00
Jürg Lehni
26caf099ca No need for all the .0 in brent() code. 2011-03-07 02:43:07 +00:00
Jürg Lehni
e1a7aff2f0 Add copyright notice and license file. 2011-03-07 00:50:44 +00:00
Jürg Lehni
91160bc5d7 Add copyright notices. 2011-03-07 00:40:48 +00:00
Jürg Lehni
003cfbd32b Format Gauss tables nicer. 2011-03-07 00:38:33 +00:00
Jürg Lehni
9fdbd0146d Rename MathUtils to Numerical. 2011-03-07 00:21:04 +00:00
Renamed from src/util/MathUtils.js (Browse further)