(* Trajectory_ballistic *) (* launch velocity= 305 metres *) (* launch altitude= 1.3 metres *) (* launch angle= 5 Degrees *) (* angle of a straight line= constant 180 Degrees *) (* acceleration of gravity= constant 9.8 metres/second^2 *) solveTime = FindRoot(1.3+305*Sin(5 Degree)*t-4.9*t^2 == 0, {t, 0, 600}); tMaxDist = Part(Replace(t, solveTime)); (* time to altitude 0 *) maxDistance = {305*Cos(5 Degree)*tMaxDist, 1.3+305*Sin(5 Degree)*tMaxDist-4.9*tMaxDist^2}; tMaxHeight = 305*Sin(5 Degree)/9.8; (* time to maximum altitude *) maxHeight = {305*Cos(5 Degree)*tMaxHeight, 1.3+305*Sin(5 Degree)*tMaxHeight-4.9*tMaxHeight^2}; paraPlot = Table({N(305*Cos(5 Degree)*t), 1.3+N(305*Sin(5 Degree)*t-4.9*t^2)}, {t, 0, tMaxDist, .1}); (* Symja appends string length *) str = ToString(N(Round(Part(maxDistance, 1)*100)/100)); str1 = StringTake(str, StringPosition(str, "`", 1)[[1, 1]] - 1 ); str = ToString(N(Round(Part(maxDistance, 1)*100)/100)); str2 = StringTake(str, StringPosition(str, "`", 1)[[1, 1]] - 1 ); Graphics({ Blue, Line(paraPlot), Red, Text(str1, {Part(maxHeight, 1), Part(maxHeight, 2)+2}), AbsolutePointSize(4), Point(maxHeight), Green, Text(str2, {Part(maxDistance, 1), Part(maxDistance, 2)-8}), AbsolutePointSize(4), Point(maxDistance) }, PlotRange -> {-.1*Part(maxHeight, 2), Part(maxHeight, 2)/.85} (* {B, T} *) )