changeset 14:d9c394a5ef77

Use degrees for heading internally committer: Jeff Sipek <jeffpc@jeff.(none)> 1120873719 -0400
author Jeff Sipek <jeffpc@jeff.(none)>
date Sat, 09 Jul 2005 01:48:39 -0400
parents 4a95c5552d3b
children 7711c8c1224f
files atc_plane.py atc_utils.py
diffstat 2 files changed, 11 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/atc_plane.py	Sat Jul 09 01:25:21 2005 -0400
+++ b/atc_plane.py	Sat Jul 09 01:48:39 2005 -0400
@@ -108,8 +108,8 @@
 			return
 		
 		if ijk == None:
-			self.vel["i"] = sin(self.vel["heading"]) * sqrt(self.vel["speed"]**2 - self.vel["climb"]**2)
-			self.vel["j"] = cos(self.vel["heading"]) * sqrt(self.vel["speed"]**2 - self.vel["climb"]**2)
+			self.vel["i"] = sin(atc_utils.torad(self.vel["heading"])) * sqrt(self.vel["speed"]**2 - self.vel["climb"]**2)
+			self.vel["j"] = cos(atc_utils.torad(self.vel["heading"])) * sqrt(self.vel["speed"]**2 - self.vel["climb"]**2)
 			self.vel["k"] = self.vel["climb"]
 		else:
 			self.vel["heading"] = self.calc_head()
@@ -158,10 +158,10 @@
 			head = fabs(atan(self.vel["i"]/-self.vel["j"]))
 		except ZeroDivisionError:
 			if (self.vel["i"]>0):
-				return pi/2	# east
-			return 3*pi/2		# west
+				return 90	# east
+			return 270		# west
 		
-		return head
+		return head*180.0/pi
 	
 	def calc_geo(self, xy, prefix):
 		""" Return a geographic coodrinate-formated xy """
@@ -202,7 +202,6 @@
 					break
 			
 			print "Changing heading to " + str(self.vel["heading"])
-			self.vel["heading"] *= pi/180.0
 			self.complete_vel(hac=1)
 	
 	def display(self,screen):
@@ -225,10 +224,10 @@
 		#		"Alt:  " + str(int(self.pos["Z"])),
 		#		"Lat:  " + self.calc_geo(self.pos["Y"],"NS"),
 		#		"Long: " + self.calc_geo(self.pos["X"],"EW"),
-		#		"Head: " + str(int(atc_utils.todeg(self.vel["heading"]))),
+		#		"Head: " + str(int(self.vel["heading"])),
 		#		"AS:   " + str(int(self.vel["speed"]*3.6)))
 		strings = (	self.flightno,
-				"%03d %03d" % (int(atc_utils.todeg(self.vel["heading"])), int(self.vel["speed"]*3.6)),
+				"%03d %03d" % (int(self.vel["heading"]), int(self.vel["speed"]*3.6)),
 				self.specs["name"])
 				
 		for stri in strings:
--- a/atc_utils.py	Sat Jul 09 01:25:21 2005 -0400
+++ b/atc_utils.py	Sat Jul 09 01:48:39 2005 -0400
@@ -42,6 +42,10 @@
 	""" Convert radians to degrees """
 	return rad*180.0/pi
 
+def torad(deg):
+	""" Convert degrees to radians """
+	return deg*pi/180.0
+
 def playmusic(name,vol=0.1):
 	""" Start playing background music """
 	pygame.mixer.music.load('data/sound/' + name)