Guest User

Untitled

a guest
Feb 18th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. open System.IO
  2. open System.Drawing
  3.  
  4. type Vector = { X: int; Y: int; Z: int }
  5.  
  6. type Sphere = { Center: Vector; Radius: int }
  7.  
  8. let intersect v s =
  9. let x0, y0, z0 = float(v.X), float(v.Y), float(v.Z)
  10. let x1, y1, z1 = float(s.Center.X), float(s.Center.Y), float(s.Center.Z)
  11. sqrt(pown(x0 - x1) 2 + pown(y0 - y1) 2 + pown(z0 - z1) 2) < float(s.Radius)
  12.  
  13. let sphere = { Center = { X = 127; Y = 127; Z = 127 }; Radius = 127 }
  14.  
  15. let bitmap = new Bitmap(256, 256)
  16.  
  17. for x in 0 .. 255 do
  18. for y in 0 .. 255 do
  19. for z in 0 .. 255 do
  20. if intersect { X = x; Y = y; Z = z } sphere then
  21. bitmap.SetPixel(x, y, Color.FromArgb(z, 0, 0, 255))
  22.  
  23. bitmap.Save(Path.Combine(__SOURCE_DIRECTORY__, "bitmap.png"))
Add Comment
Please, Sign In to add comment