题目:已知2个点的信息,定位自己的绝对坐标。
解题思路:分别以已知两点为圆心,以两点到自己的距离为半径做两个圆,两个圆的交点,其中有一个为自己的坐标,最后用极角来判断哪个点是自己的位置
import
java.util.Scanner;
import java.util.function.DoubleToLongFunction;
class VecPosition//坐标
{
public double mx;
public double my;
public void setpoint(double x,double y)
{
mx = x;
my = y;
}
}
class Circle圆
{
VecPosition center;
double R;
void setcircle(VecPosition my_center, double my_R)
{
center = my_center;
R = my_R;
}
}
class GetInformation
extends VecPosition //从字符串中获取所需要的信息
{
VecPosition get_p;
double distance;
double theta;
Position getposition(String[] mymessage,int i)//获取点的坐标
{
VecPosition get_p = new VecPosition();
if(mymessage[i].equals('C')==true)
get_p.setpoint(0, 0);
else if(mymessage[i].equals("P1")==true)
get_p.setpoint(-52.4,-32.0);
else if(mymessage[i].equals("P2")==true)
get_p.setpoint(-52.4,32.0);
else if(mymessage[i].equals("P3")==true)
get_p.setpoint(52.5,32.0);
else if(mymessage[i].equals("P4&