求解一道JAVA的问题
来源:百度知道 编辑:UC知道 时间:2024/05/30 06:24:04
实现一个类,描述二维平面的直线Line。
描述属性:私有属性
直线所通过的点:Point p;
直线的斜率:double m
实现方法:
直线的构建;
返回直线的两个属性;
返回直线在Y轴上的截距:yIntercept ;
判断两条直线是否相等;
显示直线的内容:y = mx + b;
isParallelTo(Line line2),判断本直线与直线line2是否平行;
isPeroendicularTo(Line line2),判断本直线与直线line2是否垂直;
translate(double dx, double dy),将直线向右移动dx单位,向上移动dy单位;
rarate(double ta),将直线沿逆时针方向旋转ta度;
旋转直线的斜率关系:
tan(a) +tan(ta)
tan(a + ta) = ---------------------
1 - tan(a)*tan(ta)
contains(Point p),判断点p是否在直线上
描述属性:私有属性
直线所通过的点:Point p;
直线的斜率:double m
实现方法:
直线的构建;
返回直线的两个属性;
返回直线在Y轴上的截距:yIntercept ;
判断两条直线是否相等;
显示直线的内容:y = mx + b;
isParallelTo(Line line2),判断本直线与直线line2是否平行;
isPeroendicularTo(Line line2),判断本直线与直线line2是否垂直;
translate(double dx, double dy),将直线向右移动dx单位,向上移动dy单位;
rarate(double ta),将直线沿逆时针方向旋转ta度;
旋转直线的斜率关系:
tan(a) +tan(ta)
tan(a + ta) = ---------------------
1 - tan(a)*tan(ta)
contains(Point p),判断点p是否在直线上
public class Line {
/**
* 直线所经过的点
*/
private Point p;
/**
* 直线的斜率
*/
private double m;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Line l1=new Line(new Point(2,6),0.2);
System.out.println(l1);
}
/**
* 返回直线的斜率
* @return
*/
public double getM() {
return m;
}
/**
* 返回直线经过的点
* @return
*/
public Point getP() {
return p;
}
/**
* 直线的构建
* @param p 直线经过的点
* @param m 直线的斜率
*/
public Line(Point p, double m) {
super();
this.p = p;
this.m = m;
}
/**
* 判断直线是否平行。
* @param line2
* @return
*/
public boolean isParallelTo(Line line2){
return m==line2.m;
}
/**
* 判断直线是否垂直
* @param line2
*