load (draw)$ A:[1,1,1]$ v1:[4,8,8]$ v2:[-8,8,-4]$ B: A + v1$ C: B + v2$ D: A + v2$ xmax : lmax (map (lambda([x], x[1]), [A, B, C, D])); xmin : lmin (map (lambda([x], x[1]), [A, B, C, D])); ymax : lmax (map (lambda([x], x[2]), [A, B, C, D])); ymin : lmin (map (lambda([x], x[2]), [A, B, C, D])); zmax : lmax (map (lambda([x], x[3]), [A, B, C, D])); zmin : lmin (map (lambda([x], x[3]), [A, B, C, D])); [xmax, ymax, zmax] : map (lambda ([x], if (x < 1) then 1 else x), [xmax, ymax, zmax]); [xmin, ymin, zmin] : map (lambda ([x], if (x > -1) then -1 else x), [xmin, ymin, zmin]); posrange : lmax ([xmax, ymax, zmax]); negrange : lmin ([xmin, ymin, zmin]); koord : [ head_length = 0.2, /* Pfeil-Kopflaenge */ color = black, vector ([negrange, 0, 0], [posrange-negrange, 0, 0]), /* x-Achse */ vector ([0, negrange, 0], [0, posrange-negrange, 0]), /* y-Achse */ vector ([0, 0, negrange], [0, 0, posrange-negrange]), /* z-Achse */ label ( ["x", posrange + 0.5, 0, 0], ["y", 0.5, posrange + 0.5, 0], ["z", 0, 0, posrange + 0.5 ] ), xtics = [negrange, 1, posrange], ytics = [negrange, 1, posrange], ztics = [negrange, 1, posrange], xaxis = false, xtics = false, yaxis = false, ytics = false, zaxis = false, ztics = false, xrange = [negrange - 1, posrange + 1], yrange = [negrange - 1, posrange + 1], zrange = [negrange - 1, posrange + 1] ]$ draw ( file_name = "quadrat", dimensions = [600,600], terminal = png, gr3d( points_joined = true, point_size = 5, points ([A, B, C, D, A]), user_preamble = ["set noborder"], koord ), gr3d( view = [44, 311], points_joined = true, point_size = 5, points ([A, B, C, D, A]), user_preamble = ["set noborder"], koord ) )$