Advertisement
Guest User

Untitled

a guest
Aug 13th, 2014
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.60 KB | None | 0 0
  1.     def pointsOnCube(radius: Float, segments: Int): Seq[(Float, Float, Float)] = {
  2.       val mult = radius / segments
  3.  
  4.       def getCoordinates(f: (Float, Float, Float) => (Float, Float, Float)) = {
  5.         for {
  6.           d <- Array(-1, 1)
  7.           a <- -segments to segments
  8.           b <- -segments to segments
  9.         } yield f(d, a, b)
  10.       }
  11.  
  12.       Seq(
  13.         getCoordinates { case(x, y, z) => (x*radius, y*mult, z*mult) },
  14.         getCoordinates { case(y, x, z) => (x*mult, y*radius, z*mult) },
  15.         getCoordinates { case(z, x, y) => (x*mult, y*mult, z*radius) }
  16.       ).flatten
  17.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement