两点之间的距离公式及中点坐标公式
- 格式:ppt
- 大小:414.00 KB
- 文档页数:20


计算两点坐标距离与中点坐标/*回顾⼀下数学公式:两点的坐标是(x1, y1)和(x2, y2)则两点之间的距离公式为 d=√[(x1-x2)²+(y1-y2)²]注意特例:当x1=x2时两点间距离为|y1-y2|当y1=y2时两点间距离为|x1-x2|中点坐标:midpoint(X,Y)X=(X1+X2)/2Y=(Y1+Y2)/2*///⾃定义坐标类public class Pointer {private double x;private double y;public Pointer(double x,double y){//构造⽅法初始化this.setX(x);this.setY(y);}public double getX() {return x;}public void setX(double x) {this.x = x;}public double getY() {return y;}public void setY(double y) {this.y = y;}//两点之间的距离public static double distance(Pointer a,Pointer b){//静态⽅法,通过类名.⽅法名调⽤double result= (Math.pow(a.getX()-b.getX(),2)+Math.pow(a.getY()-b.getY(),2));return Math.sqrt(result);}public void display(){System.out.println("("+this.getX()+","+this.getY()+")");}public String toString(){return "("+x+","+y+")";}public boolean equals(Pointer obj){if(this.getX()==obj.getX()&&this.getY()==obj.getY()){return true;}return false;}//两点坐标的中点public static String minpoint(Pointer a,Pointer b){double x=(a.getX()+b.getX())/2;double y=(a.getY()+b.getY())/2;return "("+x+","+y+")";}}//测试类public class Demotest {public static void main(String[] args) {Pointer [] test=new Pointer [2];//对象数组test[0]=new Pointer(2, 2);test[1]=new Pointer(3,3);test[0].display();test[1].display();System.out.println("**********************开始**********************");System.out.println(test[0].toString()+test[1].toString()+"两点之间的距离:"+Pointer.distance(test[0], test[1])); System.out.println(test[0].toString()+test[1].toString()+"两点的中点坐标是:"+Pointer.minpoint(test[0], test[1])); System.out.println(test[0].equals(test[1]));}}/*******************当然也可选择JDK⾥⾯的Pointer类****************/import java.awt.Point;import java.util.Scanner;public class Test {public static void main(String[] args){System.out.println("请输⼊有⼏组:");Scanner scanner = new Scanner(System.in);int groupCount = scanner.nextInt();double results[] = new double[groupCount];for (int i=0;i<groupCount;i++) {System.out.println("请输⼊第"+(i+1) + "组2点的坐标(以,分隔):");String line = scanner.next();String[] values = line.split(",");if (values.length != 4) {System.out.println("输⼊的数据格式不对!");i = i--;}else {double p1 = Double.valueOf(values[0]);//返回保持⽤参数字符串 s 表⽰的 double 值的 Double 对象double p2 = Double.valueOf(values[1]);double p3 = Double.valueOf(values[2]);double p4 = Double.valueOf(values[3]);results[i] = getDistance(p1, p2, p3, p4);}}for (int i=0;i<results.length;i++)System.out.println(results[i]);}public static double getDistance(double p1,double p2,double p3,double p4) {double d = 0.0;d = Point.distance(p1, p2, p3, p4);return d;}}。
两点距离公式中点公式在数学的奇妙世界里,两点距离公式和中点公式就像是两个忠实的小伙伴,默默地为我们解决着各种问题。
先来说说两点距离公式吧。
假设我们有两个点,A(x₁, y₁)和 B(x₂, y₂),那么这两点之间的距离 d 就可以通过公式d = √[(x₂ - x₁)² + (y₂- y₁)²]来计算。
这个公式看起来有点复杂,其实理解起来并不难。
我记得有一次,我们班组织了一场校园寻宝活动。
老师在校园里藏了几个“宝贝”,然后给了我们几个点的坐标,让我们通过计算两点之间的距离来找到宝贝的位置。
我和同桌小明一组,拿到的第一个点是教室门口的 A(3, 5),第二个点是操场边的大树 B(7, 9)。
我们赶紧拿出纸和笔,按照两点距离公式开始计算。
我负责计算横坐标的差值 (7 - 3)² = 16,小明负责计算纵坐标的差值 (9 - 5)² = 16,然后我俩一起把这两个差值相加,16 + 16 = 32,再对 32 开平方,得到√32 = 4√2。
算出距离后,我们一路小跑,按照这个距离去寻找,果然在差不多的位置发现了老师藏的第一个宝贝,是一本有趣的漫画书,可把我俩高兴坏了!再聊聊中点公式。
对于两点 A(x₁, y₁)和 B(x₂, y₂),它们的中点坐标 M((x₁ + x₂)/2, (y₁ + y₂)/2)。
这个公式在很多实际问题中都能派上用场。
有一次上美术课,老师让我们画一幅校园风景图。
我想画教学楼和校门口之间的那段路,但是不知道怎么确定路的中间位置。
这时候我就想到了中点公式。
教学楼的位置假设是 A(2, 6),校门口是 B(8, 2),那中点的横坐标就是 (2 + 8) / 2 = 5,纵坐标是 (6 + 2) / 2 = 4,所以路的中间位置大概就在(5, 4)这个点。
按照这个位置画出来,感觉整幅图的比例都协调多了。
在日常生活中,两点距离公式和中点公式的应用也不少呢。