Summary of important user-visible changes for releases of the geometry package =============================================================================== geometry-4.1.0 Release Date: 16-03-2024 Release Manager: Juan Pablo Carbajal =============================================================================== * Added new functions to detect intersetions and points inside 3d polygons. * ispolycw that allows for two cell array inputs (px and py), see https://savannah.gnu.org/patch/?10297 * Fixed compilation error with g++ v11, see https://savannah.gnu.org/bugs/?60884 * Fixed failing test in joinPolygons =============================================================================== geometry-4.0.0 Release Date: 03-02-2020 Release Manager: Juan Pablo Carbajal =============================================================================== As of this version, geometry does not contain any matgeom functionality. It contains all the extra functions that we have been adding to geometry, in particular matlab compatible functionality for the mapping package. It might need that you do not need geometry anymore and instead you need to install matgeom to get the functionality you were using. Geometry was an attempt to port MatGeom (a geometry package developed for Matlab) to Octave, improving docstrings and updating to octave's special features when possible. Over time it became almost impossible to keep geometry in sync with the upstream developments of MatGeom. Hence I have decided to separate matgeom from geometry. My apologize for the troubles caused, this is the way I learn, by doing. Moreover, the @svg class is not working anymore. I leave it in the package but it should be considered broken. Will fix in future versions. ** Functions have been modified clipPolygon: - Accepts boolean operation as strings or as integer. - Accepts a box [xmin xmax ymin ymax] as clipping polygon. ** Added Functions drawFilledPolygon =============================================================================== geometry-3.0.0 Release Date: 27-03-2017 Release Manager: Juan Pablo Carbajal =============================================================================== This version of the package is not backward compatible for the following reasons: ** Functions have changed their name beltproblem --> beltProblem closed_path --> closedPath shapearea --> shapeArea shapecentroid --> shapeCentroid shapeplot --> plotShape shapetransform --> transformShape simplifypolygon --> simplifyPoligon simplifyPolyline --> simplifyPolyline ** Functions that are in GNU Octave core since 4.0.1 rad2deg deg2rad ** Added Functions isAxisHandle isPolygonCCW isPolygonCW_Clipper joinPolygons polygon2patch orientPolygon boundedVoronoi2d drawGraphEdges clipGraph grAdjacentEdges grAdjacentNodes grEdgeLengths centroidalVoronoi2d clipGraphPolygon cvtUpdate intersectEdgePolygon intersectLinePolygon isPointInPolygon polygonBounds polygonContains convexHull minimumCaliperDiameter grShortestPath drawNodeLabels nndist createRotation3dLineAngle drawPlane3d rotation3dAxisAndAngle boxToMesh checkMeshAdjacentFaces clipConvexPolyhedronHP clipMeshVertices createDodecahedron createDurerPolyhedron createIcosahedron createMengerSponge createOctahedron createRhombododecahedron createSoccerBall createTetrahedron createTetrakaidecahedron cylinderMesh drawFaceNormals drawPolyhedron ellipsoidMesh faceCentroids faceNormal intersectLineMesh3d intersectPlaneMesh mergeCoplanarFaces meshAdjacencyMatrix meshDihedralAngles meshEdgeFaces meshEdgeLength meshEdges meshFace meshFaceAdjacency meshFaceEdges meshFaceNumber meshFacePolygons meshSurfaceArea meshVolume minConvexHull polyhedra polyhedronCentroid polyhedronMeanBreadth polyhedronNormalAngle polyhedronSlice readMesh_off removeMeshVertices smoothMesh sphereMesh steinerPolytope subdivideMesh surfToMesh tetrahedronVolume torusMesh triangulateFaces trimMesh trimeshEdgeFaces trimeshMeanBreadth trimeshSurfaceArea vertexNormal distancePoints clipLine3d drawLine3d eulerAnglesToRotation3d intersectLineSphere linePosition3d recenterTransform3d transformLine3d transformVector3d intersectPolylines clipPolyline clipPolyline_clipper clipPolygon clipPolygon_clipper ** Improved Functions drawPolygon is more efficent when drawing polygons in cells and now it takes an axis handle as first argument (optional). Added demo and tests intersectEdges accepts tolerance as third argument polygon2patch demo fixed, missing third argument for patch. =============================================================================== geometry-2.1.1 Release Date: 2016-03-24 Release Manager: Juan Pablo Carbajal =============================================================================== ** Added Functions fillPolygon rectAsPolygon ** Improved Functions drawShape was not working due to missing functions. they have all been added now. ============================================================================== geometry-2.1.0 Release Date: 2016-02-04 Release Manager: Juan Pablo Carbajal =============================================================================== ** Added Functions projPointOnPolyline: the function is added for compatibility, but it is just a wrapper of distancePointPolyline. findClosestPoint ** Improved Functions distancePointPolyline is now updated with a spee dup of 100x. It also calculates the projections, so projPointOnPolyline is obsolete. =============================================================================== geometry-2.0.0 Release Date: 2015-04-27 Release Manager: Juan Pablo Carbajal =============================================================================== ** Geometry 2.0.0 is not compatible with versions of octave older than 4.0. Thi si due to inputParser being used in the functions curve2polyline, cov2ellipse and simplifypolyline. If you do not need this functions you should no problems using octave > 3.6.0 ** Removed functions oc_polybol is not part of geomtry anymore. This function is part of the octclip package. ** Added Functions planePoint ** Bug Fixes: - polynomialCurveSetFit had debug entries, now removed. ** Other changes: - closed_path demo code was improved. =============================================================================== geometry-1.7.0 Release Date: 2013-04-07 Release Manager: Juan Pablo Carbajal =============================================================================== ** Added Functions box3dVolume cart2cyl circle3dPoint cyl2cart drawCircle3d drawPoint3d createScaling3d drawCube createCube drawSphericalTriangle drawTorus revolutionSurface drawVector3d spheres drawPolyline drawPolynomialCurve polynomialCurveCentroid polynomialCurveDerivative polynomialCurveFit polynomialCurvePoint polynomialCurveSetFit polygonPoint polygonSubcurve ** Bug Fixes: - cov2ellipse scale and orientation of axis. =============================================================================== geometry-1.6.0 Release Date: 2012-10-12 Release Manager: Juan Pablo Carbajal =============================================================================== ** geometry doesn't autoloads anymore ** Added Functions anglePoints3d angles3d boxes3d geom3d_Contents lines3d planes3d points3d polygons3d vectors3d graphs_Contents meshes3d_Contents angleSort3d createPlane intersectLinePlane normalizePlane planeNormal planePosition projPointOnPlane sph2cart2 vectorAngle3d distancePointLine3d cart2sph2d createRotationOx createRotationOy createRotationOz createTranslation3d drawAxis3d drawCylinder drawSphere polygonArea3d transformPoint3d drawBox3d drawEdge3d drawMesh createCubeOctahedron boundingBox3d cart2sph2 circle3dOrigin circle3dPosition drawCircleArc3d drawPolygon3d drawSphericalEdge drawSphericalPolygon intersectPlaneSphere sph2cart2d ** Updated functions distancePoints ** Bug Fixes: - drawArrow was not working due to porting errors. =============================================================================== geometry-1.5.0 Release Date: 2012-06-05 Release Manager: Juan Pablo Carbajal =============================================================================== * Added functions: - cov2ellipse & ellipse2cov: transform between ellipses and covariances matrices. - beltproblem : Finds the four lines tangent to two circles with given centers and radii. This is the solution to the belt problem in 2D. - curveval : Evaluates a polynomial curve defined as a 2-by-N matrix. - curve2polyline : Converts a polynomial curve into a polyline by the adaptive sampling method. - simplifypolyline : Ramer-Douglas-Peucker algorithm to simplify polylines. - parametrize : Estimate a parametrization of a polygon/line based on the distance between the points. - curvature : Estimation of the curvature of a polygon/line based on polynomial approximation. - reversePolygon and reversePolyline : reverse the orders of the points in of polygon/line. - supportFunction : Compute support function of a polygon. - distancePointPolygon , distancePointPolyline , distancePolygons , expandPolygon , medialAxisConvex , polygonLoops , polygonSelfIntersections polylineSelfIntersections , splitPolygons - close_path : given a set of points in the plane calculate a piecewise linear simple path that passes through all points. * Changed functions: - distancePointEdge : Now the function computes the distance between all points and all edges. A third optional argument provides backward compatibility. * Solved bugs: - simplifypolygon returned empty polygons when points are repeated, i.e when the polygon is not correctly formed. - Removed installation warnings. =============================================================================== geometry-1.4.1 Release Date: 2012-03-24 Release Manager: Juan Pablo Carbajal =============================================================================== * Renamed functions - Contents renamed to geom2d_Contents to avoid clashes. * Deprecated functions - svgload, svgnormalize, svgpath2polygon: Use the methods in class svg. * Bug fixes - @svg/path2polygon - Fix addpath/rmpath installation warnings - Fix octclip/src/Makefile - Fix shapecentriod for piece-wise polynomial shapes. * Known issues - simplifypolygon returns empty polygons when points are repeated, i.e when the polygon is not correctly formed. =============================================================================== geometry-1.4.0 Release Date: 2012-01-25 Release Manager: Juan Pablo Carbajal =============================================================================== * Added basic geometric graphs creation and manipulation. =============================================================================== geometry-1.3.0 Release Date: 2011-11-24 Release Manager: Juan Pablo Carbajal =============================================================================== * Geometry merged with octCLIP. * Geometry autoloads. =============================================================================== geometry-1.2.2 Release Date: 2011-11-04 Release Manager: Juan Pablo Carbajal =============================================================================== * Improved SVG interface. Thanks to jwe and carandraug. * Adding files to manipulate and convert 2D shapes defined with smooth polynomials. shape2polygon shapearea shapecentroid shapeplot shapetransform * Inverted the order in the NEWS file. New entries are on top. =============================================================================== geometry-1.2.1 Release Date: 2011-11-02 Release Manager: Juan Pablo Carbajal =============================================================================== * Adding SVG object and demo for data2geom (converting SVG to msh format) =============================================================================== geometry-1.2.0 Release Date: 2011-10-21 Release Manager: Juan Pablo Carbajal =============================================================================== * All geom2d added createCircle createDirectedCircle createEdge medianLine Contents bisector cartesianLine drawArrow edges2d lines2d orthogonalLine parallelLine projPointOnLine drawCenteredEdge drawCircle drawCircleArc drawEllipse drawEllipseArc drawLabels drawOrientedBox drawParabola drawRect drawShape circles2d ellipses2d createVector inertiaEllipse changelog.txt readme.txt hexagonalGrid squareGrid triangleGrid intersectCircles intersectEdges intersectLineCircle isLeftOriented isPointInCircle isPointInEllipse isPointOnCircle isPointOnLine edgeLength edgePosition edgeToLine circleArcAsCurve circleAsPolygon crackPattern crackPattern2 distancePointEdge distancePointLine ellipseAsPolygon enclosingCircle radicalAxis reverseEdge reverseLine =============================================================================== geometry-1.1.3 Release Date: 2011-10-13 Release Manager: Juan Pablo Carbajal =============================================================================== * Continue to add geom2d from matGeom (transforms and points2d) createBasisTransform createHomothecy createLineReflection createRotation createScaling createTranslation transformPoint transforms2d fitAffineTransform2d transformEdge transformLine centroid distancePoints midPoint polarPoint drawPoint isCounterClockwise minDistancePoints pointOnLine points2d intersectLineEdge isPointOnEdge =============================================================================== geometry-1.1.2 Release Date: 2011-10-09 Release Manager: Juan Pablo Carbajal =============================================================================== * Continue to add geom2d from matGeom (rays and vectors) createRay drawEdge drawRay isParallel isPerpendicular isPointOnRay normalizeVector rays2d rotateVector transformVector vectorNorm vectors2d =============================================================================== geometry-1.1.1 Release Date: 2011-10-06 Release Manager: Juan Pablo Carbajal =============================================================================== * Continue to add geom2d from matGeom (boxes and clips) cbezier2poly boxes2d clipEdge clipLine clipPoints drawBezierCurve drawBox clipRay intersectBoxes intersectLines linePosition mergeBoxes randomPointInBox drawLine =============================================================================== geometry-1.1.0 Release Date: 2011-10-04 Release Manager: Juan Pablo Carbajal =============================================================================== * Starting to add geom2d from matGeom angle2Points angle3Points angleAbsDiff angleDiff angles2d angleSort createLine deg2rad edgeAngle lineAngle normalizeAngle rad2deg vectorAngle =============================================================================== geometry-1.0.1 Release Date: 2011-09-27 Release Manager: Juan Pablo Carbajal =============================================================================== Improvements to the docstrings of all functions. =============================================================================== geometry-1.0.0 Release Date: 2011-09-26 Release Manager: Juan Pablo Carbajal =============================================================================== ** First official release. ===============================================================================