Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Main{
- Point P, Q;
- double radius;
- // inputs: two points:
- public static Circle createCircle(Point P, Point Q, double radius){
- if(!P.equals(Q) && (radius >= (0.5 * P.distanceTo(Q) ))){
- Point M = P.midPoint(Q);
- double anglePQ = P.angleTo(Q);
- double distance_PM = P.distanceTo(M);
- // pythagoras:
- double distance_CM = Math.sqrt( (radius * radius) - (distance_PM * distance_PM));
- Point C = M.moveTo((Math.PI / 2) - anglePQ, distance_CM);
- return Circle.getCircle(C, radius);
- } else {
- return null;
- }
- }
- public static void main(String[] args){
- Scanner sc = new Scanner(System.in);
- Point p = new Point(sc.nextDouble(), sc.nextDouble());
- Point q = new Point(sc.nextDouble(), sc.nextDouble());
- double radius = sc.nextDouble();
- Circle result = createCircle(p, q, radius);
- if(result != null){
- System.out.println("Created: " + result);
- } else{
- System.out.println("No valid circle can be created");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement