算法(4th ed)(54):基础——基础编程模型 3.9.7

阅读数:31 2019 年 10 月 30 日 07:03

算法(4th ed)(54):基础——基础编程模型 3.9.7

(输入输出:标准绘图库(基本方法))

目前为止,我们的输入输出抽象层的重点只有文本字符串。现在我们要介绍一个产生图像输出的抽象层。这个库的使用非常简单并且允许我们利用可视化的方式处理比文字丰富得多的信息。和我们的标准输入输出一样,标准绘图抽象层实现在库 StdDraw 中,可以从本书的网站上下载 StdDraw.java 到你的工作目录来使用它。标准绘图库很简单:我们可以将它想象为一个抽象的能够在二维画布上画出点和直线的绘图设备。这个设备能够根据程序调用的 StdDraw 中的静态方法画出一些基本的几何图形,这些方法包括画出点、直线、文本字符串、圆、长方形和多边形等。和标准输入输出中的方法一样,这些方法几乎也都是自文档化的:StdDraw.line() 能够根据参数的坐标画出一条连接点 (x0,y0) 和点 (x1,y1) 的线段,StdDraw.point() 能够根据参数坐标画出一个以 (x,y) 为中心的点,等等,如图 1.1.6 所示。几何图形可以被填充(默认为黑色)。默认的比例尺为单位正方形(所有的坐标均在 0 和 1 之间)。标准的实现会将画布显示为屏幕上的一个窗口,点和线为黑色,背景为白色。

算法(4th ed)(54):基础——基础编程模型 3.9.7

图 1.1.6 StdDraw 的用法举例

表 1.1.18 是对标准绘图库中静态方法 API 的汇总。

表 1.1.18 标准绘图库的静态(绘图)方法的 API

public class StdDraw
   static void  line(double x0, double y0, double x1, double y1)
   static void  point(double x, double y)
   static void  text(double x, double y, String s)
   static void  circle(double x, double y, double r)
   static void  filledCircle(double x, double y, double r)
   static void  ellipse(double x, double y, double rw, double rh)
   static void  filledEllipse(double x, double y, double rw, double rh)
   static void  square(double x, double y, double r)
   static void  filledSquare(double x, double y, double r)
   static void  rectangle(double x, double y, double rw, double rh)
   static void  filledRectangle(double x, double y, double rw, double rh)
   static void  polygon(double[] x, double[] y)
   static void  filledPolygon(double[] x, double[] y)

评论

发布