acN = (c - a).GetNormalized()
bc2 = (c - b).GetLengthSquared()
ac = (c - a).GetLength()
co = bc2 / ac
d = c + acN * co
ac = c - a
ab = b - a
abN = ab.GetNormalized()
dotH = ac.Dot(abN)
h = (abN * dotH) + a
de = e - d
deN = de.GetNormalized()
fac = de.GetLength() / ab.GetLength()
h2 = deN * (dotH * fac) + d
hcL = (c - h).GetLength()
deVec = deN.Cross(up)
h2fN = deVec.Cross(deN).GetNormalized()
f = h2fN * (fac * hcL) + h2
keyboard_arrow_down