Inkscape
Vector Graphics Editor
|
two-dimensional geometric operators. More...
Go to the source code of this file.
Namespaces | |
namespace | Geom |
Various utility functions. | |
Functions | |
Piecewise< D2< SBasis > > | Geom::cutAtRoots (Piecewise< D2< SBasis > > const &M, double tol=1e-4) |
Piecewise< SBasis > | Geom::atan2 (D2< SBasis > const &vect, double tol=.01, unsigned order=3) |
Piecewise< SBasis > | Geom::atan2 (Piecewise< D2< SBasis > >const &vect, double tol=.01, unsigned order=3) |
D2< Piecewise< SBasis > > | Geom::tan2 (SBasis const &angle, double tol=.01, unsigned order=3) |
D2< Piecewise< SBasis > > | Geom::tan2 (Piecewise< SBasis > const &angle, double tol=.01, unsigned order=3) |
Piecewise< D2< SBasis > > | Geom::unitVector (D2< SBasis > const &vect, double tol=.01, unsigned order=3) |
Piecewise< D2< SBasis > > | Geom::unitVector (Piecewise< D2< SBasis > > const &vect, double tol=.01, unsigned order=3) |
Piecewise< SBasis > | Geom::curvature (D2< SBasis > const &M, double tol=.01) |
Piecewise< SBasis > | Geom::curvature (Piecewise< D2< SBasis > > const &M, double tol=.01) |
Piecewise< SBasis > | Geom::arcLengthSb (D2< SBasis > const &M, double tol=.01) |
Piecewise< SBasis > | Geom::arcLengthSb (Piecewise< D2< SBasis > > const &M, double tol=.01) |
double | Geom::length (D2< SBasis > const &M, double tol=.01) |
double | Geom::length (Piecewise< D2< SBasis > > const &M, double tol=.01) |
void | Geom::length_integrating (D2< SBasis > const &B, double &result, double &abs_error, double tol) |
Piecewise< D2< SBasis > > | Geom::arc_length_parametrization (D2< SBasis > const &M, unsigned order=3, double tol=.01) |
Piecewise< D2< SBasis > > | Geom::arc_length_parametrization (Piecewise< D2< SBasis > > const &M, unsigned order=3, double tol=.01) |
unsigned | Geom::centroid (Piecewise< D2< SBasis > > const &p, Point ¢roid, double &area) |
std::vector< D2< SBasis > > | Geom::cubics_fitting_curvature (Point const &M0, Point const &M1, Point const &dM0, Point const &dM1, double d2M0xdM0, double d2M1xdM1, int insist_on_speed_signs=1, double epsilon=1e-5) |
std::vector< D2< SBasis > > | Geom::cubics_fitting_curvature (Point const &M0, Point const &M1, Point const &dM0, Point const &dM1, Point const &d2M0, Point const &d2M1, int insist_on_speed_signs=1, double epsilon=1e-5) |
std::vector< D2< SBasis > > | Geom::cubics_with_prescribed_curvature (Point const &M0, Point const &M1, Point const &dM0, Point const &dM1, double k0, double k1, int insist_on_speed_signs=1, double error=1e-5) |
std::vector< double > | Geom::find_tangents (Point P, D2< SBasis > const &A) |
std::vector< double > | Geom::find_tangents_by_vector (Point V, D2< SBasis > const &A) |
std::vector< double > | Geom::find_normals (Point P, D2< SBasis > const &A) |
std::vector< double > | Geom::find_normals_by_vector (Point V, D2< SBasis > const &A) |
two-dimensional geometric operators.
These operators are built on a more 'polynomially robust' transformation to map a function that takes a [0,1] parameter to a 2d vector into a function that takes the same [0,1] parameter to a unit vector with the same direction.
Rather that using (X/sqrt(X))(t) which involves two unstable operations, sqrt and divide, this approach forms a curve directly from the various tangent directions at each end (angular jet). As a result, the final path has a convergence behaviour derived from that of the sin and cos series. – njh
Definition in file sbasis-geometric.h.