我为摆锤进行了计算机仿真,以测量到达每个速度和每个角度的最低点所需的时间。
您可以想象有很多数据,成千上万条线用于所有角度和速度。
在每一帧上,我都将测量摆的速度和角度,并在Excel电子表格中寻找最接近的数据。
如何解决这个问题,以确保它不会占用过多CPU资源?
我应该创建一个庞大的数组,其中每个元素都对应一个特定角度:例如,myArray [30]将适用于所有速度在30.0度和30.999之间的所有数据。 (这样可以避免很多if语句)
还是应该将所有内容保留在Excel电子表格中? 有什么建议吗?
答案 0 :(得分:0)
我认为最好的方法是根据分布将数据分为几个间隔,因为您必须在每个帧中访问该数据。然后,在测量速度和角度时,您可以查找间隔并仅访问数据的那部分。
在导入到Unity时,我会找到最大和最小数据点,然后根据(maximum - minimum) / NumOfIntervals
划分该部分。假设每个角度的间隔大小为5。当角度为17时,您可以执行(int)15/5 = 3
(假设索引从零开始),然后转到结构中的第三项。这可以是基于您的数据的字典或任意类实例的数组。
如果您可以共享数据的结构,我可以尝试提供进一步的帮助。但是我认为将数据平均分配到每个间隔很重要。