component Triangles; use Points; type Triangle; Triangle ( Point, Point, Point ) -> Triangle; Translate ( Triangle, NewOrigin = Point ) -> Triangle; Scale ( Triangle, Factor = real ) -> Triangle; Rotate ( Triangle, Angle = real ) -> Triangle; begin Triangle(P1,P2,P3) = Triangle:[ P1; P2; P3 ]; Translate(T,P) = Triangle( Translate( T.P1, P ), Translate( T.P2, P ), Translate( T.P3, P )); Scale(T,f) = Triangle( Scale( T.P1, f ), Scale( T.P2, f ), Scale( T.P3, f )); Rotate(T,a) = Triangle( Rotate( T.P1, a ), Rotate( T.P2, a ), Rotate( T.P3, a )); end component Triangles;