**Case 21-031**


```python
import numpy as np
import sympy as sp
sp.init_printing()
```

**Data and measurements**


```python
alpha_az = 107.056 # deg
alpha_el = 43.497 # deg
tau1_az = 109.238 # deg
tau1_el = 44.468 #deg
delta_pix = 288 # pixels between two stars
frame_rate = 29.97 # frames per second
t_traverse = 54 + 12/frame_rate - (36 + 25/frame_rate) # seconds
print("Time to traverse screen: ",t_traverse," seconds")
in_dist = 1536 # pixels from alpha tau
in_ang = 180- 44.26 # degrees
out_dist = 1093.9 # pixels
out_ang = 270+ 21.32 # degrees
```

    Time to traverse screen:  17.56623289956623  seconds


**Calculations**


```python
delta_az = (tau1_az - alpha_az)*np.pi/180
delta_el = (tau1_el - alpha_el)*np.pi/180
delta_ang = np.arccos(np.cos(delta_az)*np.cos(delta_el) + 
                      (1-np.cos(delta_az))*np.sin(alpha_el*np.pi/180)*np.sin(tau1_el*np.pi/180)) # angle between two star
print("angle between stars: ",delta_ang*180/np.pi," deg")
obj_pix = 31 #pixels
obj_size = delta_ang/delta_pix*obj_pix # radians
print("Object Size in degrees: ",obj_size*180/np.pi)
#print("Object size at 500 meters: ",obj_size*500)
```

    angle between stars:  1.8459602308070742  deg
    Object Size in degrees:  0.19869710817715033



```python
in_ang_rad = in_ang*np.pi/180 # convert to radians
out_ang_rad = out_ang*np.pi/180
#print(np.array((np.cos(in_ang_rad),np.sin(in_ang_rad))))
twoD_in_vec = in_dist*np.array((np.cos(in_ang_rad),np.sin(in_ang_rad)))
twoD_out_vec = out_dist*np.array((np.cos(out_ang_rad),np.sin(out_ang_rad)))
diff_vec = twoD_out_vec - twoD_in_vec
#print(twoD_in_vec)
d_traverse = np.sqrt(np.dot(diff_vec,diff_vec)) # pixels
print("angle traversed = ",d_traverse*delta_ang/delta_pix*180/np.pi," degrees")
diam_per_sec = (d_traverse/obj_pix)/t_traverse # object speed in daimeters per second
print("time_to_traverse_frame: ",t_traverse," seconds")
print("average speed = ", diam_per_sec," diameters per second")
```

    angle traversed =  16.48614963530884  degrees
    time_to_traverse_frame:  17.56623289956623  seconds
    average speed =  4.7233383240896645  diameters per second



```python
print(twoD_in_vec)
```

    [-1100.05270288  1071.99815806]



```python
gnd_dist_meters = 7500

alt_estimate_meters = np.arctan(alpha_el*np.pi/180)*gnd_dist_meters
alt_estimate_feet = alt_estimate_meters/0.3048
range_meters = np.sqrt(gnd_dist_meters**2 + alt_estimate_meters**2)
print("total range to object: ",range_meters," meters")
print("approximate size ",obj_size*range_meters," meters")
print("approximate altitude: ",alt_estimate_feet," feet")
projected_speed_mps = (d_traverse*(delta_ang/delta_pix)/t_traverse)*range_meters
print("projected_speed: ",projected_speed_mps," meters per second")
print("projected_speed: ",(projected_speed_mps/0.3048)*5280/3600," miles per hour")
```

    total range to object:  8942.454729141951  meters
    approximate size  31.0117064430528  meters
    approximate altitude:  15977.891241505402  feet
    projected_speed:  146.47878153788966  meters per second
    projected_speed:  704.8410310222162  miles per hour



```python
print(d_traverse*(delta_ang/delta_pix)/t_traverse)
print(delta_ang/delta_pix)
```

    0.016380153545596382
    0.00011186834683492328


6473dd626eafff8fde425686cf810cbeebc3133f
ipynb
Jupyter Notebook
Case_analysis/21-031.ipynb
pdcarr/API
0377c8b86ab8b97bfd075113cfe4efeb2680e014
MIT
Case_analysis/21-031.ipynb
pdcarr/API
0377c8b86ab8b97bfd075113cfe4efeb2680e014
MIT
Case_analysis/21-031.ipynb
pdcarr/API
0377c8b86ab8b97bfd075113cfe4efeb2680e014
MIT
Qwen/Qwen-72B
1. YES
2. YES