s,nvo : VAR Vect3
sp : VAR Sp2_vect3
vo,vi : VAR Nzv2_vect3
epsh,epsv : VAR Sign
opt_vertical(s,vo,vi,epsh,epsv): {nvo | nz_vect2?(nvo) =>
horizontal_only?(vo)(nvo)} = IF vo`z = vi`z THEN zero ELSE LET v = vo-vi,
dir:Sign = IF abs(s`z) >= H THEN epsv*sign(s`z) ELSE Entry ENDIF,
t = Theta_H(s`z,v`z,-dir) IN IF t > 0 AND epsv = sign(s`z + t*v`z) THEN LET nvo2 = opt_trk_gs_vertical(s,vo,vi,t,dir) IN IF horizontal_los?(s) OR horizontal_criterion?(s,epsh)(nvo2-vo) THEN
nvo2 WITH [z |-> vo`z] ELSE
zero ENDIF ELSE
zero ENDIF ENDIF
opt_vertical?(s,vo,vi,epsh,epsv)(nvo) : bool =
nz_vect2?(nvo) AND
nvo = opt_vertical(s,vo,vi,epsh,epsv)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.