设有 N 个物体的坐标 (x, y, z) 和速度 (vx, vy, vz...
发布于 2022-03-03 16:49:24
设有 N 个物体的坐标 (x, y, z) 和速度 (vx, vy, vz),求经过 dt 时间之后物体的新坐标,以下有两种方式(C++):
方法一:
struct Object { float x, y, z float vx, vy, vz } Object obj[N] for (int i = 0 i < N i++) { obj[i].x += obj[i].vx * dt obj[i].y += obj[i].vy * dt obj[i].z += obj[i].vz * dt }
方法二:
struct ObjectArray { float x[N], y[N], z[N] float vx[N], vy[N], vz[N] } ObjectArray obj_all for (int i = 0 i < N i++) { obj_all.x[i] += obj_all.vx[i] * dt obj_all.y[i] += obj_all.vy[i] * dt obj_all.z[i] += obj_all.vz[i] * dt }在最高级别的优化选项(-O3)下,两种方式运行速度相比()
登录后免费查看答案
关注者
0
被浏览
24