Showing
1 changed file
with
8 additions
and
2 deletions
... | @@ -241,8 +241,14 @@ int time_to_collision(RangeId id1, RangeId id2){ | ... | @@ -241,8 +241,14 @@ int time_to_collision(RangeId id1, RangeId id2){ |
241 | else X_in := 0; | 241 | else X_in := 0; |
242 | // X_out if faster B | 242 | // X_out if faster B |
243 | if(vx_a < vx_b){ | 243 | if(vx_a < vx_b){ |
244 | - if(((px_b-px_a-C_len)*GranX)/((vx_b-vx_a)*GranV) < 100) X_out := ((px_b-px_a-C_len)*GranX*scale)/((vx_b-vx_a)*GranV); | 244 | + if(px_b-px_a-C_len > 0){ |
245 | - else X_out := 100*scale; | 245 | + if(((px_b-px_a-C_len)*GranX)/((vx_b-vx_a)*GranV) < 100) X_out := ((px_b-px_a-C_len)*GranX*scale)/((vx_b-vx_a)*GranV); |
246 | + else X_out := 100*scale; | ||
247 | + } | ||
248 | + else{ | ||
249 | + if(((C_len-(px_b-px_a))*GranX)/((vx_b-vx_a)*GranV) < 100) X_out := ((C_len-(px_b-px_a))*GranX*scale)/((vx_b-vx_a)*GranV); | ||
250 | + else X_out := 100*scale; | ||
251 | + } | ||
246 | } | 252 | } |
247 | // X_out if equal speed | 253 | // X_out if equal speed |
248 | else{ | 254 | else{ | ... | ... |
-
Please register or login to post a comment