descartes

Imprecision-tolerant computational geometry for Rust

  • Owner: aeplay/descartes
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

descartes

descartes is a...

  • Error-tolerant 2D geometry engine
  • that allows for arbitrary error tolerances
  • dealing with both floating-point inaccuracies and much larger user input inaccuracies

With the following primitives:

  • line
  • circle
  • line/circle segment

And the following compound objects:

  • Path (continuous concatenation of line/circle segments)
  • Shape (Path outline with 0..n Path holes)
  • Band (a path with a thickness)

It offers...

  • Reexported 2D & 3D Point/Vector operations from nalgebra
  • Projections from and onto lines, circles, segments, paths, bands
  • Intersections
    • between lines & circles
    • between line/circle segments
    • between paths
  • Axis-aligned bounding boxes for
    • line/circle segments
    • paths
  • Boolean operations between shapes
  • Orthogonal offsets of segments
  • True Orthogonal offsets of paths (without producing self-intersections)
  • A RoughEq Trait for comparing things within a tolerance, with implementations for P2, P3 and V2, P3

It internally uses...

  • "Thick" primitives for tolerances

descartes is named after René Descartes, the father of analytical geometry.

Main metrics

Overview
Name With Owneraeplay/descartes
Primary LanguageRust
Program languageRust (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2018-07-05 12:23:03
Pushed At2021-02-03 03:02:02
Last Commit At2020-04-10 16:19:55
Release Count0
用户参与
Stargazers Count81
Watchers Count5
Fork Count4
Commits Count23
Has Issues Enabled
Issues Count0
Issue Open Count0
Pull Requests Count0
Pull Requests Open Count1
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private