Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
37
Task/Pythagoras-tree/Nim/pythagoras-tree.nim
Normal file
37
Task/Pythagoras-tree/Nim/pythagoras-tree.nim
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
import imageman
|
||||
|
||||
const
|
||||
Width = 1920
|
||||
Height = 1080
|
||||
MaxDepth = 10
|
||||
Color = ColorRGBU([byte 0, 255, 0])
|
||||
|
||||
|
||||
proc drawTree(img: var Image; x1, y1, x2, y2: int; depth: Natural) =
|
||||
|
||||
if depth == 0: return
|
||||
|
||||
let
|
||||
dx = x2 - x1
|
||||
dy = y1 - y2
|
||||
x3 = x2 - dy
|
||||
y3 = y2 - dx
|
||||
x4 = x1 - dy
|
||||
y4 = y1 - dx
|
||||
x5 = x4 + (dx - dy) div 2
|
||||
y5 = y4 - (dx + dy) div 2
|
||||
|
||||
# Draw square.
|
||||
img.drawPolyline(true, Color, (x1, y1), (x2, y2), (x3, y3), (x4, y4))
|
||||
|
||||
# Draw triangle.
|
||||
img.drawPolyline(true, Color, (x3, y3), (x4, y4), (x5, y5))
|
||||
|
||||
# Next level.
|
||||
img.drawTree(x4, y4, x5, y5, depth - 1)
|
||||
img.drawTree(x5, y5, x3, y3, depth - 1)
|
||||
|
||||
|
||||
var image = initImage[ColorRGBU](Width, Height)
|
||||
image.drawTree(int(Width / 2.3), Height - 1, int(Width / 1.8), Height - 1, MaxDepth)
|
||||
image.savePNG("pythagoras_tree.png", compression = 9)
|
||||
Loading…
Add table
Add a link
Reference in a new issue