“费马点”是指位于三角形内且到三角形三个顶点距离之和最短的点。这个点与三角形三顶点连线构成的三个钝角都相等且为 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; @Override public 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的坐标?