Skip to content

Instantly share code, notes, and snippets.

@alex-hhh
Created June 19, 2024 11:16
Show Gist options
  • Save alex-hhh/c48d577046a1f4095669b3473d8180a4 to your computer and use it in GitHub Desktop.
Save alex-hhh/c48d577046a1f4095669b3473d8180a4 to your computer and use it in GitHub Desktop.
#lang racket/gui
(require plot)
(define voxel-model2
(vector
(vector
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f)
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f)
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f))
(vector
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f))
(vector
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #t #t #t #f) ;
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f))
(vector
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #t #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f))
(vector
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #t #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f))
(vector
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #t #t #t #f) ;
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f))
(vector
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #t #f #f #f #f #f #f #t #f #f #f #f)
(vector #f #f #t #t #t #t #t #t #f #f #f #f #f)
(vector #f #f #f #f #f #f #f #f #f #f #f #f #f))))
(define (voxel-model->plot-rectangles vm)
(for/list ([(zs z) (in-indexed vm)] #:when zs
[(ys y) (in-indexed zs)] #:when ys
[(xs x) (in-indexed ys)] #:when xs)
(vector (ivl x (add1 x))
(ivl y (add1 y))
(ivl z (add1 z)))))
(plot-new-window? #t)
(plot3d (rectangles3d (voxel-model->plot-rectangles voxel-model2)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment