diff options
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua')
-rw-r--r-- | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua new file mode 100644 index 0000000000..96d6eee1fc --- /dev/null +++ b/macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_vector.lua @@ -0,0 +1,39 @@ +-- tkz_elements_vectors.lua +-- date 23/12/03 +-- version 1.40c +-- Copyright 2023 Alain Matthes +-- This work may be distributed and/or modified under the +-- conditions of the LaTeX Project Public License, either version 1.3 +-- of this license or (at your option) any later version. +-- The latest version of this license is in +-- http://www.latex-project.org/lppl.txt +-- and version 1.3 or later is part of all distributions of LaTeX +-- version 2005/12/01 or later. +-- This work has the LPPL maintenance status “maintained”. +-- The Current Maintainer of this work is Alain Matthes. + +-- ---------------------------------------------------------------------------- +vector = {} +function vector: new(z1, z2) + local type = 'vector' + local norm = point.abs(z2-z1) + local o = {st = z1, + ed = z2, + norm = norm, + type = type } + setmetatable(o, self) + self.__index = self + return o +end + +function vector: normalize () + local z = self.ed-self.st + local d = point.abs(z) + local nz = point(z.re/d,z.im/d) + return nz + self.st +end + + function vector: add (v) + return vector :new (self.st+v.st, self.ed,v.ed) + end +return vector |