Прикреплённый файл «mnogoug.py»

Загрузка

   1 #!/usr/bin/env python
   2 # coding: utf
   3 '''
   4 Дано: координаты точки A на плоскости, список координат вершин многоугольника B1 B2 … Bi, … в порядке обхода. Требуется выяснить, принадлежит ли точка A выпуклому многоугольнику B1B2… (выпуклость гарантируется)
   5 '''
   6 
   7 from math import *
   8 import sys
   9 import random
  10 
  11 def par(A,B,C):
  12     return (C[0]-A[0])*(B[1]-A[1])-(C[1]-A[1])*(B[0]-A[0])
  13 
  14 def halfplane(A,B,C):
  15     h=par(B,C,A)
  16     return h>0 and 1 or h<0 and -1 or 0
  17 
  18 def angle(A,B,C):
  19     return atan2(par(A,B,C),(C[0]-A[0])*(C[1]-A[1])+(B[1]-A[1])*(B[0]-A[0]))
  20 
  21 def qlen(A,B):
  22     return (A[0]-B[0])**2+(A[1]-B[1])**2
  23 
  24 def rnd100(Max=100,Min=0,Step=100.):
  25     return random.randint(Min,int(Max*Step))/Step

Прикреплённые файлы

Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.

Вам нельзя прикреплять файлы к этой странице.