// Last edited on 2023-06-12 20:53:25 by stolfi #include "eixos.inc" #include "curvsamp_textures.inc" #include "curvsamp_torus.inc" #include "curvsamp_core.inc" // #include "curvsamp_showdirs.inc" #macro curvsamp_test_obj(Rt, rt, bis, show_axes) // Returns the tetratorus object. // {Rt}, {rt} major and minor radii of the tori. // {show_axes} show the local basis of each torus. #if (bis) #local v24 = vnormalize(< +0.96263725, +0.19148045, +0.19148045 >); #local d24 = < 00.0, 00.0, 00.0 >; #local v48 = vnormalize(< +0.81608445, +0.54529020, +0.19148045 >); #local d48 = < +4.0, -0.3, -0.3 >; #else #local v24 = vnormalize(< +0.96096467, +0.27667110, 00.00000000 >); #local d24 = < 00.0, 00.0, 00.0 >; #local v48 = vnormalize(< +0.80799216, 0.53132106, 0.25464996 >); #local d48 = < +4.0, -0.3, -0.3 >; #end #local v8 = vnormalize(< +1, +1, +1 >); #local d8 = < +7.5, +0.7, +0.3 >; union{ object{ curvsamp_torus(Rt, rt, d24, v24, show_axes, tx_dir24 ) } object{ curvsamp_torus(Rt, rt, d48, v48, show_axes, tx_dir48 ) } object{ curvsamp_torus(Rt, rt, d8, v8, show_axes, tx_dir8) } // object{ curvsamp_core(Rt/2) } } #end