wiki-sierpinski-carpet.rs
577 B · rust · 19 lines
1use mrlycore::errors::Result;2use mrlyfig::{ink, save, Board, Grid};3use mrlymath::two::designs;45const CODE: u128 = 495;6const LEVEL: usize = 4;78fn main() -> Result<()> {9 let mut board = Board::square();10 let area = board.frame(0.08);11 let design = designs::create(CODE, 3, LEVEL, 0, 3)?;12 let side = design.width();13 assert_eq!(side, 81);14 assert_eq!(design.types().sum(), 4096);15 Grid::new(area, side, side, 0.0)16 .paint(&mut board, &design, |kind| (kind != 0).then_some(ink::blue()));17 save("wiki-sierpinski-carpet", &board)?;18 Ok(())19}