我想在三维空间中创建一个立方体素节点的26个邻居.输入是节点的x,y,z位置和立方体侧的大小.我试图使用for循环但仍未管理.我是编程的新手,请帮助我.
我又发了一个帖子
在这里,我问如何在三维空间中创建一个立方体素节点的26个邻居.我得到了一个非常好的答案并实施了它.
为此,我添加了一些MIN MAX位置检查.
我想知道是否有方法,与3 for循环和4如果使用,以改善此代码的执行时间.我在另一篇文章中读过,当使用while循环时速度更快但是它的帖子不是语言特定的.
这是真的?如果是的话,请你在我的代码中帮助我,因为我有运气经历吗?有没有办法以一种让它更快的方式递归地实现它?
这是我的代码:
...
std::vector<Pos> Create26Neighbor(Pos somePos, double resol)
{
std::vector <Pos> vect1;
Pos m_MinPos(0.0,0.0,0.0);
Pos m_MaxPos(5.0,4.0,5.0);
for (double dz = somePos.m_pPos[2] - resol; dz <= somePos.m_pPos[2] + resol; dz+=resol)
{
if (dz>m_MinPos.m_pPos[2] && dz<m_MaxPos.m_pPos[2])
{
for (double dy = someCPos.m_pPos[1] - resol; dy <= someCPos.m_pPos[1] + resol; dy+=resol)
{
if (dy>m_MinPos.m_pPos[1] && dy<m_MaxPos.m_pPos[1])
{
for (double dx = somePos.m_pPos[0] - resol; dx <= somePos.m_pPos[0] + resol; dx+=resol)
{
if (dx>m_MinPos.m_pPos[0] && …
Run Code Online (Sandbox Code Playgroud)