Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pi=3.1415926535
- class Sphere:
- def __init__(self, *param):
- if len(param) == 0: #если входных параметров нет
- param = (1, 0, 0, 0) #радиус = 1, координаты x|y|z = 0
- elif len(param) == 1:
- param = (param[0], 0, 0, 0) #если входные параметры есть (на вход только радиус)
- else:
- raise TypeError
- self.r, self.x, self.y, self.z = param
- def get_volume(self):
- return (self.r ** 3) * pi * 4 / 3 #формула объема сферы
- def get_square(self):
- return (self.r ** 2) * pi * 4 #формула площади поверхности сферы
- def get_radius(self): #возвращает радиус сферы
- return self.r
- def get_center(self): #возвращает координаты центра сферы
- return (self.x, self.y, self.z)
- def set_radius(self, r): #устанавливает новый радиус
- self.r = r
- def set_center(self, x, y, z): #устанавливает новые x|y|z центра сферы
- self.x = x
- self.y = y
- self.z = z
- def is_point_inside(self, x, y, z): #возвращает true|false от вопроса "внутри сферы ли заданная точка"
- if (self.x-x)**2 + (self.y-y)**2 + (self.z-z)**2 <= self.r**2:
- return True #точку на поверхности сферы тоже считаю за true (если нет убрать "=" из формулы)
- else:
- return False
- s=Sphere ()
- print ("Spheres' center is at ")
- print (s.get_center ()) # (0, 0, 0)
- print ("\nSpheres' volume is ")
- print (s.get_volume ()) # 4.1887902047864 (by default)
- print ("\nGiven point is inside the sphere now: ")
- print (s.is_point_inside (0 , -2.7, 0)) # False
- print ("\nSpheres' radius before is ")
- print (s.get_radius ()) # 1 (by default)
- print ("\nSpheres' center before is at")
- print (s.get_center ()) # 0, 0, 0
- s.set_radius (3)
- print ("\nGiven point is inside the sphere now: ")
- print (s.is_point_inside (0, -2.7, 0)) # True
- print ("\nSpheres' radius after is ")
- print (s.get_radius ()) # 3
- s.set_center (3,0,-3)
- print ("\nSpheres' center after at")
- print (s.get_center ()) # 3, 0, -3
- print ("\n")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement