我有两个角度给我;一个开始和一个结束。 我也在一个循环中,有一定数量的循环。
我试图分割一个角度,所以在每次循环迭代时我都会在那个角度创建一些东西。
以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?)
答案 0 :(得分:1)
你有一个错误的错误。如果你有3个粒子,你将从0%开始然后再加50%2次,而不是3次。
float percentage = 1f / (numberOfParticles - 1);
确保您还处理numberOfParticles
为1的边缘情况。您不希望除以零。