Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. module Main where
  2.  
  3. import Prelude ((>>=), ($), negate, (+), (*))
  4. import Control.Monad.Eff (Eff)
  5. import Data.List (List(..), (:))
  6. import Data.Maybe (Maybe(..))
  7. import Math as Math
  8. import Prim as P
  9.  
  10. import Mathbox.Classes as C
  11. import Mathbox.Field
  12. import Mathbox.Mathbox
  13. import Mathbox.Types
  14.  
  15. mathbox :: MathboxPrimitive
  16. mathbox =
  17. (Cartesian $ C.mkCartesian { range = Val [mkVec2 (-1) 1, mkVec2 (-1) 1, mkVec2 (-1) 1], scale = Val (mkVec3 1 1 1) }) (
  18. (Camera $ C.mkCamera { lookAt = Just (Val (mkVec3 0 0 0)), position = Just (Fun (\t -> [(-3.0) * Math.cos(t) + 1.0, 0.4 * Math.cos(t * 0.381) + 1.0, (-3.0) * Math.sin(t) + 1.0])) }) :
  19. ((Transform3 $ C.mkTransform3 { position = Val [0.0, 0.5, 0.0] })
  20. ((Grid $ C.mkGrid { axes = Val $ mkSwizzle1 [1, 3], width = Val 2.0, color = Val $ unsafeMkColor "#b0b0b0", depth = Val 0.5 }) : Nil)
  21. ) :
  22. ((Transform3 $ C.mkTransform3 { position = Val [0.0, -0.5, 0.0] })
  23. ((Grid $ C.mkGrid { axes = Val $ mkSwizzle1 [1, 3], width = Val 2.0, color = Val $ unsafeMkColor "#2fff90", depth = Val 0.5 }) : Nil)
  24. ) :
  25. Nil
  26. )
  27.  
  28. main :: forall t. Eff ( mathbox :: MATHBOX | t ) Mathbox
  29. main = do
  30. mkMathbox { plugins: ["core"] } >>=
  31. applyOnThree (setThreeClearColor colorWhite 1.0) >>=
  32. set { scale: Just 720.0, focus: Just 1.0 } >>=
  33. add (toJs mathbox)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement