我有两个角度。起点和终点。
我也在指定数量的循环中。

我试图将角度分开,因此在每次循环迭代时我都会以该角度创建一些东西。

以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?)

最佳答案

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

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


确保也处理numberOfParticles为1的边缘情况。您不想除以零。

关于java - 在两个度值之间分配角度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27053599/

10-10 13:56