mirror of
https://github.com/Haskell-Things/ImplicitCAD.git
synced 2024-09-11 04:55:41 +03:00
be a little more explicit, and use applicative more.
This commit is contained in:
parent
57784d24fe
commit
8528cc416f
@ -1,7 +1,9 @@
|
||||
-- Example 17, pulled from our benchmarking suite.
|
||||
import Prelude ((<$>), ($), zip3, fmap, fromIntegral, (*), (/))
|
||||
import Graphics.Implicit (union, translate, rect3R, writeSTL)
|
||||
import Graphics.Implicit.Definitions (Fastℕ, ℝ, ℝ3, SymbolicObj3)
|
||||
|
||||
|
||||
default (Fastℕ, ℝ)
|
||||
|
||||
object2 :: SymbolicObj3
|
||||
@ -10,12 +12,13 @@ object2 = squarePipe (10,10,10) 1 100
|
||||
squarePipe :: ℝ3 -> ℝ -> ℝ -> SymbolicObj3
|
||||
squarePipe (x,y,z) diameter precision =
|
||||
union
|
||||
$ fmap (\start-> translate start
|
||||
$ ((\start-> translate start
|
||||
$ rect3R 0 (0,0,0) (diameter,diameter,diameter)
|
||||
)
|
||||
$ zip3 (fmap (\n->(fromIntegral n/precision)*x) [0..100])
|
||||
<$>
|
||||
zip3 (fmap (\n->(fromIntegral n/precision)*x) [0..100])
|
||||
(fmap (\n->(fromIntegral n/precision)*y) [0..100])
|
||||
(fmap (\n->(fromIntegral n/precision)*z) [0..100])
|
||||
(fmap (\n->(fromIntegral n/precision)*z) [0..100]))
|
||||
|
||||
main = writeSTL 1 "example17.stl" object2
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user