DIM zero3d(2) 'some example vectors zero3d(0) = 0!: zero3d(1) = 0!: zero3d(2) = 0! DIM zero5d(4) zero5d(0) = 0!: zero5d(1) = 0!: zero5d(2) = 0!: zero5d(3) = 0!: zero5d(4) = 0! DIM x(2): x(0) = 1!: x(1) = 0!: x(2) = 0! DIM y(2): y(0) = 0!: y(1) = 1!: y(2) = 0! DIM z(2): z(0) = 0!: z(1) = 0!: z(2) = 1! DIM q(2): q(0) = 1!: q(1) = 1!: q(2) = 3.14159 DIM r(2): r(0) = -1!: r(1) = 2.618033989#: r(2) = 3! PRINT " q dot r = "; dot(q(), r()) PRINT " zero3d dot zero5d = "; dot(zero3d(), zero5d()) PRINT " zero3d dot x = "; dot(zero3d(), x()) PRINT " z dot z = "; dot(z(), z()) PRINT " y dot z = "; dot(y(), z()) FUNCTION dot (a(), b()) IF UBOUND(a) <> UBOUND(b) THEN dot = 0 dp = 0! FOR i = 0 TO UBOUND(a) dp = dp + (a(i) * b(i)) NEXT i dot = dp END FUNCTION