AsciiWriter/sinus.py: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
< | <onlyinclude> | ||
[[File:Sinus-output.png]] | [[File:Sinus-output.png]] | ||
Line 39: | Line 39: | ||
# Print the result | # Print the result | ||
print_lines(merged) | print_lines(merged) | ||
</syntaxhighlight> | </syntaxhighlight></onlyinclude> | ||
</ | |||
==Links== | ==Links== |
Latest revision as of 15:53, 7 April 2023
sinus.py
from asciiWriter.patterns import sinus_vertical
from asciiWriter.utils import make_lines, visit, print_lines, merge
from asciiWriter.marks import sentence, space
# Define width and height of the output
width = 70
height = 25
# As we draw multiple sinoids we will collect
# them in a list of layers
layers = []
# Loop through a range of X, X in steps of X
# (the amount of loops is the amount of layers)
for x in range(-50, 50, 5):
# Set the pattern with the changing offset
pattern = sinus_vertical(period=10, amplitude=40, offset=x)
# We use a sentence to draw the text
mark = sentence('▚▒▓▞')
# Define a blank character
blank = space('░')
# Make the canvas
lines = make_lines(width, height)
# Draw the sinoid, but add it to the list
result = visit(lines, pattern, mark, blank)
# Add it the result to the list of layers
layers.append(result)
# Merge the layers into one layer again
merged = merge(width, height, blank(), layers)
# Print the result
print_lines(merged)