用JAVA代码写一个心形
时间: 2023-09-07 08:04:41 浏览: 196
一个java2d 写的心的形状
### 回答1:
您好!下面是一个用 Java 代码绘制心形的示例:
```
public class HeartShape {
public static void main(String[] args) {
double x, y, r;
r = Math.cos(Math.toRadians(30));
for (double i = 0; i <= 90; i += 0.1) {
x = 16 * Math.pow(Math.sin(i), 3);
y = 13 * Math.cos(i) - 5 * Math.cos(2 * i) - 2 * Math.cos(3 * i) - Math.cos(4 * i);
System.out.println((int) (x * r) + "\t" + (int) (y * r));
}
}
}
```
这段代码中,我们使用了 `Math.cos()` 和 `Math.sin()` 函数,来模拟心形的曲线。每次循环,程序计算出一个新的 x 和 y 坐标,然后将其输出到控制台。
最终,这些坐标点组成了一个心形的图像。你可以使用任何你喜欢的图形绘制工具,如 JavaFX,Swing 等绘制这个心形图形。
### 回答2:
要用JAVA代码编写一个心形形状,可以利用图形库或者字符打印。
1. 利用图形库绘制心形:
可以使用Java图形库(如JavaFX或AWT)来绘制一个心形。以下是一个简单的例子:
```java
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.*;
import javafx.stage.Stage;
public class HeartShape extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
Pane root = new Pane();
// 创建两个圆弧
Arc arc1 = new Arc(100, 100, 50, 50, 45, 180);
arc1.setStroke(Color.RED);
arc1.setFill(Color.RED);
arc1.setType(ArcType.OPEN);
arc1.setStrokeWidth(3);
Arc arc2 = new Arc(150, 100, 50, 50, -45, 180);
arc2.setStroke(Color.RED);
arc2.setFill(Color.RED);
arc2.setType(ArcType.OPEN);
arc2.setStrokeWidth(3);
// 创建一个三角形
Polygon triangle = new Polygon();
triangle.getPoints().addAll(new Double[]{
100.0, 100.0,
200.0, 100.0,
150.0, 200.0});
// 将圆弧和三角形添加到场景中
root.getChildren().addAll(arc1, arc2, triangle);
Scene scene = new Scene(root, 300, 300);
primaryStage.setScene(scene);
primaryStage.show();
}
}
```
以上代码使用JavaFX库来创建一个窗口,并在其中绘制了一个心形形状。
2. 利用字符打印绘制心形:
如果你想要在控制台中打印一个心形,可以使用字符打印来实现。以下是一个简单的例子:
```java
public class HeartShape {
public static void main(String[] args) {
for (double y = 1.5; y > -1.5; y -= 0.1) {
for (double x = -1.5; x < 1.5; x += 0.05) {
double a = x * x + y * y - 1;
if (a * a * a - x * x * y * y * y <= 0.0) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
```
以上代码使用一个简单的数学表达式来计算每个点在心形区域内还是外,并使用字符 "*" 来绘制心形。通过调整循环变量(例如步长和迭代次数),可以改变心形的大小和精细程度。
### 回答3:
下面是一个用Java代码画心形的例子:
```java
public class HeartShape {
public static void main(String[] args) {
int size = 10; // 心形的大小,可以根据需要调整
for(int y = size; y >= -size; y--) {
for(int x = -size; x <= size; x++) {
double x2 = x * 0.04;
double y2 = y * 0.1;
double equation = x2 * x2 + y2 * y2 - 1;
if(equation * equation * equation - x2 * x2 * y2 * y2 * y2 <= 0.0) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
```
这段代码使用两个for循环遍历每一个像素位置,然后根据心形的方程判断该位置是否需要填充为*,然后输出相应的字符。最终的输出结果就是一个用字符画出的心形。
阅读全文