用JAVA代码写一个心形
时间: 2023-08-31 18:37:50 浏览: 87
### 回答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代码写一个心形,可以利用图形库来实现。下面是一个简单的Java代码示例:
```java
import java.awt.*;
import javax.swing.*;
public class HeartShape extends JFrame {
public HeartShape() {
setTitle("Heart Shape");
setSize(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.red);
int[] x = { 175, 200, 225 };
int[] y = { 225, 150, 225 };
g.fillArc(150, 100, 50, 50, 0, 180);
g.fillArc(175, 100, 50, 50, 0, 180);
g.fillPolygon(x, y, 3);
}
public static void main(String[] args) {
HeartShape heart = new HeartShape();
heart.setVisible(true);
}
}
```
这个程序创建了一个名为"Heart Shape"的窗口,并绘制了一个红色的心形。绘制心形的主要代码位于`paint()`方法中,使用`Graphics`类的相关方法绘制两个半圆和一个三角形。`main()`方法创建了一个`HeartShape`对象并显示窗口。运行程序后,将显示一个包含心形的窗口。
### 回答3:
要用Java代码来绘制一个心形,我们可以借助图形库来实现。下面是一个简单的示例代码:
```java
import javax.swing.*;
import java.awt.*;
public class HeartShape extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
int width = getWidth();
int height = getHeight();
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
int xCenter = width / 2;
int yCenter = height / 2;
int radius = Math.min(xCenter, yCenter);
// 绘制红色实心圆
g2d.setColor(Color.RED);
g2d.fillOval(xCenter - radius / 2, yCenter - radius / 2, radius, radius);
// 绘制左半部分的心形
g2d.setColor(Color.WHITE);
g2d.fillArc(xCenter - radius, yCenter - radius / 2, radius, radius, 0, 180);
// 绘制右半部分的心形
g2d.setColor(Color.WHITE);
g2d.fillArc(xCenter, yCenter - radius / 2, radius, radius, 0, 180);
// 绘制两个半圆的连接部分
g2d.fillRect(xCenter - radius, yCenter, radius * 2, radius / 2);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
HeartShape heartShape = new HeartShape();
frame.add(heartShape);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
```
以上代码使用Java的Graphics2D类来绘制一个心形。在`paintComponent`方法中,我们首先获取面板的宽度和高度,然后根据宽高计算出心形的各个参数。接着使用`fillOval`方法绘制一个实心圆,再用`fillArc`方法绘制左右两个半圆形,并使用`fillRect`方法绘制连接部分。最后通过创建一个JFrame窗口来显示绘制的心形图形。运行代码后,一个心形图案将显示在窗口中央。
阅读全文