1. 使用C语言和graphics.h库
```c
include include include void circlepoint(int x0, int y0, int x, int y, int color) { putpixel(x0 + x * y0 + y, color); putpixel(x0 + y * y0 + x, color); putpixel(x0 + x * y0 - y, color); putpixel(x0 + y * y0 - x, color); putpixel(x0 - x * y0 + y, color); putpixel(x0 - y * y0 + x, color); putpixel(x0 - x * y0 - y, color); putpixel(x0 - y * y0 - x, color); } void midpointcircle(int x0, int y0, int r, int color) { int xydsamechange; // 实现中点画圆的代码 } int main() { int gd = DETECT, gm; initgraph(&gd, &gm, ""); setcolor(RED); circlepoint(100, 100, 50, 50, RED); getch(); closegraph(); return 0; } ``` 2. 使用Java和Swing ```java import javax.swing.*; import java.awt.*; public class DrawLine extends JPanel { public static void main(String[] args) { JFrame frame = new JFrame("Midpoint line drawing algorithm"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(350, 350); frame.add(new DrawLine()); frame.setVisible(true); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Point p1 = new Point(50, 50); Point p2 = new Point(200, 200); int x, y, xEnd; if (p1.x > p2.x) { x = p2.x; y = p2.y; xEnd = p1.x; } else { x = p1.x; y = p1.y; xEnd = p2.x; } int a = p1.x - p2.x; int b = p1.y - p2.y; int d = 2 * a + b; int d1 = 2 * a; int d2 = 2 * (a + b); int x1 = p1.x; int y1 = p1.y; int x = x1; int y = y1; while (x <= xEnd) { if (d < 0) { x++; y++; d += d2; } else { x++; d += d1; } g.drawLine(x, y, x, y); } } } ``` 3. 使用OpenGL