aboutsummaryrefslogtreecommitdiff
path: root/libs/windfield/mlib/Changes.txt
diff options
context:
space:
mode:
Diffstat (limited to 'libs/windfield/mlib/Changes.txt')
-rw-r--r--libs/windfield/mlib/Changes.txt568
1 files changed, 568 insertions, 0 deletions
diff --git a/libs/windfield/mlib/Changes.txt b/libs/windfield/mlib/Changes.txt
new file mode 100644
index 0000000..4e7fc52
--- /dev/null
+++ b/libs/windfield/mlib/Changes.txt
@@ -0,0 +1,568 @@
+0.11.0
+====
+Added:
+----
+- mlib.vec2 component
+
+To-Do:
+----
+- Update README.md
+- Update spec.lua
+- Fix tabbing
+
+0.10.1
+====
+Added:
+----
+- Point category
+ - point.rotate
+ - point.scale
+ - point.polarToCartesian
+ - point.cartesianToPolar
+
+Changed:
+----
+- math.getPercent now returns decimals (instead of percentages) since those are more common to use.
+
+To-Do:
+----
+- Determine if isCompletelyInsideFunctions should return true with tangents.
+- Check argument order for logicality and consistency.
+- Add error checking.
+- Make sure to see if any aliases were missed. (e.g. isSegmentInside)
+- Clean up and correct README (add "Home" link, etc.)
+
+0.10.0
+====
+Added:
+----
+
+Changed:
+----
+- mlib.line.segment is now mlib.segment.
+- mlib.line.getIntercept has been renamed to mlib.line.getYIntercept
+- mlib.line.getYIntercept now returns the x-coordinate for vertical lines instead of false.
+- mlib.line.getYIntercept now returns the value `isVertical` as the second return value.
+- mlib.line.getPerpendicularBisector is now mlib.segment.getPerpendicularBisector.
+
+Fixed:
+----
+- mlib.line.getIntersection now should handle vertical slopes better.
+- mlib.line.getClosestPoint now uses local function checkFuzzy for checking horizontal lines.
+- Fixed possible bug in mlib.line.getSegmentIntersection and vertical lines.
+- mlib.segment.getIntersection now uses fuzzy checking for parallel lines.
+- mlib.math.round is now much more efficient.
+- Removed some useless code from mlib.polygon.isSegmentInside.
+
+To-Do:
+----
+- Determine if isCompletelyInsideFunctions should return true with tangents.
+- Check argument order for logicality and consistency.
+- Improve speed.
+- Add error checking.
+- Make sure to see if any aliases were missed. (e.g. isSegmentInside)
+- Implement mlib.shapes again(?)
+- Clean up and correct README (add "Home" link, etc.)
+
+0.9.4
+====
+Added:
+----
+
+Changed:
+----
+- mlib.line.getDistance is now slightly faster.
+- Made code much easier to debug by using new utility `cycle`.
+- Added new utility.
+- Various other minor changes.
+
+Removed:
+----
+- Unused local utility function copy
+
+To-Do
+----
+- Determine if isCompletelyInsideFunctions should return true with tangents.
+- Make argument order more logical.
+- Improve speed and error checking.
+- Make sure to see if any aliases were missed. (e.g. isSegmentInside)
+- Implement mlib.shapes again(?)
+- Clean up README (add "Home" link, etc.)
+
+0.9.3
+====
+Added:
+----
+- milb.circle.isCircleCompletelyInside
+- mlib.circle.isPolygonCompletelyInside
+- milb.circle.isSegmentCompletelyInside
+- mlib.polygon.isCircleCompletelyInside
+- mlib.polygon.isPolygonCompletelyInside
+- mlib.polygon.isSegmentCompletelyInside
+
+ - ALIASES -
+- mlib.circle.getPolygonIntersection
+- mlib.circle.isCircleInsidePolygon
+- mlib.circle.isCircleCompletelyInsidePolygon
+- milb.line.getCircleIntersection
+- milb.line.getPolygonIntersection
+- milb.line.getLineIntersection
+- mlib.line.segment.getCircleIntersection
+- mlib.line.segment.getPolygonIntersection
+- mlib.line.segment.getLineIntersection
+- mlib.line.segment.getSegmentIntersection
+- mlib.line.segment.isSegmentCompletelyInsideCircle
+- mlib.line.segment.isSegmentCompletelyInsidePolygon
+- mlib.polygon.isCircleCompletelyOver
+
+Changed:
+----
+- mlib.circle.getCircleIntersection now returns 'inside' instead of 'intersection' if the point has not intersections but is within the circle.
+- Fixed problem involving mlib.circle.getSegmentIntersection
+
+- README.md now has more information on how to run specs and other minor improvements.
+- Fixed some commenting on explanation of derivation of mlib.line.getIntersection.
+- Updated the example to use the current version of mlib.
+- Made/Changed some comments in the example main.lua.
+
+Removed:
+----
+
+To-Do
+----
+- Make examples file on github (examples/shapes/main.lua, etc.) not just one line.
+- Determine if isCompletelyInsideFunctions should return true with tangents.
+- Make argument order more logical.
+- Make sure to see if any aliases were missed. (e.g. isSegmentInside)
+- Update spec links in README
+
+0.9.2
+====
+Added:
+----
+
+Changed:
+----
+- mlib.polygon.getPolygonIntersection now does not create duplicate local table.
+- mlib.line.getPerpendicularSlope now does not create a global variable.
+- mlib.math.getSummation now allows the error to go through instead of returning false if the stop value is not a number.
+
+- Changed any instance of the term "userdata" with "input"
+
+Removed:
+----
+
+0.9.1
+====
+Added:
+----
+- Added mlib.statistics.getCentralTendency
+- Added mlib.statistics.getDispersion
+- Added mlib.statistics.getStandardDeviation
+- Added mlib.statistics.getVariation
+- Added mlib.statistics.getVariationRatio
+
+Removed:
+----
+
+Changed:
+----
+- FIX: mlib.polygon.checkPoint now handles vertices better.
+
+
+To-Do
+----
+- Add more functions.
+
+0.9.0
+====
+Added:
+----
+- mlib.line.getDistance as an alias for mlib.line.getLength.
+- mlib.line.checkPoint
+- Internal documentation.
+
+Removed:
+----
+- mlib.circle.isPointInCircle is replaced with mlib.circle.checkPoint
+- mlib.circle.checkPoint is replaced with mlib.circle.isPointOnCircle
+- Variation of mlib.circle.getLineIntersection( cx, cy, radius, slope, intercept ) is no longer supported, as it can cause errors with vertical lines.
+
+Changed:
+----
+- CHANGE: mlib.line.getIntersection now returns true for colinear lines.
+- CHANGE: mlib.line.getIntersection now returns true if the line are collinear.
+- CHANGE: mlib.line.getIntersection now returns true if vertical lines are collinear.
+- CHANGE: mlib.line.getSegmentIntersection now returns true if the line and segment are collinear.
+- CHANGE: Changed the order of mlib.line.segment.checkPoint arguments.
+- NAME: mlib.polygon.lineIntersects is now mlib.polygon.getLineIntersection
+- NAME: mlib.polygon.lineSegmentIntersects is now mlib.polygon.getSegmentIntersection
+- NAME: mlib.polygon.isLineSegmentInside is now mlib.polygon.isSegmentInside
+- NAME: mlib.polygon.polygonIntersects is now mlib.polygon.getPolygonIntersection
+- CHANGED: mlib.circle.checkPoint now takes arguments ( px, py, cx, cy, radius ).
+- CHANGED: mlib.circle.isPointOnCircle now takes arguments ( px, py, cx, cy, radius ).
+- NAME: mlib.polygon.circleIntersects is now mlib.polygon.getCircleIntersection
+- NAME: mlib.circle.isLineSecant is now mlib.circle.getLineIntersection
+- NAME: mlib.circle.isSegmentSecant is now mlib.circle.getSegmentIntersection
+- NAME: mlib.circle.circlesIntersects is now mlib.circle.getCircleIntersection
+- CHANGE: Added types 'tangent' and 'intersection' to mlib.circle.getCircleIntersection.
+- NAME: mlib.math.getRootsOfQuadratic is now mlib.math.getQuadraticRoots
+- CHANGE: mlib.math.getRoot now only returns the positive, since it there is not always negatives.
+- NAME: mlib.math.getPercent is now mlib.math.getPercentage
+
+- Cleaned up code (added comments, spaced lines, etc.)
+- Made syntax that uses camelCase instead of CamelCase.
+ - Match style of more programmers.
+ - Easier to type.
+- Moved to semantic numbering.
+- Made any returns strings lower-case.
+- Updated specs for missing functions.
+
+To-Do
+----
+- Update readme.
+- Add mlib.statistics.getStandardDeviation
+- Add mlib.statistics.getMeasuresOfCentralTendency
+- Add mlib.statistics.getMeasuresOfDispersion
+
+1.1.0.2
+====
+Added:
+----
+- MLib.Polygon.IsPolygonInside
+
+Removed:
+----
+- Removed all MLib.Shape:
+ - Was very slow.
+ - Could not define custom callbacks.
+ - Allow for flexibility.
+
+Changed:
+----
+- Switched MLib.Line.GetIntersection back to the old way
+- MLib.Line.GetSegmentIntersection now returns 4 values if the lines are parallel.
+
+TODO:
+- Make it so that MLib.Shape objects can use ':' syntax for other functions (i.e. MLib.Line.GetLength for Line objects, etc.)
+- Intuitive error messages.
+
+
+1.1.0.1
+====
+Added:
+----
+
+Removed:
+----
+
+Changed:
+- MLib.Line.GetIntersection now returns true, instead of two points.
+
+----
+
+Fixed:
+----
+- MLib.Line.GetIntersection now handles vertical lines: returns true if they collide, false otherwise.
+- MLib.Polygon.LineIntersects now also handles verticals.
+
+TODO:
+- Fix
+ - MLib.Shape Table can't have metatables.
+
+1.1.0.0
+====
+Added:
+----
+- MLib.Polygon.IsCircleInside
+- MLib.Polygon.LineSegmentIntersects
+- MLib.Polygon.IsLineSegmentInside
+- MLib.Statistics.GetFrequency
+- MLib.Math.Factorial
+- MLib.Math.SystemOfEquations
+
+Removed:
+----
+
+Changed:
+----
+- MLib.Polygon.LineIntersects is now MLib.Polygon.LineSegmentIntersects.
+- Put Word-wrap on Changes.txt
+
+Fixed:
+----
+- Problems with numberous MLib.Polygon and MLib.Circle problems.
+
+TODO:
+- Fix
+ - MLib.Shape Table can't have metatables.
+
+1.0.0.3
+====
+Added:
+----
+
+Removed:
+----
+
+Changed:
+----
+
+Fixed:
+----
+- README.md
+
+TODO:
+- Add:
+ - Frequency
+ - Binomial Probability
+ - Standard Deviation
+ - Conditional Probability
+
+1.0.0.2
+====
+Added:
+----
+
+Removed:
+----
+- Ability to use a direction for Math.GetAngle's 5th argument instead of having a third point. See Fixed for more.
+
+Changed:
+----
+- Changed README.md for clarity and consistency.
+- Updated spec.lua
+- See Fixed for more.
+
+Fixed:
+----
+- Circle.IsSegmentSecant now properly accounts for chords actually being chords, and not secants.
+- Circle.CircleIntersects now can return 'Colinear' or 'Equal' if the circles have same x and y but different radii (Colinear) or are exactly the same (Equal).
+- Statistics.GetMode now returns a table with the modes, and the second argument as the number of times they appear.
+- Math.GetRoot now returns the negative number as a second argument.
+- Math.GetPercentOfChange now works for 0 to 0 (previously false).
+- Math.GetAngle now takes only three points and no direction option.
+- Typos in Shape.CheckCollisions and Shape.Remove.
+- Fixed nil problems in Shape.CheckCollisions.
+- Improved readablility and DRYness of Shape.CheckCollisions.
+- Bugs in Shape.Remove and Shape.CheckCollisions regarding passing tables as arguments.
+
+TODO:
+- Add:
+ - Frequency
+ - Binomial Probability
+ - Standard Deviation
+ - Conditional Probability
+
+1.0.0.1
+====
+Added:
+----
+
+Removed:
+----
+
+Changed:
+----
+- Changes.txt now expanded to include short excertps from all previous commits.
+- Changed release number from 3.0.0 to 1.0.0.1
+- Math.Round now can round to decimal places as the second argument.
+- Commented unnecessary call of Segment.CheckPoint in Polygon.LineIntersects.
+- Polygon.LineIntersects now returns where the lines intersect.
+ - false if not intersection.
+ - A table with all of the intersections { { px, py } }
+- Same with Polygon.PolygonIntersects, Polygon.CircleIntersects,
+
+Fixed:
+----
+- Error with GetSlope being called incorrectly.
+- README.md Line.GetPerpendicularSlope misdirection.
+- Same with Line.GetPerpendicularBisector, Line.Segment.GetIntersection, Circle.IsLineSecant, Circle.IsSegmentSecant, Statistics.GetMean, Median, Mode, and Range, and Shape:Remove, and fixed the naming for Shape:CheckCollisions and Shape:Remove.
+- Clarified README.md
+- Made util SortWithReferences local.
+- Errors caused by local functions.
+
+TODO:
+- Add:
+ - Frequency
+ - Binomial Probability
+ - Standard Deviation
+ - Conditional Probability
+
+3.0.0
+-----
+ADDED:
+- Added function GetSignedArea.
+REMOVED:
+- Removed drawing functions.
+- Removed MLib.Line.Functions entirely.
+CHANGED:
+- Changed all the names to CamelCase.
+- Changed module name to MLib.
+- Changed return order of GetPerpendicualrBisector from Slope, Midpoint to Midpoint, Slope.
+- Changed returned string of MLib.circle.isLineSecant to be upper-case.
+- Changed IsPrime to accept only one number at a time.
+- Changed NewShape's type to Capitals.
+
+Related to code:
+- Added more accuarate comments.
+- Made code more DRY.
+- Made code monkey-patchable and saved space (by declaring all functions as local values then inserted them into a large table.
+
+TODO:
+- Make LineIntersectsPolygon return where intersection occurs.
+- Ditto with PolygonIntersectsPolygon.
+- Add:
+ - Frequency
+ - Binomial Probability
+ - Standard Deviation
+ - Conditional Probability
+
+
+Not as accurately maintained before 2.0.2
+-----------------------------------------
+
+2.0.2
+-----
+- Cleaned up code, mostly.
+
+2.0.1
+-----
+- Bug fixes, mlib.shape:remove & demos added.
+
+2.0.0
+-----
+- Added mlib.shape and various bug fixes.
+
+2.0.0
+-----
+- Made mlib.shape and made numberous bug fixes.
+
+1.9.4
+-----
+- Made mlib.math.prime faster and removed ability to test multiple numbers at once. Thanks Robin!
+
+1.9.3
+-----
+- Fixed polygon.area and polygon.centroid
+
+1.9.2
+-----
+- Updated to LOVE 0.9.0.
+
+1.9.1
+-----
+- Made mlib.line.closestPoint able to take either two points on the slope or the slope and intercept.
+
+1.9.0
+-----
+- Added mlib.lineSegmentIntersects (no affiliation with previous one (changed to mlib.line.segment.intersect)) and mlib.line.closestPoint
+
+1.8.3
+-----
+- Changed naming mechanism to be more organized.
+
+1.8.2
+-----
+- "Fixed" mlib.lineSegmentsIntersect AGAIN!!!! :x
+
+1.8.1
+-----
+- Removed a print statement.
+
+1.8.0
+-----
+- mlib.pointInPolygon added
+
+1.7.5
+-----
+- mlib.lineSegmentsIntersect vertical lines fixed again. This time for real. I promise... or hope, at least... :P
+
+1.7.4
+-----
+- mlib.lineSegmentsIntersect vertical parallels fixed
+
+1.7.3
+-----
+- mlib.lineSegmentsIntersect parallels fixed
+
+1.7.2
+-----
+- mlib.lineSegmentsIntersect now handles vertical lines
+
+1.7.1
+-----
+- mlib.lineSegmentsIntersect now returns the two places in between where the line segments begin to intersect.
+
+1.7.0
+-----
+- Added mlib.circlesIntersect, mlib.pointOnLineSegment, mlib.linesIntersect, and mlib.lineSegmentsIntersect
+
+1.6.1
+-----
+- Employed usage of summations for mlib.getPolygonArea and mlib.getPolygonCentroid and removed area as an argument for mlib.getPolygonCentroid.
+
+1.6.0
+-----
+- Added several functions.
+
+1.5.0
+-----
+- Made lots of changes to syntax to make it easier to use (hopefully). I also put out specs.
+
+1.4.1
+-----
+- Localized mlib. Thanks, Yonaba!
+
+1.4.0
+-----
+- Added mlib.getPolygonCentroid (gets the midpoint of a non-self-intersecting polygons)
+
+1.3.2
+-----
+- Made mlib.getPrime take tables as arguments, so you can check all the values of a table.
+
+1.3.1
+-----
+- Changed name method to mlib.getPolygonArea
+
+1.3.0
+-----
+- Added mlib.get_polygon_area and removed mlib.get_convex_area and mlib.get_triangle_area since they are repetitive.
+
+1.2.2
+-----
+- Made functions return faster, functions that previously returned tables now return multiple arguments.
+
+1.2.1
+-----
+- Localized functions, made tables acceptable as arguments, refined function speed, mlib.get_mode now returns number most repeated as well as how many times.
+
+1.2.0
+-----
+- Added mlib.get_angle
+
+1.1.0
+-----
+- Added mlib.get_convex_area
+
+1.0.4
+-----
+- Fixed get_mode to handle bimodials.
+
+1.0.3
+-----
+- Prime Checker optimized (hopefully final update on this.)
+
+1.0.2
+-----
+- Prime checker now works! (At least to 1000. I haven't tested any
+further)
+
+1.0.1
+-----
+- 'Fixed' the prime checker
+
+1.0.0
+-----
+- Initial release