- p1 + p2 = (x1+x2, y1+y2, z1+z2)
- where
- x1 = x_coord p1
- x2 = x_coord p2
- y1 = y_coord p1
- y2 = y_coord p2
- z1 = z_coord p1
- z2 = z_coord p2
-
- p1 - p2 = (x1-x2, y1-y2, z1-z2)
- where
- x1 = x_coord p1
- x2 = x_coord p2
- y1 = y_coord p1
- y2 = y_coord p2
- z1 = z_coord p1
- z2 = z_coord p2
-
- p1 * p2 = (x1*x2, y1*y2, z1*z2)
- where
- x1 = x_coord p1
- x2 = x_coord p2
- y1 = y_coord p1
- y2 = y_coord p2
- z1 = z_coord p1
- z2 = z_coord p2
-
- abs (x, y, z) = (abs x, abs y, abs z)
- signum (x, y, z) = (signum x, signum y, signum z)
- fromInteger n = (fromInteger n, fromInteger n, fromInteger n)
+ (Point x1 y1 z1) + (Point x2 y2 z2) = Point (x1+x2) (y1+y2) (z1+z2)
+ (Point x1 y1 z1) - (Point x2 y2 z2) = Point (x1-x2) (y1-y2) (z1-z2)
+ (Point x1 y1 z1) * (Point x2 y2 z2) = Point (x1*x2) (y1*y2) (z1*z2)
+ abs (Point x y z) = Point (abs x) (abs y) (abs z)
+ signum (Point x y z) = Point (signum x) (signum y) (signum z)
+ fromInteger n =
+ Point coord coord coord
+ where
+ coord = fromInteger n