本文整理汇总了Python中java.lang.Math.tan方法的典型用法代码示例。如果您正苦于以下问题:Python Math.tan方法的具体用法?Python Math.tan怎么用?Python Math.tan使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.lang.Math
的用法示例。
在下文中一共展示了Math.tan方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: gene
# 需要导入模块: from java.lang import Math [as 别名]
# 或者: from java.lang.Math import tan [as 别名]
def gene(cible, p):
taille = 12
if p.getPerceptType() == "Home":
taille = 20
# Distance par rapport au tir
angle = self.towards(cible.getX(), cible.getY())
angle = Math.PI * angle / 180
t = Math.tan(angle)
s = Math.sin(angle)
c = Math.cos(angle)
dist_x = ( p.getX() + t* p.getY()) / (c + s * t)
dist_y = -p.getY()/c + t * dist_x
#print self.getAddress().getName() + " --> " + str(dist_x) + " --- " + str(dist_y)
return abs(dist_y) < taille and dist_x > 0 and dist_x< cible.distanceTo(Point())
示例2: eviteAmis
# 需要导入模块: from java.lang import Math [as 别名]
# 或者: from java.lang.Math import tan [as 别名]
def eviteAmis(percepts):
dist1 = dist2 = 500
taille_robot = 20
liste_obstacles = []
for p in percepts:
centre = Point()
centre.setCoord(p.getX(), p.getY())
liste_obstacles.append(centre)
# on dessine 2 droite paralleles a la direction
# qui partent des bords du robot -> d1 : y = 12 et d2 : y = -12
# Dans nouveau repere : origine = self
# rotation du repere de l"angle de direction courant
direction = self.getHeading()
angle = Math.PI * direction / 180
t = Math.tan(angle)
s = Math.sin(angle)
c = Math.cos(angle)
for p in liste_obstacles:
# centre_x, centre_y : centre de l"obstacle dans le repere
centre_x = ( p.getX() + t* p.getY()) / (c + s * t)
centre_y = -p.getY()/c + t * centre_x
# savoir quelle droite prendre
if centre_x > 0:
if centre_y >= 0 and centre_y <= 2*taille_robot:
y = centre_y - taille_robot
dist1 = min(dist1,-Math.sqrt(taille_robot*taille_robot - y*y) + centre_x)
elif centre_y < 0 and centre_y >= -(2*taille_robot):
y = centre_y + taille_robot
dist2 = min(dist2,-Math.sqrt(taille_robot*taille_robot - y*y) + centre_x)
if min(dist1, dist2) <= 100 and abs(dist1 - dist2) > 2:
if dist1 < dist2:
direction += 100/dist1
else:
direction -= 100/dist2
self.setHeading(direction)