load (draw); A : [13,12,7]; v : [3,0,-1]; P : [2,3,4]; rltmp : solve ([ (A + r*v - P).v = 0 ], [r]); rl : rhs(rltmp[1]); L : A + rl*v; geradestart : A - 4*v; geradeend : A + 2*v; ta : A + [-1, 0, -3]; textalabel : concat("set label '{/=25 A}' at ", ta[1], "," , ta[2], "," , ta[3], " enhanced"); tp : P + [-3.0, 0, 0]; textplabel : concat("set label '{/=25 P}' at ", tp[1], "," , tp[2], "," , tp[3], " enhanced"); tl : ''(L + [0.3, 0, 2]), numer; textllabel : concat("set label '{/=25 L}' at ", tl[1], "," , tl[2], "," , tl[3], " enhanced"); tv : A + v + [0,0,4]; textvlabel : concat("set label '{/=25 @_{/=25 v}^{/=15 ->}}' at ", tv[1], "," , tv[2], "," , tv[3], " enhanced"); draw3d ( user_preamble = [ "set noborder", "set color", textalabel, textplabel, textllabel, textvlabel ], xrange = [0,20], yrange = [0,20], zrange = [0,20], axis_3d = false, xtics = 'none, ytics = 'none, ztics = 'none, head_length = 0.6, line_width = 2, points_joined = true, point_size = 0, color = black, line_type = solid, points ([geradestart,geradeend]), line_type = dots, line_width = 2, points ([P,L]), color = red, line_width = 4, vector (A, v), line_width = 2, vector (P, A-P), color = black, dimensions = [600,600], file_name = "pglot", terminal = eps );