“费马点”是指位于三角形内且到三角形三个顶点距离之和最短的点。这个点与三角形三顶点连线构成的三个钝角都相等且为 120°。注意,这不是“费马大定理”。
package com.ai157.aigc.controller.test; import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.scene.shape.Circle; import javafx.scene.shape.Line; import javafx.stage.Stage;public class FermatPoint extends Application {private static final int WIDTH = 600;private static final int HEIGHT = 400;@Overridepublic void start(Stage primaryStage) {Group root = new Group();Scene scene = new Scene(root, WIDTH, HEIGHT);double x1 = 100, y1 = 100;double x2 = 400, y2 = 100;double x3 = 200, y3 = 300;Line line1 = new Line(x1, y1, x2, y2);Line line2 = new Line(x2, y2, x3, y3);Line line3 = new Line(x3, y3, x1, y1);line1.setStroke(Color.BLACK);line2.setStroke(Color.BLACK);line3.setStroke(Color.BLACK);root.getChildren().addAll(line1, line2, line3);double fermatX = (x1 + x2 + x3) / 3;double fermatY = (y1 + y2 + y3) / 3;Circle fermatPoint = new Circle(fermatX, fermatY, 5);fermatPoint.setFill(Color.RED);root.getChildren().add(fermatPoint);Line lineF1 = new Line(fermatX, fermatY, x1, y1);Line lineF2 = new Line(fermatX, fermatY, x2, y2);Line lineF3 = new Line(fermatX, fermatY, x3, y3);lineF1.setStroke(Color.BLUE);lineF2.setStroke(Color.BLUE);lineF3.setStroke(Color.BLUE);root.getChildren().addAll(lineF1, lineF2, lineF3);primaryStage.setTitle("Fermat Point Visualization");primaryStage.setScene(scene);primaryStage.show();}public static void main(String[] args) {launch(args);} }
以上fermatX和fermatY是错误的,有人帮解?如何解题,得到x和y的坐标?