# Find complementary cones from a cone

Suppose I have a cone constructed from a set of points. In 2d for instance:

```
cone1 = Cone([[-1, 4], [4, -1]])
```

The rays of this `cone1`

are exactly those two vectors I used to define the cone.

Now, I take the cone

```
cone2 = Cone([[1, 0], [0, 1]])
```

Again its rays are given by the two vectors used to define it.

Now, `cone1`

contains `cone2`

, and its intersection with `cone2`

is exactly `cone2`

.

I would like to know if there is a way to extract the complementary cones from `cone1`

"subtracting" `cone2`

. Basically I would need:

```
cone3 = Cone([[-1, 4], [0, 1]])
```

and

```
cone4 = Cone([[1, 0], [4, -1]])
```

Is there a way to extract these cones?

I know that in the 2d example I can plot the cones with .plot() and subtract them visualizing them, of course this is an example. What I would like to know if there is an algorithmic way to extract all the "complementary cones" from a bigger cone that contains (completely) another cone. So I would like to find a way to define `cone3`

and `cone4`

in higher dimensions, and "algorithmically".