Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] CGAL 3D Objects Intersections

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] CGAL 3D Objects Intersections


Chronological Thread 
  • From: george13 <>
  • To:
  • Subject: Re: [cgal-discuss] CGAL 3D Objects Intersections
  • Date: Thu, 3 Sep 2009 03:53:58 -0700 (PDT)


Hello,

Thank you a lot, I missed that I need to put squared radius, now it works
well.


Pedro Machado Manhães de Castro wrote:
>
> Hello,
>
> Be aware that what you pass as argument here:
>
> SK::Sphere_3 s10( sphereCenter10, <<<<< CGAL::MP_Float(r1) >>>>> );
>
> is the squared radius, not the radius.
>
> If you replace r1 = 10.0 by r1 = 100.0 (or even r1 = 25.0), it works fine
> for me.
>
> Best regards,
> Pedro Machado
>
> On Wed, Sep 2, 2009 at 2:15 PM, george13
> <>
> wrote:
>
>>
>> Hello,
>> I made a simple testing program in order to check the intersection of two
>> spheres. I used a sphere with center in ( 0.5, 0.0, 0.0 ) and another
>> sphere
>> with center in ( -0.5, 0.0, 0.0 ) and both radius 1.0. Then I tested if
>> they
>> are intersected using the predicate CGAL::do_intersect() and it worked.
>> Next, I consider a second peer of two spheres first with center in ( 5.0,
>> 0.0, 0.0 ) and the second with center in ( -5.0, 0.0, 0.0 ) and both
>> radius
>> 10.0 and test again if they are intersected using the same predicate
>> do_intersect() but in this case it doesn't work. Choosing in this way
>> this
>> values i made a upscale of 10 times and it doesn't work. I mentioned that
>> the code was compiled with VS 2008 under Windows XP SP3.
>> Could you help me with this problem?
>>
>> My source code follows:
>> =============================================================
>> #include "stdafx.h"
>>
>> #include <CGAL/Cartesian.h>
>> #include <CGAL/Algebraic_kernel_for_spheres_2_3.h>
>> #include <CGAL/Spherical_kernel_3.h>
>> #include <CGAL/MP_Float.h>
>> #include <CGAL/Quotient.h>
>>
>> typedef CGAL::Quotient< CGAL::MP_Float> NT;
>> typedef CGAL::Cartesian<NT> Linear_k;
>> typedef CGAL::Algebraic_kernel_for_spheres_2_3<NT> Algebraic_k;
>> typedef CGAL::Spherical_kernel_3<Linear_k,Algebraic_k> SK;
>>
>> int main()
>> {
>> double r0 = 1.0;
>> SK::Point_3 sphereCenter00( 0.5, 0.0, 0.0 );
>> SK::Point_3 sphereCenter01( -0.5, 0.0, 0.0 );
>>
>> SK::Sphere_3 s00( sphereCenter00, CGAL::MP_Float(r0) );
>> SK::Sphere_3 s01( sphereCenter01, CGAL::MP_Float(r0) );
>>
>> if( CGAL::do_intersect( s00, s01 ) ){
>> std::cout<<"\n s00, s01 intersect \n";
>> }else{
>> std::cout<<"\n s00, s01 NOT intersect \n";
>> }
>>
>> double r1 = 10.0;
>> SK::Point_3 sphereCenter10( 5.0, 0.0, 0.0 );
>> SK::Point_3 sphereCenter11( -5.0, 0.0, 0.0 );
>>
>> SK::Sphere_3 s10( sphereCenter10, CGAL::MP_Float(r1) );
>> SK::Sphere_3 s11( sphereCenter11, CGAL::MP_Float(r1) );
>>
>> if( CGAL::do_intersect( s10, s11 ) ){
>> std::cout<<"\n s10, s11 intersect \n";
>> }else{
>> std::cout<<"\n s10, s11 NOT intersect \n";
>> }
>>
>> return 0;
>> }
>> --
>> View this message in context:
>> http://www.nabble.com/CGAL-3D-Objects-Intersections-tp25256322p25256322.html
>> Sent from the cgal-discuss mailing list archive at Nabble.com.
>>
>> --
>> You are currently subscribed to cgal-discuss.
>> To unsubscribe or access the archives, go to
>> https://lists-sop.inria.fr/wws/info/cgal-discuss
>>
> --
> You are currently subscribed to cgal-discuss.
> To unsubscribe or access the archives, go to
> https://lists-sop.inria.fr/wws/info/cgal-discuss
>
>

--
View this message in context:
http://www.nabble.com/CGAL-3D-Objects-Intersections-tp25256322p25273636.html
Sent from the cgal-discuss mailing list archive at Nabble.com.




Archive powered by MHonArc 2.6.16.

Top of Page