Jump to content

Sierpinski square curve: Difference between revisions

m
Minor edit
(Added Rust solution)
m (Minor edit)
Line 426:
let theta = (PI * self.current_angle as f64) / 180.0;
self.current_x += self.line_length * theta.cos();
self.current_y -+= self.line_length * theta.sin();
data.line_to((self.current_x, self.current_y))
}
Line 432:
self.current_angle = (self.current_angle + angle) % 360;
}
fn save(file : &str, size : usize, length : f64, order : usize) -> std::io::Result<()> {
use svg::node::element::Rectangle;
let x = 315(size as f64 - length)/2.0;
let y = 630.0length;
let rect = Rectangle::new()
.set("width", "100%")
.set("height", "100%")
.set("fill", "white");
let mut hilberts = SierpinskiSquareCurve::new(x, y, 5.0length, 0);
let document = svg::Document::new()
.set("width", size)
.set("height", size)
.add(rect)
.add(hilberts.execute(order));
svg::save(file, &document)
}
Line 451:
 
fn main() {
SierpinskiSquareCurve::save("sierpinski_square_curve.svg", 635, 5.0, 5).unwrap();
}</lang>
 
1,777

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.