# Genera docs/calle.svg: una calle corta vista en diagonal. De cada portal sale
# gente que avanza hacia la calzada (presencias abstractas, a la manera de Suso33).
# Arriba no hay pisos: la fachada se desvanece, y la calle también hacia la derecha.
import sys, random, math
random.seed(26)
OUT = sys.argv[1]
W, H = 1600, 700
VX, VY, F, EYE = 1150, 210, 520, 1.6 # punto de fuga a la derecha, focal, ojo a 1,6 m
FX, KX = -5.0, -2.6 # fachada y bordillo (m)
INK, ORA = "#111", "#f04e23"
o = []
add = o.append
def P(X, Yh, Z): # Yh = altura sobre el suelo
return VX + X * F / Z, VY + (EYE - Yh) * F / Z
def pts(*ps):
return " ".join(f"{x:.1f},{y:.1f}" for x, y in ps)
def brush(a, b, w, n=4, col=INK, op=.9):
for _ in range(n):
j = lambda: random.uniform(-w, w) * .35
add(f'')
HV = 570 # se recorta el suelo vacío de abajo
add(f'')
open(OUT, "w").write("\n".join(o))
print(f"{len(gente)} presencias", file=sys.stderr)