Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : http://kodomo.cmm.msu.su/trac/tanchiki/changeset/14
Äàòà èçìåíåíèÿ: Unknown
Äàòà èíäåêñèðîâàíèÿ: Sun Apr 10 02:14:00 2016
Êîäèðîâêà: IBM-866
Changeset 14:3634a208da61 òÀÓ Tanchiki

Changeset 14:3634a208da61


Ignore:
Timestamp:
12/19/10 16:04:29 (5 years ago)
Author:
Olga Zolotareva <olya_zol@òÀæ>
Branch:
default
Children:
15:43f5b82f3491, 16:c71c27b09bc7
Message:

modules changed

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vector.py

    r5 r14 ˆà
    1ˆàfrom math import *ˆà
    ˆà1import mathˆà
    22ˆà
    33class Vector(object):   ˆà
    òÀæ òÀæ ˆà
    88        ˆà
    99        def __add__(self, other):ˆà
    10ˆà                result = Vector()ˆà
    ˆà10                result = Vector(0,0)ˆà
    1111                result.x = self.x + other.xˆà
    1212                result.y = self.y + other.yˆà
    òÀæ òÀæ ˆà
    2929ˆà
    3030        def is_null(self):ˆà
    31ˆà                if abs(self)    == 0 :ˆà
    ˆà31                if abs(self) == 0 :ˆà
    3232                        return 1ˆà
    3333                else :ˆà
    òÀæ òÀæ ˆà
    3838ˆà
    3939        def set_rho(self, new_rho):ˆà
    40ˆà                self.x , self.y = self.x*(new_rho/abs(self)) , self.y*(new_rho/abs(self))ˆà
    ˆà40                if self.is_null() == 1:ˆà
    ˆà41                        self.x , self.y = new_rho*math.cos(self.phi) , new_rho*math.sin(self.phi)ˆà
    ˆà42                else :ˆà
    ˆà43                        self.x , self.y = self.x*(new_rho/abs(self)) , self.y*(new_rho/abs(self))ˆà
    4144ˆà
    4245        rho = property(get_rho, set_rho) ˆà
    4346ˆà
    4447        def get_phi(self):ˆà
    45ˆà                cos = self.dot_product(Vector(1,0))/(abs(self)*1)ˆà
    46ˆà                if self.y < 0 : ˆà
    47ˆà                        phi = -acos(cos)ˆà
    48ˆà                else :ˆà
    49ˆà                        phi = acos(cos)ˆà
    50ˆà                return phiˆà
    ˆà48                phi = math.pi/2 - math.atan2(self.x, self.y)ˆà
    ˆà49                if self.is_null == 1:ˆà
    ˆà50                        phi = 0ˆà
    ˆà51                return  phiˆà
    5152ˆà
    5253        def set_phi(self, new_phi):ˆà
    53ˆà                self.x , self.y = abs(self)*cos(new_phi) , abs(self)*sin(new_phi)ˆà
    ˆà54                rho = abs(self)ˆà
    ˆà55                self.x , self.y = rho*math.cos(new_phi) , rho*math.sin(new_phi)ˆà
    5456ˆà
    5557        phi = property(get_phi, set_phi)ˆà
Note: See TracChangeset for help on using the changeset viewer.