Skip to content

Commit 95c193c

Browse files
committed
Update docs
1 parent 784ac8c commit 95c193c

File tree

1 file changed

+99
-21
lines changed

1 file changed

+99
-21
lines changed

README.md

Lines changed: 99 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ func (p Point[T]) XY() (T, T)
5050
// Mathematical operations
5151
func (p Point[T]) Add(vector Vector[T]) Point[T]
5252
func (p Point[T]) AddXY(deltaX, deltaY T) Point[T]
53-
func (p Point[T]) Subtract(other Point[T]) Vector[T]
54-
func (p Point[T]) Multiply(scale float64) Point[T]
55-
func (p Point[T]) MultiplyXY(scaleX, scaleY float64) Point[T]
56-
func (p Point[T]) Divide(scale float64) Point[T]
57-
func (p Point[T]) DivideXY(scaleX, scaleY float64) Point[T]
53+
func (p Point[T]) Subtract(point Point[T]) Vector[T]
54+
func (p Point[T]) Multiply(factor float64) Point[T]
55+
func (p Point[T]) MultiplyXY(factorX, factorY float64) Point[T]
56+
func (p Point[T]) Divide(factor float64) Point[T]
57+
func (p Point[T]) DivideXY(factorX, factorY float64) Point[T]
5858

5959
// Geometric operations
6060
func (p Point[T]) DistanceTo(point Point[T]) float64
@@ -81,29 +81,34 @@ func (v Vector[T]) XY() (T, T)
8181
// Mathematical operations
8282
func (v Vector[T]) Add(vector Vector[T]) Vector[T]
8383
func (v Vector[T]) AddXY(deltaX, deltaY T) Vector[T]
84-
func (v Vector[T]) Sub(vector Vector[T]) Vector[T]
85-
func (v Vector[T]) SubXY(deltaX, deltaY T) Vector[T]
86-
func (v Vector[T]) Multiply(scale float64) Vector[T]
87-
func (v Vector[T]) MultiplyXY(scaleX, scaleY float64) Vector[T]
88-
func (v Vector[T]) Divide(scale float64) Vector[T]
89-
func (v Vector[T]) DivideXY(scaleX, scaleY float64) Vector[T]
84+
func (v Vector[T]) Subtract(vector Vector[T]) Vector[T]
85+
func (v Vector[T]) SubtractXY(deltaX, deltaY T) Vector[T]
86+
func (v Vector[T]) Multiply(factor float64) Vector[T]
87+
func (v Vector[T]) MultiplyXY(factorX, factorY float64) Vector[T]
88+
func (v Vector[T]) Divide(factor float64) Vector[T]
89+
func (v Vector[T]) DivideXY(factorX, factorY float64) Vector[T]
9090
func (v Vector[T]) Negate() Vector[T]
9191

9292
// Vector operations
93-
func (v Vector[T]) Dot(vector Vector[T]) float64
94-
func (v Vector[T]) Cross(vector Vector[T]) float64
93+
func (v Vector[T]) Dot(vector Vector[T]) T
94+
func (v Vector[T]) Cross(vector Vector[T]) T
9595
func (v Vector[T]) Length() float64
9696
func (v Vector[T]) LengthSquared() T
97-
func (v Vector[T]) Normalize() Vector[T]
9897
func (v Vector[T]) Angle() float64
9998

10099
// Transformations
101100
func (v Vector[T]) Rotate(angle float64) Vector[T]
102101
func (v Vector[T]) Normal() Vector[T]
102+
func (v Vector[T]) Resize(length float64) Vector[T]
103+
func (v Vector[T]) Normalize() Vector[T]
104+
func (v Vector[T]) Abs() Vector[T]
103105

104106
// Utilities
105-
func (v Vector[T]) Equal(vector Vector) bool
107+
func (v Vector[T]) Equal(vector Vector[T]) bool
106108
func (v Vector[T]) Zero() bool
109+
func (v Vector[T]) Unit() bool
110+
func (v Vector[T]) Less(value T) bool
111+
func (v Vector[T]) String() string
107112
```
108113

109114
### Size
@@ -115,21 +120,22 @@ type Size[T Number] struct {
115120

116121
// Properties
117122
func (s Size[T]) XY() (T, T)
118-
func (s Size[T]) Area() float64
123+
func (s Size[T]) Area() T
119124
func (s Size[T]) Perimeter() T
120125
func (s Size[T]) AspectRatio() float64
121126

122-
123127
// Dimension operations
124128
func (s Size[T]) Scale(factor float64) Size[T]
125129
func (s Size[T]) ScaleXY(factorX, factorY float64) Size[T]
126130
func (s Size[T]) Grow(amount T) Size[T]
127131
func (s Size[T]) GrowXY(amountX, amountY T) Size[T]
128-
func (s Size[T]) Shrink(amountX, amountY T) Size[T]
132+
func (s Size[T]) Shrink(amount T) Size[T]
133+
func (s Size[T]) ShrinkXY(amountX, amountY T) Size[T]
129134

130135
// Utilities
131136
func (s Size[T]) Equal(other Size[T]) bool
132137
func (s Size[T]) Zero() bool
138+
func (s Size[T]) String() string
133139
```
134140

135141
### Circle
@@ -153,14 +159,15 @@ func (c Circle[T]) Scale(factor float64) Circle[T]
153159

154160
// Size operations
155161
func (c Circle[T]) Resize(radius T) Circle[T]
156-
func (c Circle[T]) Expand(amount T) Circle[T]
157-
func (c Circle[T]) Shrunk(amount T) Circle[T]
162+
func (c Circle[T]) Grow(amount T) Circle[T]
163+
func (c Circle[T]) Shrink(amount T) Circle[T]
158164

159165
// Geometric queries
160166
func (c Circle[T]) Contains(point Point[T]) bool
161167

162168
// Utilities
163-
func (c Circle[T]) Equal(circle Circle) bool
169+
func (c Circle[T]) Equal(circle Circle[T]) bool
170+
func (c Circle[T]) String() string
164171
```
165172

166173
### Rectangle
@@ -170,6 +177,42 @@ type Rectangle[T Number] struct{
170177
Center Point[T]
171178
Size Size[T]
172179
}
180+
181+
// Properties
182+
func (r Rectangle[T]) Width() T
183+
func (r Rectangle[T]) Height() T
184+
func (r Rectangle[T]) Min() Point[T]
185+
func (r Rectangle[T]) Max() Point[T]
186+
func (r Rectangle[T]) BottomLeft() Point[T]
187+
func (r Rectangle[T]) BottomRight() Point[T]
188+
func (r Rectangle[T]) TopLeft() Point[T]
189+
func (r Rectangle[T]) TopRight() Point[T]
190+
func (r Rectangle[T]) Edges() []Line[T]
191+
func (r Rectangle[T]) Vertices() []Point[T]
192+
func (r Rectangle[T]) Area() T
193+
func (r Rectangle[T]) Perimeter() T
194+
func (r Rectangle[T]) AspectRatio() float64
195+
196+
// Transformations
197+
func (r Rectangle[T]) Translate(vector Vector[T]) Rectangle[T]
198+
func (r Rectangle[T]) MoveTo(center Point[T]) Rectangle[T]
199+
func (r Rectangle[T]) Scale(factor float64) Rectangle[T]
200+
func (r Rectangle[T]) ScaleXY(factorX, factorY float64) Rectangle[T]
201+
202+
// Size operations
203+
func (r Rectangle[T]) Resize(size Size[T]) Rectangle[T]
204+
func (r Rectangle[T]) Grow(amount T) Rectangle[T]
205+
func (r Rectangle[T]) GrowXY(amountX, amountY T) Rectangle[T]
206+
func (r Rectangle[T]) Shrink(amount T) Rectangle[T]
207+
func (r Rectangle[T]) ShrinkXY(amountX, amountY T) Rectangle[T]
208+
209+
// Geometric queries
210+
func (r Rectangle[T]) Contains(point Point[T]) bool
211+
212+
// Utilities
213+
func (r Rectangle[T]) Equal(other Rectangle[T]) bool
214+
func (r Rectangle[T]) ToPolygon() Polygon[T]
215+
func (r Rectangle[T]) String() string
173216
```
174217

175218
### Line
@@ -179,6 +222,20 @@ type Line[T Number] struct{
179222
Start Point[T]
180223
End Point[T]
181224
}
225+
226+
// Transformations
227+
func (l Line[T]) Translate(vector Vector[T]) Line[T]
228+
func (l Line[T]) MoveTo(point Point[T]) Line[T]
229+
func (l Line[T]) Reversed() Line[T]
230+
231+
// Measurements
232+
func (l Line[T]) Midpoint() Point[T]
233+
func (l Line[T]) Direction() Vector[T]
234+
func (l Line[T]) Length() float64
235+
236+
// Utilities
237+
func (l Line[T]) Equal(other Line[T]) bool
238+
func (l Line[T]) String() string
182239
```
183240

184241
### Polygon
@@ -187,6 +244,15 @@ type Line[T Number] struct{
187244
type Polygon[T Number] struct{
188245
Vertices []Point[T]
189246
}
247+
248+
// Properties
249+
func (p Polygon[T]) Center() Point[T]
250+
251+
// Transformations
252+
func (p Polygon[T]) Translate(vector Vector[T]) Polygon[T]
253+
func (p Polygon[T]) MoveTo(center Point[T]) Polygon[T]
254+
func (p Polygon[T]) Scale(factor float64) Polygon[T]
255+
func (p Polygon[T]) ScaleXY(factorX, factorY float64) Polygon[T]
190256
```
191257

192258
### Regular Polygon
@@ -197,6 +263,18 @@ type RegularPolygon[T Number] struct {
197263
Size Size[T]
198264
N int
199265
}
266+
267+
// Properties
268+
func (rp RegularPolygon[T]) Vertices() []Point[T]
269+
270+
// Transformations
271+
func (rp RegularPolygon[T]) Translate(vector Vector[T]) RegularPolygon[T]
272+
func (rp RegularPolygon[T]) MoveTo(center Point[T]) RegularPolygon[T]
273+
func (rp RegularPolygon[T]) Scale(factor float64) RegularPolygon[T]
274+
func (rp RegularPolygon[T]) ScaleXY(factorX, factorY float64) RegularPolygon[T]
275+
276+
// Utilities
277+
func (rp RegularPolygon[T]) ToPolygon() Polygon[T]
200278
```
201279

202280
### Constructor Functions

0 commit comments

Comments
 (0)