Package org.djutils.draw.curve


package org.djutils.draw.curve
Continuous lines are (mathematically) defined curves that:
have no gaps
have a start point
have an end point
have a defined direction at the start point
have a defined direction at the end point
may have knots along the way.

Copyright (c) 2023-2025 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djutils.org. The DJUTILS project is distributed under a three-clause BSD-style license, which can be found at https://djutils.org/docs/license.html.

Author:
Alexander Verbraeck, Peter Knoppers, Wouter Schakel
  • Class
    Description
    Continuous definition of an arc in 2d.
    Common code used to generated Bézier curves.
    Continuous definition of a Bézier curve in 2d.
    Continuous definition of a Bézier curve in 3d.
    Continuous definition of a cubic Bézier curves in 2d.
    Continuous definition of a cubic Bézier curves in 3d.
    Continuous definition of a clothoid in 2d.
    Additional curve properties.
    Curve<DP,DIR,P extends Point<P>,F extends Flattener<F,?,PL,P,DIR>,PL extends PolyLine<?,P,?,?,?>>
    A Curve defines a line in an exact, continuous manner, from which numerically approximated polylines can be derived.
    This interface narrows down the interface of continuous curves for 2d use.
    This interface narrows down the interface of continuous curves for 3d use.
    Flattener<F extends Flattener<F,C,PL,P,DIR>,C extends Curve<?,?,P,F,PL>,PL extends PolyLine<?,P,?,?,?>,P extends Point<P>,DIR>
    Flattens a Curve in to a PolyLine.
    Interface for getPoint and getDirection that hide whether or not an offset is applied.
    Flattens a Curve2d in to a PolyLine2d.
    Flattener that limits the angle difference between the Curve2d and the PolyLine2d.
    Flattener that limits the distance between the Curve2d and the PolyLine2d.
    Flattener that limits the distance and angle difference between the Curve2d and the PolyLine2d.
    Flattener that approximates the Curve2d with a specified number of segments.
    Flattens a Curve3d in to a PolyLine3d.
    Flattener that limits the angle difference between the Curve3d and the PolyLine3d.
    Flattener that limits the distance between the Curve3d and the PolyLine3d.
    Flattener that limits the distance and angle difference between the Curve3d and the PolyLine3d.
    Flattener that approximates the Curve3d with a specified number of segments.
    Utility class to create clothoid lines, in particular the Fresnel integral based on: W.J.
    OffsetCurve2d.java.
    Flattens a Curve2d with piece-wise linear offset in to a PolyLine2d.
    OffsetFlattener that limits the angle difference between the OffsetCurve2d and the PolyLine2d.
    Flattener that limits the distance between the OffsetCurvee2d and the PolyLine2d.
    OffsetFlattener that limits distance and angle difference between the OffsetCurve2d and the PolyLine2d.
    Flattener that approximates the OffsetCurve2d with a specified number of segments.
    Continuous curve implementation of a straight in 2d.