earClipper (isEar) for flat triangles in XY-plane

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

earClipper (isEar) for flat triangles in XY-plane

magro


Hello together,

I try to triangulate a polygonal mesh loaded from a ply or obj file, where the polygons are no triangles but for instance rectangles. For this purpose I tried to use the earClipper.

It works fine besides for triangles where all vertices have the same x- or y-coordinate.

This is already marked in the method "isEar" and should be fixed.

Is there anybody working on this?

Right now, only the x- and y- coordinates of the vertices are taken for the determination if
it is an "ear" or not. If they lie on a line, the crossProduct-determination in line 146, file ear_clippling.cpp (PCL 1.6.1), becomes smaller than eps and the method returns false.

Maybe it is possible to not return false in that case but to restart the method with the x-z or y-z components instead of x-y in order to also consider polygons which are flat in the x-y plane.

Cheers

Marc

_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: earClipper (isEar) for flat triangles in XY-plane

Radu B. Rusu
Administrator
Marc,

I'm not sure if someone is working on this at the moment. I believe the code was contributed by Nicolas Burrus. We'd
definitely appreciate a patch if you have one that fixes the problem. Please use the GitHub pull request mechanism if
possible. Thank you in advance.

Cheers,
Radu.
--
http://openperception.org

On 06/11/2013 07:59 AM, Marc Gronle wrote:

>
>
> Hello together,
>
> I try to triangulate a polygonal mesh loaded from a ply or obj file, where the polygons are no triangles but for
> instance rectangles. For this purpose I tried to use the earClipper.
>
> It works fine besides for triangles where all vertices have the same x- or y-coordinate.
>
> This is already marked in the method "isEar" and should be fixed.
>
> Is there anybody working on this?
>
> Right now, only the x- and y- coordinates of the vertices are taken for the determination if
> it is an "ear" or not. If they lie on a line, the crossProduct-determination in line 146, file ear_clippling.cpp (PCL
> 1.6.1), becomes smaller than eps and the method returns false.
>
> Maybe it is possible to not return false in that case but to restart the method with the x-z or y-z components instead
> of x-y in order to also consider polygons which are flat in the x-y plane.
>
> Cheers
>
> Marc
>
>
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
>
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: earClipper (isEar) for flat triangles in XY-plane

Nicolas Burrus-2
Hi Marc,

I indeed contributed this some time ago, but being realistic I don't
think I will have time in the near future to fix it. Your contribution
will be very welcome if you manage to make it more robust!

Thanks,
Nicolas

On Tue, Jun 11, 2013 at 6:45 PM, Radu B. Rusu <[hidden email]> wrote:

> Marc,
>
> I'm not sure if someone is working on this at the moment. I believe the code
> was contributed by Nicolas Burrus. We'd definitely appreciate a patch if you
> have one that fixes the problem. Please use the GitHub pull request
> mechanism if possible. Thank you in advance.
>
> Cheers,
> Radu.
> --
> http://openperception.org
>
>
> On 06/11/2013 07:59 AM, Marc Gronle wrote:
>>
>>
>>
>> Hello together,
>>
>> I try to triangulate a polygonal mesh loaded from a ply or obj file, where
>> the polygons are no triangles but for
>> instance rectangles. For this purpose I tried to use the earClipper.
>>
>> It works fine besides for triangles where all vertices have the same x- or
>> y-coordinate.
>>
>> This is already marked in the method "isEar" and should be fixed.
>>
>> Is there anybody working on this?
>>
>> Right now, only the x- and y- coordinates of the vertices are taken for
>> the determination if
>> it is an "ear" or not. If they lie on a line, the
>> crossProduct-determination in line 146, file ear_clippling.cpp (PCL
>> 1.6.1), becomes smaller than eps and the method returns false.
>>
>> Maybe it is possible to not return false in that case but to restart the
>> method with the x-z or y-z components instead
>> of x-y in order to also consider polygons which are flat in the x-y plane.
>>
>> Cheers
>>
>> Marc
>>
>>
>> _______________________________________________
>> [hidden email] / http://pointclouds.org
>> http://pointclouds.org/mailman/listinfo/pcl-users
>>
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users