用Java应用程序Bresenham算法画三条线,每条线的起点和终点坐标:第1条: (50,150), (100,50)品红色;第2条:(150,150) , (100,50)粉红色;第3条:(75,100) , (125,100)红色
时间: 2023-05-14 10:05:06 浏览: 64
以下是使用Java应用程序Bresenham算法画三条线的代码:
```java
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BresenhamAlgorithm extends JPanel {
private static final long serialVersionUID = 1L;
public void paint(Graphics g) {
// 画第一条线
drawLine(g, 50, 150, 100, 50, Color.MAGENTA);
// 画第二条线
drawLine(g, 150, 150, 100, 50, Color.PINK);
// 画第三条线
drawLine(g, 75, 100, 125, 100, Color.RED);
}
private void drawLine(Graphics g, int x1, int y1, int x2, int y2, Color color) {
int dx = Math.abs(x2 - x1);
int dy = Math.abs(y2 - y1);
int sx = x1 < x2 ? 1 : -1;
int sy = y1 < y2 ? 1 : -1;
int err = dx - dy;
while (true) {
g.setColor(color);
g.drawLine(x1, y1, x1, y1);
if (x1 == x2 && y1 == y2) {
break;
}
int e2 = 2 * err;
if (e2 > -dy) {
err -= dy;
x1 += sx;
}
if (e2 < dx) {
err += dx;
y1 += sy;
}
}
}
public static void main(String[] args) {
JFrame frame = new JFrame("Bresenham Algorithm");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
BresenhamAlgorithm panel = new BresenhamAlgorithm();
frame.add(panel);
frame.setVisible(true);
}
}
```
这段代码使用Bresenham算法画出了三条线,分别是品红色、粉红色和红色。您可以直接运行这段代码,查看效果。
阅读全文