weigao95 / surfelwarp

SurfelWarp: Efficient Non-Volumetric Dynamic Reconstruction
https://sites.google.com/view/surfelwarp/home
BSD 3-Clause "New" or "Revised" License
276 stars 71 forks source link

WarpFieldUpdater.cpp: Nan in node candidate #85

Open RKGalaxy-Luo opened 9 months ago

RKGalaxy-Luo commented 9 months ago

May I ask, when we run this code has not appeared "Nan in node candidate" this problem, Initializing Quaternion is DualQuaternion(1, 0, 0, 0), Quaternion(0, 0, 0), But there are two dual quaternions declared in SolverIterationData.h and SolverIterationData.cpp DeviceBufferArray< DualQuaternion >; node_se30;
DeviceBufferArray< DualQuaternion >; node_se31; But node_se30 and node_se31 have no values, they are all DualQuaternion(0, 0, 0, 0), Quaternion(0, 0, 0, 0). So the dual Quaternion is all DualQuaternion(nan, nan, nan, nan), Quaternion(nan, nan, nan, nan).

remmel commented 8 months ago

I get same error

surfelwarp_app [...]/test_data/boxing_config.json
surfelwarp/apps/surfelwarp_app/main.cpp:40: The 0th Frame
surfelwarp/core/geometry/WarpFieldUpdater.cpp:21: Nan in node candidate
terminate called after throwing an instance of 'std::runtime_error*'
Signal: SIGABRT (Aborted)

Note that I had to increase kMaxNumSurfelCandidates const unsigned surfelwarp::Constants::kMaxNumSurfelCandidates = 100000; to avoid previous error surfelwarp/common/DeviceBufferArray.h:90: The pre-allocated buffer is not enough