[英]Distance between multiple coordinates
我完全不知道如何将坐标排序到数组中,并找到它们之间的距离。 这是问题:
创建一个名为“Circle”的新类,可用于创建自定义圆形对象。 你的类应该包括以下内容——确保对你的类进行适当的评论:双倍半径、双倍 xPosition、双 yPosition,以及一种计算从一个圆的 xPosition 和 yPosition 到另一个圆的 xPosition 和 yPosition 的距离的方法。 使用标准距离公式计算该值。 出于此方法的目的,您只需要计算从中心点到中心点的距离。 这是一个让您开始的方法标题:
公共双距离(圆测试)
创建一个名为“Assignment06b”的新类。 在这个类中执行以下操作:
提示用户输入多个圆(即您要创建多少个圆?) 接下来,让用户输入每个圆的半径、xPosition 和 yPosition。 将他们的输入存储在适当大小的 Circles 数组中。 最后,遍历数组并显示每个圆的距离信息。 确保您不计算从给定圆回到其自身的距离(即不需要计算圆 #1 和圆 #1 之间的距离)——这是您程序的示例运行。
这是我到目前为止所拥有的:
import java.util.Scanner;
public class Assignment06b
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("How many circles do you want to create?:");
int amount = input.nextInt();
int[] arrayX = new int [amount];
int[] arrayY = new int [amount];
int counter = 0;
for (counter = 0; counter < amount; counter++)
{
System.out.println("Enter info for Circle #" + (counter + 1));
System.out.print("Radius: ");
double width = input.nextDouble();
System.out.print("X Position: ");
arrayX[counter] = input.nextInt();
System.out.print("Y Position:");
arrayY[counter] = input.nextInt();
}
}
class Circle
{
double radius;
double xPosition;
double yPosition;
Circle(double radius, double xPosition, double yPosition)
{
}
public double distanceFrom(Circle test)
{
double equation = (xPosition-xPosition)*(xPosition-xPosition) + (yPosition-yPosition)*(yPosition-yPosition);
double answer = Math.pow(equation, 0.5);
return answer;
}
}
}
你在这里小心翼翼地围绕对象方向,改变周围的东西,所以你有一个圆圈数组而不是一个整数数组:
Circle[] arrayCircles = new Circle [amount];
此外,您没有在圆类中设置任何值,您可能想要解决这个问题:
Circle(double radius, double xPosition, double yPosition)
{
this.radius = radius;
this.xPosition = xPosition;
this.yPosition = yPosition;
}
然后,您可以像这样将圈子添加到您的收藏中:
arrayCirles[0] = new Circle(myRadius, myXPosition, myYPosition);
并像这样调用您的 distanceFrom 方法调用:
//Obviously do this in a loop of some kind and make sure they exist first
arrayCircles[0].distanceFrom(arrayCircles[1]);
希望剩下的你能自己弄清楚
(另外再看看你的 distanceFrom 方法,你想比较你作为参数传递的圆,而不是你自己)
我目前正在使用 CAD 软件,我需要在方形网格/阵列中找到圆(孔)之间的距离,我发现圆之间的距离(边到边)由下式给出
(LN*D)/(N-1)
其中: L是阵列从边到边的距离(不是到末端圆的中心点,而是到末端圆的边缘) N是圆的数量D是圆的直径
如果从中心点到中心点测量 L (L+DN*D)/(N-1)
如果您想找到中心点到中心点之间的距离,我相信您可以推导出它
有点晚了,但希望这对其他人有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.