分割两度值之间的角度

时间:2014-11-21 03:25:53

标签: java math

我有两个角度给我;一个开始和一个结束。 我也在一个循环中,有一定数量的循环。

我试图分割一个角度,所以在每次循环迭代时我都会在那个角度创建一些东西。

以3个粒子为例

这是代码(在循环内,度数为90到180)

for (int i = 0; i < numberOfParticles(3); i++)
{
    float percentage = 1f / numberOfParticles;
    percentage *= index;
    float angle = startingAngle + ((endingAngle - startingAngle) * percentage);
}

我的问题是这产生:(而不是90(0),135(0.5),180(1))

Log: 90.0 | percentage: 0.0
Log: 120.0 | percentage: 0.33333334
Log: 149.99998 | percentage: 0.6666667

我如何使用任何数字(包括7?)

1 个答案:

答案 0 :(得分:1)

你有一个错误的错误。如果你有3个粒子,你将从0%开始然后再加50%2次,而不是3次。

float percentage = 1f / (numberOfParticles - 1);

确保您还处理numberOfParticles为1的边缘情况。您不希望除以零。