Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Farahim Ibrahimli
- * Homework 1 Question 6
- *
- */
- import java.util.Scanner;
- public class Question6 {
- private static Scanner in = new Scanner(System.in);
- public static double readDouble(String prompt) {
- System.out.print(prompt);
- return in.nextDouble();
- }
- public static double calculateDistance(double startX, double startY, double endX, double endY) {
- return Math.sqrt(Math.pow(startX - endX, 2) + Math.pow(startY - endY, 2));
- }
- public static boolean isOverlapping(double aX, double aY, double aR, double bX, double bY, double bR) {
- return calculateDistance(aX, aY, bX, bY) < Math.abs(aR + bR);
- }
- public static boolean isTouching(double aX, double aY, double aR, double bX, double bY, double bR) {
- return calculateDistance(aX, aY, bX, bY) == Math.abs(aR + bR);
- }
- public static boolean isInside(double aX, double aY, double aR, double bX, double bY, double bR) {
- double distance = calculateDistance(aX, aY, bX, bY);
- return distance + aR <= bR;
- }
- public static void main(String[] args) {
- double aX = readDouble("Enter Circle A X-Coordinate: ");
- double aY = readDouble("Enter Circle A Y-Coordinate: ");
- double aR = readDouble("Enter Circle A Radius: ");
- double bX = readDouble("Enter Circle B X-Coordinate: ");
- double bY = readDouble("Enter Circle B Y-Coordinate: ");
- double bR = readDouble("Enter Circle B Radius: ");
- if(isTouching(aX, aY, aR, bX, bY, bR)) {
- System.out.println("They are touching");
- } else if(isInside(aX, aY, aR, bX, bY, bR)) {
- System.out.println("A is inside B");
- } else if(isInside(bX, bY, bR, aX, aY, aR)) {
- System.out.println("B is inside A");
- } else if(isOverlapping(aX, aY, aR, bX, bY, bR)) {
- System.out.println("They are overlapping");
- } else {
- System.out.println("They are separate");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement