مستقيم والمسافة بين نقطتين في جافا
الغرض من هذه المقالة هو معرفة كيفية إنشاء نقطة بالإحداثيات x و y في مستوى ثنائي الأبعاد ، ثم إنشاء نقطة ثانية وحساب المسافة بين الاثنين.1) إنشاء الفئة نقطة
لتنظيم برنامجنا بشكل جيد ، يجب أن نتجنب إنشاء مثيلات متعددة من x و y (x1 ، x2,.. xn-y1,y2,.. yn). Java هي لغة موجهة للكائنات تتمتع بقدرة عالية على التجريد.
public class Point {
int x,y;
Public Point(int x, int y){
this.x=x;
this.y=y;
}
int getX العام () {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
الفراغ العام setY (int y) {
this.y = y ؛
}
}
< / pre>< / div>2) إنشاء خط الفئة
يتكون الخط بنقطتين على الأقل P1 و P2 ، ويتم حساب المسافة بواسطة نظرية فيثاغورس: < / div >< div class = "فاصل" النمط = "واضح: كلاهما ؛ محاذاة النص: الوسط؛" >يتم تطبيق نظرية فيثاغورس عندما يكون المثلث مستطيلا ، تتم كتابة الصيغة: c² = a² + b². ثم يكون الطول هو جذر c² ويتم حسابه باستخدام الطريقة Math.sqrt().public class right {
dot p1, p2;
Public Right (dot p1, dot p2){
this.p1=p1;
this.p2=p2;
}
مزدوج الطول () {
إرجاع p1.distance (p2) ؛
}
}
< / pre>< / div>الآن سنعلن عن طريقة المسافة () في فئة النقطة التي تسمح لك بإرجاع المسافة بين النقطة الحالية والنقطة الماضية كمعامل:
< pre class = "prettyprint lang-java">double distance (Point p) {
إرجاع Math.sqrt(((p.getX()-this.getX()) + (p.getY()-this.getY()));
}مثال
public class main {
الفراغ العام الثابت الرئيسي (String[] args) {
النقطة p1 = نقطة جديدة(2, 3);
النقطة p2 = النقطة الجديدة (5 ، 8) ؛
خط مستقيم = مستقيم جديد (p1 ، p2) ؛
System.out.println (Right.length ()) ؛
النقطة p3 = النقطة الجديدة (7 ، 3) ؛
System.out.println("المسافة بين النقطة("+p1.getX()+", "+p1.getY()+
") والنقطة ("+p2.getX()+", "+p2.getY()+": "+p1.distance (p3));
}
}
< / pre>< / div>الإخراج:2.8284271247461903
المسافة بين النقطة (2 ، 3) والنقطة (5 ، 8): 2.23606797749979
< / pre>< / div>المراجع:
Wikipedia: Right(mathematics)
Wikipedia: نظرية فيثاغورس
Oracle Documentation: Math.sqrt