Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
ss19:temporaerer_code [2019/06/27 16:30] eric_m def looking_forward(self,obj): viewpoint_x = self.size*math.cos(self.angle) viewpoint_y = self.size*math.sin(self.angle) def distance(x1,y1,x2,y2) return ((x1-x2)**2+(y1-y2)**2)**(1/2) dist = distance((obj.x,obj.y,self.x,self.y)) if dist > self.sight*(2)* |
ss19:temporaerer_code [2019/06/27 16:40] (aktuell) alexanderdross |
||
---|---|---|---|
Zeile 19: | Zeile 19: | ||
polarkoordinaten.append(d,math.acos(points[0]/d)) | polarkoordinaten.append(d,math.acos(points[0]/d)) | ||
sightcheck(d,math.acos([points[0]/d)) | sightcheck(d,math.acos([points[0]/d)) | ||
+ | def sightcheck(self,dist,alpha): | ||
+ | self.objangle = alpha | ||
+ | #print(dist) | ||
+ | if dist<=self.sight: | ||
+ | #print(self.angle%360,alpha) | ||
+ | if self.angle-self.viewangle<0: | ||
+ | if (self.angle%360-self.viewangle)+360 <= alpha or alpha <= self.angle+self.viewangle: | ||
+ | self.v = True | ||
+ | self.angle=alpha | ||
+ | print("2",self.v) | ||
+ | elif self.angle-self.viewangle>360: | ||
+ | if (self.angle%360-self.viewangle)-360 <= alpha or alpha <= self.angle+self.viewangle: | ||
+ | self.v = True | ||
+ | #print(self.v) | ||
+ | self.angle=alpha | ||
+ | else: | ||
+ | if self.angle%360-self.viewangle <= alpha <= self.angle+self.viewangle: | ||
+ | self.v = True | ||
+ | #print(self.v) | ||
+ | self.angle=alpha | ||
+ | |||
+ | |||
<\code> | <\code> |