1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| # -*- coding: utf-8 -*-
class Point:
def __init__(self,a,b):
self.x=int(a)
self.y=int(b)
def __str__(self):
return "("+str(self.x)+","+str(self.y)+")"
def PointParam(t,P1,P2):#point de paramètre t du segment [AB]
return Point(P1.x+t*(P2.x-P1.x),P1.y+t*(P2.y-P1.y))
def PointParamTriangle(t,s,A,B,C):#point de paramètres s,t du triangle ABC
return PointParam(s,PointParam(t,A,B),PointParam(t,A,C))
def Balayage(A,B,C, dt):# dt est le step
span=[k*dt for k in range(0,int(1.0/dt)+1)]
print span
return [PointParamTriangle(t,s,A,B,C) for t in span for s in span]
def main ():
A= Point(100,200)
B= Point(200,300)
C=Point(400,400)
print PointParam(0,A,B)
print PointParam(1,A,B)
print PointParam(0.5,A,B)
print PointParamTriangle(1,1,A,B,C)
for P in Balayage(A,B,C,0.1):
print P
main() |
Partager