1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360
|
YEAR-MONTH-DAY
---------------------------------------------
Date : 2019/07/02
Version : 0.20
- GeometryMath
* mult(4x4,4,4)
- Fit parametric line using linear equation
---------------------------------------------
Date : 2019/03/14
Version : 0.19
- SE3 applied to homogneous points
- Added Hash Codes
* Requested by Nico Stuurman
* Points, Vectors, and Planes
- Added cubic curve and fitting algorithm
- UtilPoint2D
* Compute 2D normal distribution
* Generate 2D normal distribution
---------------------------------------------
Date : 2018/12/26
Version : 0.18
- upgraded gradle wrapper
- Fixed SpecialOrthogonalOps
- Created UtilPoint4D_F64
- GeometryMath
* Added mult cross transpose functions
- Added equals()
* Line data structures
- Distance2D
* Fixed numerical overflow in line distance. Thanks Charlie Hayes for pointing out this problem.
---------------------------------------------
Date : 2018/10/15
Version : 0.17
- Vector3D
* Normalized rewritten to avoid numerical overflow
- Se3
* convience functions added for heavily used operations
- UtilPoint3D and 2D
* New function for adding noise
* Randomly generate points on a plane in 3D
- SpecialEuclideanOps_F64
* Added bestFit()
---------------------------------------------
Date : 2018/05/20
Version : 0.16
- Polygon2D
* functions to convert to and from a list
* Flushed out I32 functions more
* function for removing adjacent points which are duplicates
- Quadrilateral2D
* functions to convert to and from a list
- Added curves and fitting routines
* Moved ellipses into curves
* Quadratic
* Parabola
* Conic
- GeometryMath
* improved addMult so that you can pass in the same point more than once
* added addMultTrans
- Autocode
* move into it's own module
- Point2D
* <= is used now instead of < for equality
- Added GeoRegressionVersion file
---------------------------------------------
Date : 2018/01/17
Version : 0.15
- Distance2D
* Added distance(x,y) to Point2D_I32
* Added distance(line,poing) I32
* Added distanceSq(line,x,y)
- Added equals() support to the following
* GeoTuple
* Rectangle2D
- Polygons 2D
* Added bounding rectangle
* Area of intersection between two
- BoxLength3D
* added getCorner()
---------------------------------------------
Date : 2017/10/12
Version : 0.14
- Updated for changes in EJML
- Added I32 line fit 2D code
- UtilVector3D
* Added perpendicularCanonical()
- UtilPlane3D
* Added selectAxis2D()
* Added point3Dto2D()
* Added point2Dto3D()
- Intersection3D
* Added intersection(Triangle3D,LineParametric3D)
- Intersection2D
* Added intersection of two lines defined by 4 points.
- Polygon2D
* Added getSideLength()
- UtilCircle2D
* circle from 3 points
---------------------------------------------
Date : 2017/08/13
Version : 0.13
- 32bit auto coding switched over to using auto64fto32f library
- Added basic support for twist coordinates and conversion to their exponential format
- added divide to tuple3
- Uses new F32 operations in EJML
* Before it was forced to do math in F64 even if a data structure was F32
- F32 verson of ellipse fitting operations
---------------------------------------------
Date : 2016/11/30
Version : 0.12
- Added FitEllipseWeightedAlgebraic
* Weighted version of FitEllipseAlgebraic
- Intersection2D
* point inside ellipse
* line ellipse intersection
- Intersection3D
* line sphere intersection
- Distance2D
* Euclidean distance of point from rotated ellipse
- UtilAngle
* Added bound for -pi/2 and pi/2
* Added bound wrap for 0.0 to 1.0
* Added bound reflect for 0.0 to 1.0
* Fixed behavior of atanSafe for x == 0 case
- UtilEllipse
* added computeTangent
* added tangentLines() - finds two lines which are tangent to the ellipse and pass through a point outside ellipse
* added tangentLines() - 4 lines which are tangent to two ellipses
- UtilPolygons2D
* added removeAlmostParallel()
- LineSegment2D_F64
* Added a toString() at the suggestion of thhart
- Added ConvertCoordinates3D
- angleToDegrees and degreesToAngle
* float versions
* short hand function calls
---------------------------------------------
Date : 2016/06/09
Version : 0.11
- Average of Quaternion
- Average of Rotation Matrix
---------------------------------------------
Date : 2016/01/23
Version : 0.10
- UtilAngle
* Added function to change domain from -pi to pi into 0 to 2*pi
- Fixed bug in Affine2D inverse
* storage for transform wasn't being used
- Distance2D
* distance from origin for parametric line
- UtilPoint2D_F
* Mean from array
- Renamed RotationMatrixGenerator to ConvertRotation3D
* Broken up into F64 and F32
- Added support for all 3-axis Euler angles
- New equations for some conversions too and from rotation matrix
---------------------------------------------
Date : 2015/11/07
Version : 0.9
- UtilPolygons2D
* Added convexHull()
- UtilPoint2D
* Added mean for 2 points
- UtilLine2D
* 2 point line segment into line general
- Area2D
* Fixed concave Quadrilateral case
* removed polygon convex
* added polygon simple
- Distance2D
* Added distance from point for normalized GeneralizedLine2D
---------------------------------------------
Date : 2015/09/18
Version : 0.8
- Fixed issue with UtilAngle.distanceCW and distanceCCW
* Would return 2*PI instead of 0 if two inputs were identical
- Added linear interpolation for Se2
- Added dot product and acute angle to Vector2D
- Added ClosestPoint3D.closestPointT() for line and plane
* Added LineParametric3D.setPointOnLine
- Distance2D
* added line segment to line segment
* added quadrilateral to point
* added Polygon2D and point
- UtilPolygons2D
* Center for Quadrilateral
* added vertexAve
* isConvex()
* isIdentical()
* isEquivalent()
* convert poly to quad
* flip()
- Area2D
* Area convex polygon
- Quadrilateral
* isEquals()
* get( index )
- Rectangle2D
* enforceExtents()
- Intersection2D_I32
* inside( rect , pt )
- Intersection2D_F64
* intersectionArea( Rectangle2D_F64 a , Rectangle2D_F64 b )
* contains quadrilateral and a point
- Math
* minus point output vector in 2D
- RotationMatrixGenerator
* Rotations of PI degrees are now handled correctly
---------------------------------------------
Date : 2014/09/17
Version : 0.7
- Switch build system over to Gradle
- Cleared up which direction found transforms are going in MotionTransformPoint
- Shapes added
* Point3D_I32
* Box3D_I32
* Renamed Cube_F* to Box_F*. cube is too specific
* Triangle3D_F*
- Se3
* added setTranslation() and setRotation() to make it more user friendly.
* removed setT() and setR() so that serialization doesn't get messed up.
- Vectors and Points
* Added cross and minus inline to vector
* Added default addition and multiplication Tuple3D and Tuple2D
* Acute angle between two 3d vectors
- ClosestPoint
* Added 2D line segment to point
* Added ClosestPoint3D.closestPointOrigin()
* Added closest point on line to a point in 3D parameterized as a scalar
- Intersection
* Added 3D triangle and line segment
* Added contained2() for Rectangle2D_F* and Box2D_F* in which the upper extent is inclusive
* Added line general and line general for 2D point (homogeneous already existed)
- UtilLine2D
* Added convert polar to general and general to polar
* Added convert line segment to general
* Added acuteAngle() and acuteAngleN() for computing the acute angle between the slope of two general lines
- UtilPoint2D
* added bounding() for finding the bounding rectangle
* added orderCCW() for sorting a points on CCW order around their centroid
- Added default plus and times operators to GeoTuple2D and GeoTuple3D
- Added UtilPlane3D.planeToWorld()
- Changed packages named homo to homography
- Added Linear interpolation between two Se3. InterpolateLinearSe3_*
- MotionSe2PointSVD no longer throws RuntimeException if it fails. returns false instead
- Renamed Rectangle2D to RectangleLength2D and RectangleCorner2D to Rectangle2D for consistency with 3D Box format
- Rectangle2D now uses points instead of regular variables
- CovarianceToEllipse_F64 for computing containment ellipses from 2D covariance matrix
- Area2D
* Added quadrilateral
- Fixed bug in FitLine.polar(points,weights)
---------------------------------------------
Date : 2014-06-18
Version : 0.6
- Auto code generator ignores the copyright notice.
- Closest point and distance from a 3D triangle and a point
- Fixed bug in distance and closest point from a point to a 3D line segment
- Made InvertibleTransformSequence generic and moved to transform package
- Made more structures implement Serializable so that they might be a Java Bean
* Haven't rigorously checked to see if they truly are
- Fixed bug in UtilLine2D_F64.convert( Parametric , Polar )
- Split up AffinePointOps into 32 and 64
- Rectangle
* Removed image processing notation for top-left corner. Replaced with lower-extend and upper-extent
---------------------------------------------
Date : 2013-12-26
Version : 0.5
- Flushed out Quadrilateral
- Added functions to Rectangle2D
- Added Cube3D
- Added Sphere3D
- Added Cylinder3D
- Added LineSegment3D
- Added Intersection3D.contain(cube,point)
- Least squares fitting
* Plane3D
* Sphere3D
* Cylinder3D
- Made F64 and F32 variants of Rodrigues and Quaternion
---------------------------------------------
Date : 2013-06-24
Version : 0.4
- Adding support for 3D planes
* converting between different formulations
* intersection of lines and planes
* intersection of two planes
* closest point and distance to point
- Added ConvertStructureDataType for converting between 64bit and 32bit data structures and the reverse
- Renamed Se2.tran to Se2.T for consistency with Se3
- Fixed incorrect no constructor initialization in Se2
---------------------------------------------
Date : 2013-04-11
Version : 0.3
- UtilPoint3D_F64
* Added distance() and distanceSq()
- UtilPoint2D_I32
* distanceSq()
- Added Circle2D
- Added Ellipse
- Various ellipse related algorithm
* Algebraic best fit to points
* Euclidean best fit to points
* Euclidean distance from points
- Intersection2D_F64.containConcave() tests to see if a point is contained in a concave polygon
- Added dependency to DDogleg library
---------------------------------------------
Date : 2013-02-16
Version : 0.2
- Added metric.Area2D
* Area of arbitrary triangle
---------------------------------------------
Date : 2012-11-27
Version : 0.1
First versioned release and added to maven
--------------------------
- Early development release. Changes kept track of inside GIT comments
|