# Guide to Game Development/Theory/Collision detection/Circular

## Circle, Circle Collision Detection

This the collision detection to check if two circles are colliding. This method can be directly applied to two spheres.

For this example we'll need to define some example variables:

${\displaystyle {\overrightarrow {O}}}$  - The origin as a null position vector.

${\displaystyle {\overrightarrow {C_{1_{c}}}}}$  - Circle 1's centre as a position vector.

${\displaystyle {\overrightarrow {C_{2_{c}}}}}$  - Circle 2's centre as a position vector.

${\displaystyle C_{1_{r}}}$  - Circle 1's radius as a decimal number.

${\displaystyle C_{2_{r}}}$  - Circle 1's radius as a decimal number.

### Collision test

```If ${\displaystyle {\bigg |}{\overrightarrow {OC_{2_{c}}}}-{\overrightarrow {OC_{1_{c}}}}{\bigg |}>C_{1_{r}}+C_{2_{r}}}$  then:
They are not colliding.
If ${\displaystyle {\bigg |}{\overrightarrow {OC_{2_{c}}}}-{\overrightarrow {OC_{1_{c}}}}{\bigg |}=C_{1_{r}}+C_{2_{r}}}$  then:
They are touching.
If ${\displaystyle {\bigg |}{\overrightarrow {OC_{2_{c}}}}-{\overrightarrow {OC_{1_{c}}}}{\bigg |}  then:
They are colliding.
```

if you wish to treat 'touching' as 'colliding', then use the following:

```If ${\displaystyle {\bigg |}{\overrightarrow {OC_{2_{c}}}}-{\overrightarrow {OC_{1_{c}}}}{\bigg |}>C_{1_{r}}+C_{2_{r}}}$  then:
They are not colliding.
If ${\displaystyle {\bigg |}{\overrightarrow {OC_{2_{c}}}}-{\overrightarrow {OC_{1_{c}}}}{\bigg |}<=C_{1_{r}}+C_{2_{r}}}$  then:
They are colliding.
```

## Circle, Point Collision Detection

This is basically a simplified version of the one above, this is because you can treat a point like a circle with no radius.

For this example we'll need to define some example variables:

${\displaystyle {\overrightarrow {O}}}$  - The origin as a null position vector.

${\displaystyle {\overrightarrow {P}}}$  - The point's location as a position vector.

${\displaystyle {\overrightarrow {C_{c}}}}$  - Circle 1's centre as a position vector.

${\displaystyle C_{r}}$  - The Circle's radius as a decimal number.

### Collision test

```If ${\displaystyle {\bigg |}{\overrightarrow {OC_{c}}}-{\overrightarrow {OP}}{\bigg |}>C_{r}}$  then:
They are not colliding.
If ${\displaystyle {\bigg |}{\overrightarrow {OC_{c}}}-{\overrightarrow {OP}}{\bigg |}=C_{r}}$  then:
They are touching.
If ${\displaystyle {\bigg |}{\overrightarrow {OC_{c}}}-{\overrightarrow {OP}}{\bigg |}  then:
They are colliding.
```

if you wish to treat 'touching' as 'colliding', then use the following:

```If ${\displaystyle {\bigg |}{\overrightarrow {OC_{c}}}-{\overrightarrow {OP}}{\bigg |}>C_{r}}$  then:
They are not colliding.
If ${\displaystyle {\bigg |}{\overrightarrow {OC_{c}}}-{\overrightarrow {OP}}{\bigg |}<=C_{r}}$  then:
They are colliding.
```