diff --git a/geometry.go b/geometry.go
index 593736100c958df20e1329e3cffef62836f550a8..eb87ede3c229dc3797e078efbc1d6869e5774142 100644
--- a/geometry.go
+++ b/geometry.go
@@ -310,15 +310,15 @@ func (r Rect) Intersect(s Rect) Rect {
 	return t
 }
 
-// IntersectsCircle returns a minimal required Vector, such that moving the circle by that vector would stop the Circle
+// IntersectCircle returns a minimal required Vector, such that moving the circle by that vector would stop the Circle
 // and the Rect intersecting.  This function returns a zero-vector if the Circle and Rect do not overlap, and if only
 // the perimeters touch.
 //
 // This function will return true if:
 //  - The Rect contains the Circle, partially or fully
 //  - The Circle contains the Rect, partially of fully
-func (r Rect) IntersectsCircle(c Circle) Vec {
-	return c.IntersectsRect(r).Scaled(-1)
+func (r Rect) IntersectCircle(c Circle) Vec {
+	return c.IntersectRect(r).Scaled(-1)
 }
 
 // Circle is a 2D circle. It is defined by two properties:
@@ -468,14 +468,14 @@ func (c Circle) Intersect(d Circle) Circle {
 	}
 }
 
-// IntersectsRect returns a minimal required Vector, such that moving the circle by that vector would stop the Circle
+// IntersectRect returns a minimal required Vector, such that moving the circle by that vector would stop the Circle
 // and the Rect intersecting.  This function returns a zero-vector if the Circle and Rect do not overlap, and if only
 // the perimeters touch.
 //
 // This function will return true if:
 //  - The Rect contains the Circle, partially or fully
 //  - The Circle contains the Rect, partially of fully
-func (c Circle) IntersectsRect(r Rect) Vec {
+func (c Circle) IntersectRect(r Rect) Vec {
 	// h and v will hold the minimum horizontal and vertical distances (respectively) to avoid overlapping
 	var h, v float64
 
diff --git a/geometry_test.go b/geometry_test.go
index 2bdc2840985dfe79ab3fc2b53c05c6e0d1b8ee1d..e0cd3054cd79f530c3931431c7358a0befa8285d 100644
--- a/geometry_test.go
+++ b/geometry_test.go
@@ -457,7 +457,7 @@ func TestCircle_Intersect(t *testing.T) {
 	}
 }
 
-func TestRect_IntersectsCircle(t *testing.T) {
+func TestRect_IntersectCircle(t *testing.T) {
 	type fields struct {
 		Min pixel.Vec
 		Max pixel.Vec
@@ -472,79 +472,79 @@ func TestRect_IntersectsCircle(t *testing.T) {
 		want   pixel.Vec
 	}{
 		{
-			name:   "Rect.IntersectsCircle(): no overlap",
+			name:   "Rect.IntersectCircle(): no overlap",
 			fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)},
 			args:   args{c: pixel.C(pixel.V(50, 50), 1)},
 			want:   pixel.ZV,
 		},
 		{
-			name:   "Rect.IntersectsCircle(): circle contains rect",
+			name:   "Rect.IntersectCircle(): circle contains rect",
 			fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)},
 			args:   args{c: pixel.C(pixel.V(5, 5), 10)},
 			want:   pixel.V(-15, 0),
 		},
 		{
-			name:   "Rect.IntersectsCircle(): rect contains circle",
+			name:   "Rect.IntersectCircle(): rect contains circle",
 			fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)},
 			args:   args{c: pixel.C(pixel.V(5, 5), 1)},
 			want:   pixel.V(-6, 0),
 		},
 		{
-			name:   "Rect.IntersectsCircle(): circle overlaps bottom-left corner",
+			name:   "Rect.IntersectCircle(): circle overlaps bottom-left corner",
 			fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)},
 			args:   args{c: pixel.C(pixel.V(0, 0), 1)},
 			want:   pixel.V(1, 0),
 		},
 		{
-			name:   "Rect.IntersectsCircle(): circle overlaps top-left corner",
+			name:   "Rect.IntersectCircle(): circle overlaps top-left corner",
 			fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)},
 			args:   args{c: pixel.C(pixel.V(0, 10), 1)},
 			want:   pixel.V(1, 0),
 		},
 		{
-			name:   "Rect.IntersectsCircle(): circle overlaps bottom-right corner",
+			name:   "Rect.IntersectCircle(): circle overlaps bottom-right corner",
 			fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)},
 			args:   args{c: pixel.C(pixel.V(10, 0), 1)},
 			want:   pixel.V(-1, 0),
 		},
 		{
-			name:   "Rect.IntersectsCircle(): circle overlaps top-right corner",
+			name:   "Rect.IntersectCircle(): circle overlaps top-right corner",
 			fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)},
 			args:   args{c: pixel.C(pixel.V(10, 10), 1)},
 			want:   pixel.V(-1, 0),
 		},
 		{
-			name:   "Rect.IntersectsCircle(): circle overlaps two corners",
+			name:   "Rect.IntersectCircle(): circle overlaps two corners",
 			fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)},
 			args:   args{c: pixel.C(pixel.V(0, 5), 6)},
 			want:   pixel.V(6, 0),
 		},
 		{
-			name:   "Rect.IntersectsCircle(): circle overlaps left edge",
+			name:   "Rect.IntersectCircle(): circle overlaps left edge",
 			fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)},
 			args:   args{c: pixel.C(pixel.V(0, 5), 1)},
 			want:   pixel.V(1, 0),
 		},
 		{
-			name:   "Rect.IntersectsCircle(): circle overlaps bottom edge",
+			name:   "Rect.IntersectCircle(): circle overlaps bottom edge",
 			fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)},
 			args:   args{c: pixel.C(pixel.V(5, 0), 1)},
 			want:   pixel.V(0, 1),
 		},
 		{
-			name:   "Rect.IntersectsCircle(): circle overlaps right edge",
+			name:   "Rect.IntersectCircle(): circle overlaps right edge",
 			fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)},
 			args:   args{c: pixel.C(pixel.V(10, 5), 1)},
 			want:   pixel.V(-1, 0),
 		},
 		{
-			name:   "Rect.IntersectsCircle(): circle overlaps top edge",
+			name:   "Rect.IntersectCircle(): circle overlaps top edge",
 			fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)},
 			args:   args{c: pixel.C(pixel.V(5, 10), 1)},
 			want:   pixel.V(0, -1),
 		},
 		{
-			name:   "Rect.IntersectsCircle(): edge is tangent",
+			name:   "Rect.IntersectCircle(): edge is tangent",
 			fields: fields{Min: pixel.ZV, Max: pixel.V(10, 10)},
 			args:   args{c: pixel.C(pixel.V(-1, 5), 1)},
 			want:   pixel.ZV,
@@ -556,8 +556,8 @@ func TestRect_IntersectsCircle(t *testing.T) {
 				Min: tt.fields.Min,
 				Max: tt.fields.Max,
 			}
-			if got := r.IntersectsCircle(tt.args.c); got != tt.want {
-				t.Errorf("Rect.IntersectsCircle() = %v, want %v", got, tt.want)
+			if got := r.IntersectCircle(tt.args.c); got != tt.want {
+				t.Errorf("Rect.IntersectCircle() = %v, want %v", got, tt.want)
 			}
 		})
 	}