Line類是一個描述線段的類,它有兩個點組成,這兩個點分別表示線段的起點和終點,我們可以使用Line類來計算線段的長度、角度和中點等。
public class Line { private Point startPoint; private Point endPoint; /** * 構造函數,初始化線段的起點和終點 */ public Line(Point startPoint, Point endPoint) { this.startPoint = startPoint; this.endPoint = endPoint; } /** * 計算線段的長度 */ public double length() { double dx = startPoint.getX() - endPoint.getX(); double dy = startPoint.getY() - endPoint.getY(); return Math.sqrt(dx * dx + dy * dy); } /** * 計算線段的角度 */ public double angle() { double dx = startPoint.getX() - endPoint.getX(); double dy = startPoint.getY() - endPoint.getY(); return Math.atan2(dy, dx); } /** * 計算線段的中點 */ public Point midpoint() { double x = (startPoint.getX() + endPoint.getX()) / 2; double y = (startPoint.getY() + endPoint.getY()) / 2; return new Point(x, y); } }
在Line類中,我們使用了Point類來表示線段的起點和終點。Point類是一個描述點的類,它有兩個屬性x和y,表示點的橫縱坐標。在Line類中我們使用了三個方法來計算線段的長度、角度和中點,這些方法都是基于起點和終點計算而來的。其中,計算線段長度使用了勾股定理,計算線段角度使用了反正切函數,計算線段中點則是將起點和終點坐標分別相加再求平均值。