Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
46
Task/Pythagoras-tree/Sidef/pythagoras-tree.sidef
Normal file
46
Task/Pythagoras-tree/Sidef/pythagoras-tree.sidef
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
require('Imager')
|
||||
|
||||
func tree(img, x1, y1, x2, y2, depth) {
|
||||
|
||||
depth <= 0 && return()
|
||||
|
||||
var dx = (x2 - x1)
|
||||
var dy = (y1 - y2)
|
||||
|
||||
var x3 = (x2 - dy)
|
||||
var y3 = (y2 - dx)
|
||||
var x4 = (x1 - dy)
|
||||
var y4 = (y1 - dx)
|
||||
var x5 = (x4 + 0.5*(dx - dy))
|
||||
var y5 = (y4 - 0.5*(dx + dy))
|
||||
|
||||
# square
|
||||
img.polygon(
|
||||
points => [
|
||||
[x1, y1],
|
||||
[x2, y2],
|
||||
[x3, y3],
|
||||
[x4, y4],
|
||||
],
|
||||
color => [0, 255/depth, 0],
|
||||
)
|
||||
|
||||
# triangle
|
||||
img.polygon(
|
||||
points => [
|
||||
[x3, y3],
|
||||
[x4, y4],
|
||||
[x5, y5],
|
||||
],
|
||||
color => [0, 255/depth, 0],
|
||||
)
|
||||
|
||||
tree(img, x4, y4, x5, y5, depth - 1)
|
||||
tree(img, x5, y5, x3, y3, depth - 1)
|
||||
}
|
||||
|
||||
var (width=1920, height=1080)
|
||||
var img = %O<Imager>.new(xsize => width, ysize => height)
|
||||
img.box(filled => 1, color => 'white')
|
||||
tree(img, width/2.3, height, width/1.8, height, 10)
|
||||
img.write(file => 'pythagoras_tree.png')
|
||||
Loading…
Add table
Add a link
Reference in a new issue