Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug] small question about on scale different point clouds using s4pcs #120

Open
chunibyo-wly opened this issue Dec 15, 2022 · 0 comments
Open

Comments

@chunibyo-wly
Copy link

/*!
\return Pairs< PointId, PrimitiveId>
*/
template <class DummyPrimitive, class Point, int dim, typename Scalar>
template <class PrimitiveContainer,
class PointContainer,
class ProcessingFunctor>
void
BruteForceFunctor<DummyPrimitive, Point, dim, Scalar>::process(
const PrimitiveContainer & M, //!< Input point set \in [0:1]^d
const PointContainer & Q, //!< Input point set \in [0:1]^d
Scalar &epsilon, //!< Intersection accuracy, refined
unsigned int /*minNodeSize*/, //!< Min number of points in nodes
ProcessingFunctor& functor
)
{
const unsigned int sizeM = M.size();
const unsigned int sizeQ = Q.size();
for (unsigned int j = 0; j != sizeQ; ++j){
functor.beginPrimitiveCollect(j);
for (unsigned int i = 0; i != sizeM; ++i){
if( M[i].intersectPoint(Q[j], epsilon ))
functor.process(i,j);
}
functor.endPrimitiveCollect(j);
}
}

according to this, I found you set a specific radius when searching in second point cloud.
But when you want to align two point cloud with different scale, I think maybe we can't find a right radius.
So I tried 4pcs and sp4cs with same data.
Here are the results(Tested on hippo model, and resize the second one to 1.2).

s4pcs

/apps/Super4PCS/Super4PCS -i ../assets/hippo1.obj ../assets/hippo2.obj -o 0.7 -d 0.01 -t 1000 -n 200 -r super4pcs_fast.obj -m mat_super4pcs_fast.txt

image

4pcs

/apps/Super4PCS/Super4PCS -i ../assets/hippo1.obj ../assets/hippo2.obj -o 0.7 -d 0.01 -t 1000 -n 200 -r super4pcs_fast.obj -m mat_super4pcs_fast.txt -x

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant