sunburst.rs 557 B

123456789101112131415161718192021222324
  1. extern crate gunpowder_treason as gt;
  2. extern crate rand;
  3. fn main() {
  4. let (w, h) = (8.5, 11.0);
  5. let mut drawing = gt::svg(w, h);
  6. let rs = (0u64..100)
  7. .scan((0u64, 5.5f64), |(_, s), x: u64| {
  8. Some((x, *s + (rand::random::<f64>() * 0.5) - 0.25))
  9. });
  10. for (x, r) in rs {
  11. let xn = 0.8 + (x as f64 * (8.5 - 1.6)) / 100.0;
  12. drawing.add(
  13. gt::line(xn, 0.8).to(xn, r - 0.8)
  14. );
  15. drawing.add(
  16. gt::line(xn, 10.2).to(xn, r + 0.8)
  17. );
  18. }
  19. drawing.to_stdout();
  20. }