# 2D Shapes(Objects) Intersection Operation

This operation takes two or more shapes as inputs and returns the intersection area between them as shown below. You can perform an intersection operation on the shapes using the method named intersect(). Since this is a static method, you should call it using the class name (Shape or its subclasses) as shown below.

```Shape shape = Shape.intersect(circle1, circle2);
```

Following is an example of the intersection operation. In here, we are drawing two circles and performing a intersection operation on them.

Save this code in a file with the name IntersectionExample.java

## Example

```import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Shape;

public class IntersectionExample extends Application {
@Override
public void start(Stage stage) {
//Drawing Circle1
Circle circle1 = new Circle();

//Setting the position of the circle
circle1.setCenterX(250.0f);
circle1.setCenterY(135.0f);

//Setting the radius of the circle

//Setting the color of the circle
circle1.setFill(Color.DARKSLATEBLUE);

//Drawing Circle2
Circle circle2 = new Circle();

//Setting the position of the circle
circle2.setCenterX(350.0f);
circle2.setCenterY(135.0f);

//Setting the radius of the circle

//Setting the color of the circle
circle2.setFill(Color.BLUE);

//Performing intersection operation on the circle
Shape shape = Shape.intersect(circle1, circle2);

//Setting the fill color to the result
shape.setFill(Color.DARKSLATEBLUE);

//Creating a Group object
Group root = new Group(shape);

//Creating a scene object
Scene scene = new Scene(root, 600, 300);

//Setting title to the Stage
stage.setTitle("Intersection Example");

stage.setScene(scene);

//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
```

Compile and execute the saved java file from the command prompt using the following commands.

```javac IntersectionExample.java
java IntersectionExample
```

On executing, the above program generates a JavaFX window displaying the following output − javafx_2d_shapes.htm