81 System.out.println(
"--- BoundingBox Operations ---");
88 System.out.printf(
"Created bounding box: bottomLeft(%.1f, %.1f), topRight(%.1f, %.1f)%n",
89 boundingBox.getBottomLeft().getX(), boundingBox.getBottomLeft().getY(),
90 boundingBox.getTopRight().getX(), boundingBox.getTopRight().getY());
94 Point leftCorner = boundingBox.getBottomLeft();
95 System.out.printf(
"Bottom-left corner: (%.1f, %.1f)%n", leftCorner.
getX(), leftCorner.
getY());
99 Point rightCorner = boundingBox.getTopRight();
100 System.out.printf(
"Top-right corner: (%.1f, %.1f)%n", rightCorner.
getX(), rightCorner.
getY());
108 System.out.println(
"--- GlobalPoint Operations ---");
115 System.out.println(
"Created global points: GP1(" + globalPoint1.getLatitude() +
", " + globalPoint1.getLongitude() +
116 "), GP2(" + globalPoint2.getLatitude() +
", " + globalPoint2.getLongitude() +
")");
121 double lat1 = globalPoint1.getLatitude();
122 System.out.println(
"GlobalPoint1 latitude: " + lat1);
127 double lon1 = globalPoint1.getLongitude();
128 System.out.println(
"GlobalPoint1 longitude: " + lon1);
134 System.out.printf(
"Distance between Moscow and St. Petersburg: %.2f meters%n", globalDistance);
139 System.out.printf(
"Distance between Moscow points: %.2f meters%n", nearbyDistance);
146 System.out.println(
"--- Segment Operations ---");
159 System.out.println(
"Created segments: S1((" + segment1.getStart().getX() +
", " + segment1.getStart().getY() +
160 ") -> (" + segment1.getEnd().getX() +
", " + segment1.getEnd().getY() +
161 ")), S2((" + segment2.getStart().getX() +
", " + segment2.getStart().getY() +
162 ") -> (" + segment2.getEnd().getX() +
", " + segment2.getEnd().getY() +
"))");
167 Point segment1Start = segment1.getStart();
168 System.out.println(
"Segment1 start point: (" + segment1Start.
getX() +
", " + segment1Start.
getY() +
")");
173 Point segment1End = segment1.getEnd();
174 System.out.println(
"Segment1 end point: (" + segment1End.
getX() +
", " + segment1End.
getY() +
")");
181 System.out.printf(
"Segment1 length: %.2f meters%n", length1);
182 System.out.printf(
"Segment2 length: %.2f meters%n", length2);
188 System.out.printf(
"Distance from segment1 to test point: %.2f meters%n", distanceToPoint);
194 System.out.println(
"Segments intersect: " + intersects);
200 System.out.printf(
"Intersection point: (%.2f, %.2f)%n", intersection.
getX(), intersection.
getY());
206 System.out.printf(
"Division ratio: %.2f%n", divisionRatio);
213 System.out.printf(
"Point at ratio %.1f: (%.2f, %.2f)%n", ratio, ratioPoint.
getX(), ratioPoint.
getY());
219 System.out.printf(
"Projection ratio: %.2f%n", projectionRatio);
296 System.out.println(
"--- Line Operations ---");
299 List<Segment> lineSegments = Arrays.asList(
308 System.out.println(
"Created line with " + line.getSegments().size() +
" segments");
313 List<Segment> segments = line.getSegments();
314 System.out.println(
"Line segments: " + segments.size() +
" segments");
318 double totalLength = 0.0;
319 for (
Segment segment : segments) {
322 System.out.printf(
"Total line length: %.2f meters%n", totalLength);
325 List<Segment> complexLineSegments = Arrays.asList(
331 Line complexLine =
new Line(complexLineSegments);
333 double complexTotalLength = 0.0;
334 for (
Segment segment : complexLine.getSegments()) {
337 System.out.printf(
"Complex line total length: %.2f meters%n", complexTotalLength);