我有两个角度。起点和终点。
我也在指定数量的循环中。
我试图将角度分开,因此在每次循环迭代时我都会以该角度创建一些东西。
以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/