load (draw)$ winkelvektor(v) := block ([], atan(v[2]/v[1]) / (2*%pi)*360 ); p1 : [1,1]$ a : [4,3]$ b : [2,5]$ a : [5,2]$ b : [2,4]$ alpha : winkelvektor(a); beta : winkelvektor(b); laq : a . a, vector_simp; la : sqrt (laq); ab : a . b, vector_simp; p2 : p1 + b; /* Projektionspunkt */ F : p1 + ab/laq * a; delta1 : winkelvektor (p1+b - F) + 180; p4 : F + 0.3 * [cos ((delta1 + 45)/360*2*%pi), sin ((delta1 + 45)/360*2*%pi) ] ; ta : p1 + a + [0.2, -0.2]; text1 : concat ("set label '{/=25 @_{/=25 a}^{/=15 ->}}' at ", ta[1], "," , ta[2]); tb : p1 + b + [0.2, +0.2]; text2 : concat ("set label '{/=25 @_{/=25 b}^{/=15 ->}}' at ", tb[1], "," , tb[2]); tc : (p1 + (F - p1)/2 + [0, -0.5]), numer; text3 : concat ("set label '{/=25 | @_{/=25 b}^{/=15 ->} | cos ({/Symbol g})}' at ", tc[1], "," , tc[2], " enhanced"); draw2d ( xtics = false, ytics = false, xaxis = false, yaxis = false, xrange = [0,7], yrange = [0,7], head_length = 0.2, vector (p1,a), vector (p1,b), points_joined = true, point_type = none, line_type = dots, points ([p2, F]), user_preamble = [ "set noborder", "set label '{/Symbol g}' at 1.4, 1.45 enhanced", text1, text2, text3 ], transparent = true, line_type = solid, ellipse (p1[1], p1[2], 1.0, 1.0, beta, alpha-beta), point_type = filled_circle, point_size = 1, points([p4]), ellipse (F[1], F[2], 0.5, 0.5, delta1, 90), file_name = "projektion", dimensions = [600,600], terminal = eps );