Advertisement
EmoRz

3. Intersection of Circles

Jun 12th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace CircleIntersection
  5. {
  6. class Program
  7. {
  8. public class Circle
  9. {
  10. public Circle()
  11. {
  12. }
  13.  
  14. public Circle(double x, double y, double radius)
  15. {
  16. X = x;
  17. Y = y;
  18. Radius = radius;
  19. }
  20.  
  21. public double X { get; set; }
  22. public double Y { get; set; }
  23. public double Radius { get; set; }
  24. }
  25. static void Main(string[] args)
  26. {
  27. double[] coordinate1 = ReadCoordiante();
  28. double[] coordinate2 = ReadCoordiante();
  29. //
  30. Circle first = new Circle
  31. {
  32. X = coordinate1[0],
  33. Y = coordinate1[1],
  34. Radius = coordinate1[2]
  35. };
  36. //
  37. Circle second = new Circle
  38. {
  39. X = coordinate2[0],
  40. Y = coordinate2[1],
  41. Radius = coordinate2[2]
  42. };
  43.  
  44. double radius = first.Radius + second.Radius;
  45. var dist = DistancePoint(first, second);
  46. var isIntersection = dist <= radius ? "Yes" : "No";
  47. Console.WriteLine(isIntersection);
  48.  
  49. }
  50.  
  51. private static double DistancePoint(Circle first, Circle second)
  52. {
  53. return Math.Sqrt(Math.Pow(first.X - second.X, 2) + Math.Pow(first.Y - second.Y, 2));
  54. }
  55.  
  56. private static double[] ReadCoordiante()
  57. {
  58. return Console.ReadLine().Split().Select(double.Parse).ToArray();
  59. }
  60. }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement