日期:2014-05-20  浏览次数:20690 次

求助x和y坐标计算问题


如上图,知道a和b的长度,求1,2,3,4的x和y坐标,谢谢了
------解决方案--------------------
楼主的描述不够清晰啊!

1 这段弧线是椭圆吗?
2 这些点的特征呢? 已知角度还是到a,b的距离?
3 那个顶点也不知道坐标啊。
------解决方案--------------------
有曲线函数和点坐标才可以解决
------解决方案--------------------
a与b好像是圆的半径吧
就一个值,怎么能计算,神也没办法!

除非知道旋转角度+半径,可以通过极坐标计算出各点的值

------解决方案--------------------
那样的话,很简单:
我看图应是分3份,3,4夹角30度.那么3点坐标: 86.60,50.00, 2,4夹角60度, 2点坐标: 50.0 ,86.60.
用代码的话,查一下 Math里的三角函数。

------解决方案--------------------
30度角的正弦函数值是1/2。就是其坐标的y值与半径的比。 余弦函数值是0.86(根号3的一半)。这是特殊角,一般都记住了。
楼主还是用代码计算吧。

------解决方案--------------------

public class CalPosition
{
public static void main(String[] args)
{
double radius=100;
Circle c=new Circle(radius); //生成圆的对象。
double[] d=new double[2];
d= c.getCoordinate(90.0); //计算1点的坐标。
System.out.printf(" 1 点坐标是 x1 = %.2f\t y1 = %.2f\r\n", d[0], d[1]);
d= c.getCoordinate(60.0); //计算2点的坐标。
System.out.printf(" 2 点坐标是 x2 = %.2f\t y2 = %.2f\r\n", d[0], d[1]);
d= c.getCoordinate(30.0); //计算3点的坐标。
System.out.printf(" 3 点坐标是 x3 = %.2f\t y3 = %.2f\r\n", d[0], d[1]);
d= c.getCoordinate(0.0); //计算4点的坐标。
System.out.printf(" 4 点坐标是 x4 = %.2f\t y4 = %.2f\r\n", d[0], d[1]);
}
}
//类Circle 可根据给定角度,计算圆周上的点的坐标。可计算任意角度。
//
class Circle
{
private double radius; //半径。
public Circle()
{
radius=1.0;
}
public Circle(double radius)
{
this.radius=radius;
}
//计算给定角度的点的坐标,返回数组。
//
public double[] getCoordinate(double angle)
{
double[] d=new double[2]; //d[0] x坐标,d[1] y坐标。
d[0]=radius*Math.cos(angle*Math.PI/180); //关键在这,把角度换成弧度。
d[1]=radius*Math.sin(angle*Math.PI/180);
return d;
}
}

结果:
 1 点坐标是 x1 = 0.00    y1 = 100.00
 2 点坐标是 x2 = 50.00   y2 = 86.60
 3 点坐标是 x3 = 86.60   y3 = 50.00
 4 点坐标是 x4 = 100.00  y4 = 0.00