Skip to main content

Module solve

Module solve 

Source
Expand description

Solving a sketch: every constraint contributes residuals that are zero exactly when it holds — a term of the sketch’s variables — and geop_core_math::solvers::system, on the driver every solve of the kernel shares ([geop_core_math::solvers::constrained]), holds them, pulls a dragged point, and encloses the exact solution.

Variables. Each class of coincident points (see Sketch::point_classes) is one (x, y) pair — coincidence is not a residual at all, it removes two degrees of freedom by construction. Each arc adds its half sweep, each circle its radius.

Units. Every residual is a length: dimensionless ones (angles, parallelism) are multiplied by the sketch’s characteristic size, so no constraint kind dominates the objective just by its choice of units, and the convergence test is a single relative length.

Honest enclosures. Everything is computed in the sketch’s own scalar — any Scalar — each residual as a geop_core_math::dual::Dual of it, so the sin/sqrt/PI a geometric formula can’t help but need are enclosed rather than quietly rounded away. A residual that becomes genuinely undecidable (a division or square root at the edge of its domain) makes that point infeasible.

Structs§

SolveReport
The outcome of a solve.