Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : http://kodomo.cmm.msu.su/trac/tanchiki/browser/vector.py?rev=3
Äàòà èçìåíåíèÿ: Unknown
Äàòà èíäåêñèðîâàíèÿ: Sun Apr 10 22:30:38 2016
Êîäèðîâêà: IBM-866
vector.py òÀÓ Tanchiki

source: vector.py @ 3:af02cd410e37

Revision 3:af02cd410e37, 1.2 KB checked in by Olga Zolotareva <olya_zol@òÀæ>, 5 years ago (diff)

modules changed

  • Property exe set to *
Lineˆà
1fromˆàmathˆàimportˆà*
2
3classˆàVector(object):ˆà ˆà
4
5ˆà ˆà ˆà ˆà defˆà__init__(self,ˆàx=0ˆà,ˆày=0):ˆà ˆà ˆà ˆà ˆà
6ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.x =ˆàx
7ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.y =ˆày
8ˆà ˆà ˆà ˆà
9ˆà ˆà ˆà ˆà defˆà__add__(self,ˆàother):
10ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà result =ˆàVector()
11ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà result.x =ˆàself.x +ˆàother.x
12ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà result.y =ˆàself.y +ˆàother.y
13ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà returnˆàresult
14
15ˆà ˆà ˆà ˆà defˆà__mul__(self,ˆàalpha):
16ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà result =ˆàVector()
17ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà result.x =ˆàself.x *ˆàalpha
18ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà result.y =ˆàself.y *ˆàalpha
19ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà returnˆàresult
20
21ˆà ˆà ˆà ˆà defˆàdot_product(self,ˆàother):
22ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà returnˆà self.x*other.x +ˆàself.y*other.y
23
24ˆà ˆà ˆà ˆà defˆà__abs__(self):
25ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà returnˆà(self.x**2ˆà+ˆàself.y**2)**0.5
26ˆà ˆà ˆà ˆà
27ˆà ˆà ˆà ˆà defˆà__str__(self):
28ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà returnˆà"(%s, %s)"ˆà%ˆà(self.x,ˆàself.y)
29
30ˆà ˆà ˆà ˆà defˆàis_null(self):
31ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ifˆàabs(self)ˆà ˆà ˆà==ˆà0ˆà:
32ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà returnˆà1
33ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà elseˆà:
34ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà returnˆà0
35ˆà
36
37ˆà ˆà ˆà ˆà defˆàget_rho(self):
38ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà returnˆàabs(self)
39
40ˆà ˆà ˆà ˆà defˆàset_rho(self,ˆànew_rho):
41ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.x ,ˆàself.y =ˆàself.x*(new_rho/abs(self))ˆà,ˆàself.y*(new_rho/abs(self))
42
43ˆà ˆà ˆà ˆà rho =ˆàproperty(get_rho,ˆàset_rho)ˆà
44ˆà ˆà ˆà ˆà
45ˆà ˆà ˆà ˆà defˆàget_phi(self):
46ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà cos =ˆàself.dot_product(Vector(1,0))/(abs(self)*1)
47ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ifˆàself.y <ˆà0ˆà:ˆà
48ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà phi =ˆà-acos(cos)
49ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà elseˆà:
50ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà phi =ˆàacos(cos)
51ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà returnˆàphi
52ˆà ˆà ˆà ˆà ˆà ˆà ˆà
53ˆà ˆà ˆà ˆà defˆàset_phi(self,ˆànew_phi):
54ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà self.x ,ˆàself.y =ˆàabs(self)*cos(new_phi)ˆà,ˆàabs(self)*sin(new_phi)
55
56ˆà ˆà ˆà ˆà phi =ˆàproperty(get_phi,ˆàset_phi)
57ˆà ˆà ˆà ˆà ˆà ˆà ˆà ˆà
58i =ˆàVector(1,0)
59j =ˆàVector(0,1)
60null =ˆàVector(0,0)
Note: See TracBrowser for help on using the repository browser.