NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

math.py (1171B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\behaviors\utility\math.py
      2 try:
      3     import geo2
      4 except ImportError:
      5     geo2 = object()
      6 
      7 def compute_forward_fleet_position(friendlyCoordinate, hostileCoordinate, distance):
      8     return compute_fleet_position(friendlyCoordinate, hostileCoordinate, distance, hostileCoordinate)
      9 
     10 
     11 def compute_rear_fleet_position(friendlyCoordinate, hostileCoordinate, distance):
     12     return compute_fleet_position(friendlyCoordinate, hostileCoordinate, distance, friendlyCoordinate)
     13 
     14 
     15 def compute_fleet_position(friendlyCoordinate, hostileCoordinate, distance, referenceCoordinate):
     16     rearVector = geo2.Vec3SubtractD(friendlyCoordinate, hostileCoordinate)
     17     rearVector = geo2.Vec3Normalize(rearVector)
     18     displacementVector = geo2.Vec3Scale(rearVector, distance)
     19     desiredRearPosition = geo2.Vec3AddD(referenceCoordinate, displacementVector)
     20     return desiredRearPosition
     21 
     22 
     23 def get_normalized_dict(target_dict):
     24     max_value = max(target_dict.itervalues())
     25     if max_value == 0:
     26         return target_dict.copy()
     27     return {key:float(value) / max_value for key, value in target_dict.iteritems()}