Beispiel #1
0
def pointGen():
    """
    Genera un punto al azar.
    """

    x, y = RI(-7, 32), RI(32, 72)
    return (x, y)
Beispiel #2
0
def initialize_param(no_targets, no_observers):
    targets = []
    a = [-1, 1]
    observers = []
    obstacles = []
    no_obstacles = int(ceil(no_targets / 3))
    for i in range(no_targets):
        targets.append(
            T(R() * 150 * a[RI(0, 1)],
              R() * 150 * a[RI(0, 1)], target_speed[RI(0, 5)],
              R() * 360, sensor_range[RI(0, 4)]))
    for i in range(no_observers):
        observers.append(
            O(R() * 150 * a[RI(0, 1)],
              R() * 150 * a[RI(0, 1)], observer_speed, sensor_range[RI(0, 4)]))
    for i in range(no_obstacles):
        obs_len = obstacle_len[RI(0, 5)]
        angle = R() * 360
        pos_x = R() * 150 * a[RI(0, 1)]
        pos_y = R() * 150 * a[RI(0, 1)]
        temp_obs = []
        for j in range(obs_len):
            temp_obs.append(
                Ob(pos_x + j * sin(angle), pos_y + j * cos(angle), angle, i))
        obstacles.append((obs_len, temp_obs))
    return (no_targets, no_observers, no_obstacles, targets, observers,
            obstacles)
Beispiel #3
0
 def initialize(self):
     no_observers_arr=[2,6,10,14,18]
     no_targets_arr=[3,9,15,21,27]
     target_speed=[0.2,0.5,0.8,1.0,1.2,1.5]
     observer_speed=1.0
     sensor_range=[5,10,15,20,25]
     observer_target_dict={}
     obstacle_len=[2,5,8,10,12,20]
     targets=[]
     a=[-1 ,1]
     observers=[]
     obstacles=[]
     no_targets=no_targets_arr[RI(0,4)]
     no_observers=no_observers_arr[RI(0,4)]
     no_obstacles=int(ceil(no_targets/3))
     for i in range(no_targets):
         targets.append(T(R()*150*a[RI(0,1)],R()*150*a[RI(0,1)],target_speed[RI(0,5)],R()*360,sensor_range[RI(0,4)]))
     for i in range(no_observers):
         observers.append(O(R()*150*a[RI(0,1)],R()*150*a[RI(0,1)],observer_speed,sensor_range[RI(0,4)]))
     for i in range(no_obstacles):
         obs_len=obstacle_len[RI(0,5)]
         angle=R()*360
         pos_x=R()*150*a[RI(0,1)]
         pos_y=R()*150*a[RI(0,1)]
         temp_obs=[]
         for j in range(obs_len):
             temp_obs.append(Ob(pos_x+j*sin(angle),pos_y+j*cos(angle),angle,i))
         obstacles.append((obs_len,temp_obs))
     return (no_targets,no_observers,no_obstacles,targets,observers,obstacles)
Beispiel #4
0
def initialize_param(no_targets,no_observers):
	targets=[]
	observers=[]
	for i in range(no_targets):
		targets.append(T(R()*150,R()*150,target_speed[RI(0,5)],R()*360,sensor_range[RI(0,4)]))
	for i in range(no_observers):
		observers.append(O(R()*150,R()*150,observer_speed,sensor_range[RI(0,4)]))
	return (no_targets,no_observers,targets,observers)
Beispiel #5
0
 def initialize(self):
     targets = []
     observers = []
     no_targets = self.no_targets_arr[RI(0, 4)]
     no_observers = self.no_observers_arr[RI(0, 4)]
     sensor_range_targets = self.sensor_range[RI(0, 4)]
     sensor_range_observers = self.sensor_range[RI(0, 4)]
     for i in range(no_targets):
         targets.append(
             T(R() * 150,
               R() * 150, self.target_speed[RI(0, 5)],
               R() * 360, sensor_range_observers))
     for i in range(no_observers):
         observers.append(
             O(R() * 150,
               R() * 150, self.observer_speed, sensor_range_targets))
     return (no_targets, no_observers, targets, observers)
Beispiel #6
0
def isPrime(n):  # tested
    if n != 1:
        for t in xrange(3):
            rNum = RI(1, n - 1)
            if pow(rNum, n - 1, n) != 1:
                return False
        return True
    else:
        return False
Beispiel #7
0
 def initialize_custom(self, no_trgts, no_obs, obs_range):
     self.x_limit = 150
     self.y_limit = 150
     target_speed = [0.2, 0.5, 0.8, 1.0, 1.2, 1.5]
     observer_speed = 1.0
     self.total_steps = 1500
     self.update_steps = 10
     observer_target_dict = {}
     obstacle_len = [2, 5, 8, 10, 12, 20]
     self.template_probability_distribution = [
         0.001953125, 0.001953125, 0.00390625, 0.0078125, 0.015625, 0.03125,
         0.0625, 0.125, 0.25, 0.5
     ]
     targets = []
     a = [-1, 1]
     observers = []
     obstacles = []
     observer_strategy = []
     no_obstacles = int(ceil(no_trgts / 3))
     sensor_range = [5, 10, 15, 20, 25]
     for i in range(no_trgts):
         targets.append(
             T(R() * 150 * a[RI(0, 1)],
               R() * 150 * a[RI(0, 1)], target_speed[RI(0, 5)],
               R() * 360, sensor_range[RI(0, 4)]))
     for i in range(no_obs):
         observers.append(
             O(R() * 150 * a[RI(0, 1)],
               R() * 150 * a[RI(0, 1)], observer_speed, obs_range))
         observer_strategy.append(RI(1, 4))
     for i in range(no_obstacles):
         obs_len = obstacle_len[RI(0, 5)]
         angle = R() * 360
         pos_x = R() * 150 * a[RI(0, 1)]
         pos_y = R() * 150 * a[RI(0, 1)]
         temp_obs = []
         for j in range(obs_len):
             temp_obs.append(
                 Ob(pos_x + j * sin(angle), pos_y + j * cos(angle), angle,
                    i))
         obstacles.append((obs_len, temp_obs))
     return (no_trgts, no_obs, no_obstacles, targets, observers, obstacles,
             observer_strategy)
Beispiel #8
0
def computer_entry():
     '''This is a fuction to create random integer for the computer's input position'''
     global board
     r = RI(0,8)
     if board[r] != '-':
          computer_entry()
     else:
          print('Computer turn...',end=' ')
          sleep(1)
          print('it choose : '+ str(r))
          board[r] = 'O'
          display()
Beispiel #9
0
    "inc": (lambda a: a+1),
    "dec": (lambda a: a-1),
    "neg": (lambda a: -a),
    "abs": (lambda a: abs(a)),
    "eq0": (lambda a: Dec(a == 0)),
    "neq0": (lambda a: Dec(a != 0)),
    "rec": (lambda a: Dec(1/a)),
    "sqrt": (lambda a: round(Dec(a**Dec(0.5)))),
    "cbrt": (lambda a: round(Dec(a**Dec(1/3)))),
    "sqtr": (lambda a: Dec(a**Dec(0.5))),
    "cbtr": (lambda a: Dec(a**Dec(1/3))),
    "adx": (lambda a: a+subx),
    "ady": (lambda a: a+suby),
    "dcd": (lambda a: Dec(RC((f"{a}")))),
    #random number from given number
    "src": (lambda a: (Dec(RI(0,a)))if a>-1else 0),
    #random number from 0 to a
    "nsrc": (lambda a: (Dec(RI(-a,0)))if a<1else 0),
    #random number from a to 0
    "msrc": (lambda a: Dec(RI(-a,a))),
    #random number from -a to a
    "fct": (lambda a: Dec(math.factorial(a)if a>=0else 0))
    #n factorial
}

def handle_unary_op(op, s):
    a = pop_stack(s)
    s.append(unary_ops[op](a))

def op_eu(s):
    s.append(round(Dec(math.e), 10)) # rounded to 10 places because i doubt people will need more
            print()
            print('DENOMINATOR:')
            den.PRINT()
            print()
            q, r, f = num.divide(den)
            print('QUOTIENT:')
            q.PRINT()
            print('REMAINDER:')
            r.PRINT()
            print('FACTOR: {}'.format(f))
            print('----------------------------')

    g = p1.gcd(p2)
    g.PRINT()

    q1 = polynomial([-1, 1])
    q2 = polynomial([-265692, 3])
    q3 = polynomial([-11, 13])
    q4 = polynomial([73, -37])
    q = [q1, q2, q3, q4]
    qs = [[q[i].multiply(q[j]) for j in range(4)] for i in range(4)]
    for _ in range(10):
        i1, j1, i2, j2 = RI(0, 3), RI(0, 3), RI(0, 3), RI(0, 3)
        print('===================')
        q[i1].PRINT()
        q[j1].PRINT()
        q[i2].PRINT()
        q[j2].PRINT()
        qs[i1][j1].gcd(qs[i2][j2]).PRINT()
        print('===================')
Beispiel #11
0
    #11$\sum_{k=0}^n \binom{n}{k}c^k = (c+1)^n$
    s21 = '(k+kc-nc-c)(n+2-k)'
    s22 = 'k(k-1+kc-nc-2c)'
    '''
    What are these?!?!?!
    s3 = '(n+2-k)^2((n+1)^3-2(n+1-k)^2(2n+1))'
    s4 = 'k^2((n+1)^3-2(n+2-k)^2(2n+1))'
    '''
    tests = [(s01,s02),(s03,s04),(s05,s06),(s07,s08),(s09,s10),\
            (s11,s12),(s13,s14),(s15,s16),(s17,s18),(s19,s20),(s21,s22)]

    for i, test in enumerate(tests):
        #try:
        try_algo(test[0], test[1], 'k', i + 1)
        '''
        except:
            print('==============================')
            print(test[0])
            print(test[1])
            print('DOES NOT WORK')
            print('==============================')
        '''

    d = {}
    for k in range(3):
        for m in range(3):
            for n in range(3):
                d[(k, m, n)] = RI(-3, 3)
    dict2polynomial(d, ['k', 'm', 'n']).PRINT()
    print('TESTING DONE')