通过度数在圆上找到一个点?

23 浏览
0 Comments

通过度数在圆上找到一个点?

假设我们有一个100x100的坐标系统,就像下面的图示一样。0,0是它的左上角,50,50是它的中心点,100,100是它的右下角等等。\n现在我们需要从中心点向外画一条线。我们知道线的角度,但需要计算其终点的坐标。你认为最好的方法是什么?\n例如,如果线的角度是45度,它的终点坐标大致是75,15。

0
0 Comments

找到一个圆上的点,根据给定的角度,首先需要计算出该点在单位圆(半径为1)上的X和Y坐标。给定角度的X坐标为cos(angle),Y坐标为sin(angle)。大多数sin和cos函数采用弧度作为输入,因此需要进行转换(1度=0.0174532925弧度)。现在,由于你的坐标系实际上不是单位圆,因此需要将结果值乘以你的圆的半径。在这个给定的例子中,你需要乘以50,因为你的圆在每个方向上延伸50个单位。最后,使用一个单位圆坐标系假定你的圆心是在原点(0,0)。为了解决这个问题,需要加上(或减去)你的圆心与计算的X和Y坐标的偏移量。在你的场景中,偏移量是从(0,0)开始的,X方向上是50,Y方向上是-50。

例如:

cos(45) = x ~= .707

sin(45) = y ~= .707

.707*50 = 35.35

35.35+50 = 85.35

abs(35.35-50) = 14.65

因此,结束线段的坐标为(85.35, 14.65)。

注意,你所选择的编程语言中可能有一个内置的角度转弧度的函数,我提供了单位转换作为参考。

编辑:糟糕,一开始使用了度数。

0
0 Comments

问题的出现原因:计算在圆上某一度数对应的点的X和Y坐标时,使用了单位圆来进行计算,但是因为半径是50,所以需要乘以50。另外,还需要加上偏移量(50,50)。

解决方法:根据单位圆的计算公式,计算出X和Y的值,并乘以半径50。然后加上偏移量(50,50)即可得到所求点的坐标。在这个例子中,计算的度数是45度。

另外,需要注意的是Y轴是反向的。

如果需要将度数转换为弧度,可以使用一些宏或者函数来实现,比如deg_to_rad。如果没有提供这样的函数,可以使用公式pi * x / 180或者x * (pi/180)来进行转换。

0
0 Comments

这段内容提到了一个问题,即如何通过给定的角度在圆上找到一个点。问题的原因是大多数实现假定我们使用的是弧度制,并且正向y轴是向上的。为了解决这个问题,可以使用三角函数sin和cos来计算出点的坐标。具体的解决方法如下所示:

假设给定的角度为theta,半径为radius,圆心坐标为(centerX, centerY)。

使用以下公式可以计算出点的坐标:

p.x = centerX + radius * cos(theta)

p.y = centerY - radius * sin(theta)

需要注意的是,为了让y轴从上方开始而不是从圆心开始,需要将centerY的值修改为负数,即centerY = -50。这样可以保持原方程中的加号不变。

如果想要查看更多关于这个问题的解答,可以访问stackoverflow上的这个链接:[how do i calculate a point on a circle s circumference](http://stackoverflow.com/questions/839899)。

0