Esempio n. 1
0
import math

stardb = stars.loadStars()


# riegel - 0.18 = 20 degrees
# epsilon ori 1.69 = 15 degrees
# 3/2 = 15/20
# min(mg1, mg2)


#THRESHOLD = math.cos(20.0/360.0*2.0*math.pi)
stardb = stars.loadStars()
#stardb = filter(lambda x: x['mg']<=6, stardb)

for star1 in stardb:
#    print star1['n']
    if star1['mg']<1:
        THRESHOLD = math.cos(20/360.0*2.0*math.pi)
    elif star1['mg']<3:
        THRESHOLD = math.cos(20/360.0*2.0*math.pi)
    else:       
        THRESHOLD = math.cos(10/360.0*2.0*math.pi)
    for star2 in stardb:
        if star1['n']==star2['n']:
            continue
        t = stars.dot(star1, star2)
        if t>=THRESHOLD :
            a = stars.length(stars.cross(star1, star2))
            print star1['n'], star2['n'], a 
Esempio n. 2
0
pairsdict = dict(((a,b),l) for (a,b,l) in pairs)
#print len(pairs), "pairs"

cnt = 0
for i in range(len(pairs)):
    j = i+1
    while j<len(pairs) and pairs[i][0] == pairs[j][0]:
        if float(pairs[j][2])>0 :
            a,b = pairs[i][1], pairs[j][1]
            if (a,b) in pairsdict:
                l = pairsdict[(a,b)]
            elif (b,a) in pairsdict:
                l = pairsdict[(b, a)]
            else:
                l = stars.dot (stardict[a], stardict[b])
            # check triangle direction. it must be CCW
            star1 = stardict[a]
            star2 = stardict[b]
            star0 = stardict[pairs[i][0]]
            CCW = stars.dot(stars.cross(stars.minus(star1, star0), stars.minus(star2, star0)), star0)<0
               
            if float(pairs[j][2])>0:
                print float(pairs[i][2])/float(pairs[j][2]), pairs[i][0], pairs[i][1], pairs[j][1], pairs[i][2], pairs[j][2], l
            # two variants
            if float(pairs[i][2])>0:
                print float(pairs[j][2])/float(pairs[i][2]), pairs[i][0], pairs[j][1], pairs[i][1], pairs[j][2], pairs[i][2], l
            
            cnt +=2
        j += 1