-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy path_pkgdown.yml
184 lines (179 loc) · 5.14 KB
/
_pkgdown.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
destination: docs
url: https://r-euclid.com
authors:
Thomas Lin Pedersen:
href: https://data-imaginist.com
home:
title: >
euclid: A foundation for computational geometry in R
description: >
An R package that provides exact geometric data types in R, along with basic
operations and predicates on them. euclid builds upon the 2 and 3
dimensional linear geometry kernel from CGAL.
template:
bootstrap: 5
theme: a11y-light
bslib:
bg: "#F7FAF4"
fg: "#0B0B0B"
primary: "#C54514"
base_font: {google: "Gelasio"}
heading_font: {google: "Montserrat"}
code_font: {google: "Fira Code"}
opengraph:
image:
src: man/figures/card.png
alt: "euclid: Exact compuational geometry in R"
twitter:
creator: "@thomasp85"
site: "@rstudio"
card: summary_large_image
navbar:
bg: primary
type: dark
structure:
left:
- intro
- reference
- articles
- tutorials
- news
right:
- euclid
- github
components:
reference:
text: Reference
href: reference/index.html
euclid:
text: Euclid ecosystem
menu:
- text: Foundation
- text: Euclid
href: https://r-euclid.com
- text: Polyclid
href: https://polyclid.r-euclid.com
- text: -------
- text: Utilities
- text: Boundaries
href: https://boundaries.r-euclid.com
- text: Orion
href: https://orion.r-euclid.com
github:
icon: fab fa-github fa-lg
href: https://github.com/thomasp85/euclid/
aria-label: github
reference:
- title: Geometry types
desc: >
The core of euclid is a range of new primitive vector types modelling
different types of geometries. When applicable, the types comes in both a
2 and 3 dimensional version. The vector types behaves much like regular R
vectors in terms of subsetting, equality, etc. When it makes sense they also
respond to arithmetic and sorting operations.
contents:
- is_geometry
- geometry_class
- circle
- direction
- iso_cube
- iso_rect
- line
- plane
- point
- ray
- segment
- sphere
- tetrahedron
- triangle
- vec
- weighted_point
- title: Other data types
desc: >
In addition to vectors of geometries euclid also provides a few other
primitive types to support geometric operations. As with the vectors of
geometries, these data types behaves much like normal R vectors.
contents:
- exact_numeric
- bbox
- affine_matrix
- title: Data access
desc: >
Geometries are based on parameters and sometimes supporting points. These
can be extracted in various ways.
contents:
- def
- vert
- edge
- title: Predicates
desc: >
At the core of a lot of geometric algorithms lies predicates on geometries.
This is also a place where floating points often leads to failures since
e.g. a point constructed to lie on a plane may end up slightly off the plane
due to rounding and imprecisions. The euclid predicates are exact, however,
as long as the geometries have been constructed within the framework.
contents:
- is_degenerate
- has_on
- constant_in
- has_intersection
- parallel
- collinear
- in_order
- turns_left
- title: Transformations
desc: >
Geometries can be transformed by affine transformation matrices using the
`transform()` method. In addition, other types of transformations are
available, such as projections to lines and planes.
contents:
- project
- map_to
- normal
- title: Intersections
desc: >
Intersection of geometries is at the heart of many algorithms and is
complicated by their unpredictable output type. Further, not all
intersections can be represented exactly.
contents:
- intersection
- has_intersection
- title: Boolean operations
desc: >
While euclid only provides intersection methods for its data types it
provides generics that can be used by extension packages to add onto it. See
e.g. the polyclid package that provides the full set of 2D boolean set
operations for polygons and polylines.
contents:
- difference
- title: Measures
desc: >
Measures on geometries such as area, length, and volume, cannot always be
given in exact numbers due to reliance on square roots, pi, and other
inexact operations. Because of this they are here provided as approximate
measures in the sense that they are subjected to the imprecisions of
floating point arithmetic. Further, pairwise measures such as distance is
given as well.
contents:
- approx_length
- distance_squared
- approx_angle
- title: Locations
desc: >
Single geometries or collections of them can define specific locations in
space, often points, but also lines and planes. euclid provides a range of
functionality for calculating these.
contents:
- centroid
- circumcenter
- barycenter
- bisector
- equidistant_line
- radical
- title: Plotting
desc: >
Geometry and drawing goes hand in hand. Euclid provides direct support for
both base and grid graphics when it comes to 2D geometries. 3D geometries is
not supported at the moment, but will be in the future.
contents:
- euclid_plot