From d993733a967295dcba918f466324528cb650caae Mon Sep 17 00:00:00 2001 From: Pedro Machado Manhaes de Castro Date: Mon, 21 Aug 2006 14:26:44 +0000 Subject: [PATCH] An example of the Spherical_kernel_3 in use. --- .gitattributes | 1 + .../example_Circular_kernel_3 | Bin 0 -> 103487 bytes .../example_Circular_kernel_3.C | 86 ++++++++++++++++++ .../examples/Circular_kernel_3/makefile | 61 +++++++++++++ 4 files changed, 148 insertions(+) create mode 100755 Circular_kernel_3/examples/Circular_kernel_3/example_Circular_kernel_3 create mode 100644 Circular_kernel_3/examples/Circular_kernel_3/example_Circular_kernel_3.C create mode 100644 Circular_kernel_3/examples/Circular_kernel_3/makefile diff --git a/.gitattributes b/.gitattributes index 761854cb90d..01186938f56 100644 --- a/.gitattributes +++ b/.gitattributes @@ -398,6 +398,7 @@ Box_intersection_d/doc_tex/Box_intersection_d/fig/box_inters.eps -text svneol=un Box_intersection_d/doc_tex/Box_intersection_d/fig/box_inters.gif -text svneol=unset#image/gif Box_intersection_d/doc_tex/Box_intersection_d/fig/box_inters.pdf -text svneol=unset#application/pdf Box_intersection_d/test/Box_intersection_d/benchmark.plot -text svneol=native#application/postscript +Circular_kernel_3/examples/Circular_kernel_3/example_Circular_kernel_3 -text Convex_hull_2/demo/Convex_hull_2/help/index.html svneol=native#text/html Convex_hull_2/doc_tex/Convex_hull_2/saarhull.eps -text svneol=unset#application/postscript Convex_hull_2/doc_tex/Convex_hull_2/saarhull.gif -text svneol=unset#image/gif diff --git a/Circular_kernel_3/examples/Circular_kernel_3/example_Circular_kernel_3 b/Circular_kernel_3/examples/Circular_kernel_3/example_Circular_kernel_3 new file mode 100755 index 0000000000000000000000000000000000000000..939d254620d60fb3225b93b8a4e45c9413a1f4d9 GIT binary patch literal 103487 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 ieM6ep99B3oFVta*9#T(A;=k#`%AK6H$`@ literal 0 HcmV?d00001 diff --git a/Circular_kernel_3/examples/Circular_kernel_3/example_Circular_kernel_3.C b/Circular_kernel_3/examples/Circular_kernel_3/example_Circular_kernel_3.C new file mode 100644 index 00000000000..1619a29edea --- /dev/null +++ b/Circular_kernel_3/examples/Circular_kernel_3/example_Circular_kernel_3.C @@ -0,0 +1,86 @@ +#include +#include +#include +#include +#include +#include +#include + +typedef CGAL::Quotient< CGAL::MP_Float > NT; +typedef CGAL::Cartesian Linear_k1; +typedef CGAL::Algebraic_kernel_for_spheres_2_3 Algebraic_k1; +typedef CGAL::Spherical_kernel_3 SK; +typedef SK::FT FT; +typedef SK::Sphere_3 Sphere_3; +typedef SK::Circle_3 Circle_3; +typedef SK::Intersect_3 Intersect_3; +typedef SK::Construct_sphere_3 Construct_sphere_3; +typedef SK::AK AK; +typedef AK::Polynomial_for_spheres_2_3 Polynomial_for_spheres_2_3; + +int main() { + + Intersect_3 theIntersect_3 = SK().intersect_3_object(); + Construct_sphere_3 theConstruct_sphere_3 = SK().construct_sphere_3_object(); + + CGAL::Random generatorOfgenerator; + int random_seed = generatorOfgenerator.get_int(0, 123456); + CGAL::Random theRandom(random_seed); + int count = 0; + double mean = 0; + for(int i=0; i<10000; i++) { + double x1 = theRandom.get_double(0.0,5.0); + double y1 = theRandom.get_double(0.0,5.0); + double z1 = theRandom.get_double(0.0,5.0); + double r = 1.0; + double x2 = theRandom.get_double(0.0,5.0); + double y2 = theRandom.get_double(0.0,5.0); + double z2 = theRandom.get_double(0.0,5.0); + Sphere_3 s1 = theConstruct_sphere_3(Polynomial_for_spheres_2_3(FT(x1),FT(y1),FT(z1),FT(r))); + Sphere_3 s2 = theConstruct_sphere_3(Polynomial_for_spheres_2_3(FT(x2),FT(y2),FT(z2),FT(r))); + std::vector< CGAL::Object > intersection_1; + theIntersect_3(s1, s2, std::back_inserter(intersection_1)); + if(intersection_1.size() > 0) { + count++; + Circle_3 c; + if(assign(c,intersection_1[0])) { + mean += std::sqrt(CGAL::to_double(c.squared_radius())); + } + } + } + + std::cout << "The approximate probability that 2 spheres with radius 1" + << std::endl; + std::cout << "choosen (uniformly) randomly on a 5x5x5 box intersect is: " + << ((double)count)/((double)(10000)) << std::endl; + std::cout << "The mean size of the radius of the intersection circle is: " + << (mean / ((double)count)) << std::endl << std::endl; + + count = 0; + + for(int i=0; i<10000; i++) { + double x1 = theRandom.get_double(0.0,5.0); + double y1 = theRandom.get_double(0.0,5.0); + double z1 = theRandom.get_double(0.0,5.0); + double r = 1.0; + double x2 = theRandom.get_double(0.0,5.0); + double y2 = theRandom.get_double(0.0,5.0); + double z2 = theRandom.get_double(0.0,5.0); + double x3 = theRandom.get_double(0.0,5.0); + double y3 = theRandom.get_double(0.0,5.0); + double z3 = theRandom.get_double(0.0,5.0); + Sphere_3 s1 = theConstruct_sphere_3(Polynomial_for_spheres_2_3(FT(x1),FT(y1),FT(z1),FT(r))); + Sphere_3 s2 = theConstruct_sphere_3(Polynomial_for_spheres_2_3(FT(x2),FT(y2),FT(z2),FT(r))); + Sphere_3 s3 = theConstruct_sphere_3(Polynomial_for_spheres_2_3(FT(x3),FT(y3),FT(z3),FT(r))); + std::vector< CGAL::Object > intersection_1; + theIntersect_3(s1, s2, s3, std::back_inserter(intersection_1)); + if(intersection_1.size() > 0) count++; + } + + std::cout << "The approximate probability that 3 spheres with radius 1" + << std::endl; + std::cout << "choosen (uniformly) randomly on a 5x5x5 box intersect is: " + << ((double)count)/((double)(10000)) << std::endl; + + return 0; +} diff --git a/Circular_kernel_3/examples/Circular_kernel_3/makefile b/Circular_kernel_3/examples/Circular_kernel_3/makefile new file mode 100644 index 00000000000..90252693c4a --- /dev/null +++ b/Circular_kernel_3/examples/Circular_kernel_3/makefile @@ -0,0 +1,61 @@ +# Created by the script create_makefile +# This is the makefile for compiling a CGAL application. + +#---------------------------------------------------------------------# +# include platform specific settings +#---------------------------------------------------------------------# +# Choose the right include file from the /make directory. + +# CGAL_MAKEFILE = ENTER_YOUR_INCLUDE_MAKEFILE_HERE +include $(CGAL_MAKEFILE) + +#---------------------------------------------------------------------# +# compiler flags +#---------------------------------------------------------------------# + +CXXFLAGS = \ + -DNDEBUG \ + -O2 \ + -I/user/pmachado/home/CGAL_I/include \ + -I../../include\ + -I../../../Algebraic_kernel_for_spheres/include \ + $(TESTSUITE_CXXFLAGS) \ + $(EXTRA_FLAGS) \ + $(CGAL_CXXFLAGS) \ + $(LONG_NAME_PROBLEM_CXXFLAGS) + # -I../../../synaps \ + +#---------------------------------------------------------------------# +# linker flags +#---------------------------------------------------------------------# + +LIBPATH = \ + $(TESTSUITE_LIBPATH) \ + $(CGAL_LIBPATH) + +LDFLAGS = \ + $(TESTSUITE_LDFLAGS) \ + $(LONG_NAME_PROBLEM_LDFLAGS) \ + $(CGAL_LDFLAGS) + +#---------------------------------------------------------------------# +# target entries +#---------------------------------------------------------------------# + +all: \ + example_Circular_kernel_3$(EXE_EXT) + +example_Circular_kernel_3$(EXE_EXT): example_Circular_kernel_3$(OBJ_EXT) + $(CGAL_CXX) $(LIBPATH) $(EXE_OPT)example_Circular_kernel_3 example_Circular_kernel_3$(OBJ_EXT) $(LDFLAGS) + + +clean: \ + example_Circular_kernel_3.clean + +#---------------------------------------------------------------------# +# suffix rules +#---------------------------------------------------------------------# + +.C$(OBJ_EXT): + $(CGAL_CXX) $(CXXFLAGS) $(OBJ_OPT) $< +