Java生成随机多边形
时间: 2023-09-25 08:11:04 浏览: 44
Java中可以使用JavaFX库来生成随机多边形。具体实现步骤如下:
1. 导入JavaFX库:
```java
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;
```
2. 继承Application类,重写start方法:
```java
public class RandomPolygon extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
// 实现代码
}
}
```
3. 在start方法中,创建一个Polygon对象,设置多边形的点坐标:
```java
Polygon polygon = new Polygon();
polygon.getPoints().addAll(generateRandomPoints());
```
其中,generateRandomPoints()方法用来生成随机的多边形点坐标。
4. 将多边形添加到场景中,显示出来:
```java
Group root = new Group(polygon);
Scene scene = new Scene(root, 400, 400);
primaryStage.setScene(scene);
primaryStage.show();
```
完整的代码实现如下:
```java
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class RandomPolygon extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Polygon polygon = new Polygon();
polygon.getPoints().addAll(generateRandomPoints());
Group root = new Group(polygon);
Scene scene = new Scene(root, 400, 400);
primaryStage.setScene(scene);
primaryStage.show();
}
private List<Double> generateRandomPoints() {
List<Double> points = new ArrayList<>();
Random random = new Random();
int numPoints = 3 + random.nextInt(8); // 随机生成3-10个点
for (int i = 0; i < numPoints; i++) {
double x = random.nextDouble() * 400; // x坐标在0-400之间
double y = random.nextDouble() * 400; // y坐标在0-400之间
points.add(x);
points.add(y);
}
return points;
}
public static void main(String[] args) {
launch(args);
}
}
```
运行程序,可以看到随机生成的多边形: