Celestials implementation: getting started

Back to overview page.


Step 1: installation

Step 2: execute programs

Copy paste the following into a Sage terminal.

Put each function call in a separate cell and reload the libraries if necessary.

###################################################################################
# Loads the necessary libraries
###################################################################################

dir="CIRCLES_LIB_PATH/circles/src"

sys.path.append( dir+"celestial" )
sys.path.append( dir+"delpezzo" )
sys.path.append( dir+"tools" )

###################################################################################
# See section 3 in "Translations of circles in Euclidean and elliptic space"
###################################################################################

@interact( layout = [['a0'], ['a1'], ['a2'], ['r', 's'], ['vw', 'stp'], ['plt_pnts', 'opa'], ['shw_0', 'shw_1', 'shw_2'], ['shw_3', 'shw_4', 'shw_5'], ['shw_6', 'shw_7', 'shw_8'], ['shw_10', 'shw_11'], ['fix', 'shw_9']] )
def act_CT(
           a0 = slider( 0, 360, 1, default = 0 ),
           a1 = slider( 0, 360, 1, default = 0 ),
           a2 = slider( 0, 360, 1, default = 0 ),
           r = slider( 0, 3, 1 / 8, default = 1 ),
           s = slider( 0, 3, 1 / 8, default = 1 ),
           stp = slider( 0, 360, 1, default = 20 ),
           plt_pnts = slider( 0, 1000, 1, default = 50 ),
           opa = slider( 0, 1, 1 / 4, default = 1 / 2 ),
           vw = selector( ['tachyon', 'jmol'], buttons = True, nrows = 1 ),
           shw_0 = checkbox( True, 'Red Family' ),
           shw_1 = checkbox( True, 'Red base' ),
           shw_2 = checkbox( False, 'Red Inner' ),
           shw_3 = checkbox( True, 'Blue Family' ),
           shw_4 = checkbox( True, 'Blue base' ),
           shw_5 = checkbox( False, 'Blue inner' ),
           shw_6 = checkbox( True, 'Surface' ),
           shw_7 = checkbox( False, 'Animate' ),
           shw_8 = checkbox( True, 'Origin' ),
           shw_9 = checkbox( False, 'Implicit' ),
           shw_10 = checkbox( False, 'Red Path' ),
           shw_11 = checkbox( False, 'Blue Path' ),
           fix = checkbox( True, 'Fix' )
           ):
    shw = [shw_0, shw_1, shw_2, shw_3, shw_4, shw_5, shw_6, shw_7, shw_8, shw_9, shw_10, shw_11]
    if fix:
        print a0, a1, a2, r, s
        print stp, plt_pnts, opa
        print vw
        for i in range(len(shw)): print str(i)+':'+str(shw[i])[0]+',',
        print '\n',fix
        return
    plot_CT_surface( a0, a1, a2, r, s, stp, plt_pnts, opa, vw, shw )


###################################################################################
# Analyze singular locus of translational celestials
###################################################################################

from Analyze_0_0_90_1_1 import *
euclidean_0_0_90_1_1()
moebius_0_0_90_1_1()
elliptic_0_0_90_1_1()

from Analyze_90_0_0_1_1 import *
euclidean_90_0_0_1_1()
moebius_90_0_0_1_1()
elliptic_90_0_0_1_1()

from Analyze_90_0_0_1q2_1 import *
euclidean_90_0_0_1q2_1()
moebius_90_0_0_1q2_1()
elliptic_90_0_0_1q2_1()

###################################################################################
# See theorem 11 (elliptic 2-ruled translational celestials) in
# "Translations of circles in Euclidean and elliptic space"
###################################################################################

from Analyze_cyclide_lines import *
search_4_lines()