Toda letra "cuadrada" cabe dentro de un rectángulo de ancho a y alto b (con b > a).
Primero aprendemos a dibujar ese rectángulo guía, luego usamos a y b para calcular
puntos internos (como 3b/5) y así trazar la letra — sin curvas, solo líneas rectas.
Definimos un punto de partida A = (0,0) y avanzamos como la tortuga: A → B → C → D → A.
El ancho del recorrido es a y el alto es b. Mové los controles y presioná “Reproducir” para ver
cómo la tortuga traza el contorno.
Orden de recorrido: A(0,0) → B(a,0) → C(a,b) → D(0,b) → A
Una vez que sabemos trazar el rectángulo, la letra se arma reutilizando sus 4 lados y agregando
una o dos barras internas cuya posición se calcula en función de a y b — igual que
d = (3*b)/5 en el script de letra_a. A esto lo llamamos "segmentos", como en un
display de calculadora: combinando 7 segmentos posibles se pueden formar muchas letras sin usar curvas.
dd de la barra media es una fracción de b, distinta para cada letra (ej: d = 3b/5 para la A, d = b/2 para la H o la E).| Letra | Segmentos usados | Altura de la barra media (d) |
|---|---|---|
| A | T · TL · TR · M · BL · BR | d = 3b/5 |
| H | TL · TR · M · BL · BR | d = b/2 |
| E | T · TL · M · BL · B | d = b/2 |
| T | T · barra central vertical | — |
| O | T · TL · TR · BL · BR · B | — (es el rectángulo completo) |
Así se ve tu script original para la letra A — el bloque negro dibuja el
rectángulo guía y el bloque azul agrega la barra media saltando con teleport:
Hasta acá siempre arrancamos a dibujar en el origen (0,0). Pero forward, left y
right son instrucciones relativas: mueven a la tortuga según hacia dónde está mirando,
no según una coordenada fija del plano. Por eso, si antes de dibujar hacemos teleport(x₀, y₀),
la misma secuencia de giros y avances traza exactamente la misma letra — solo que apoyada sobre el
punto (x₀, y₀) en vez de (0,0). Esta idea es la que nos va a permitir, más abajo, escribir una palabra
completa.
El único lugar donde sí necesitamos una coordenada
absoluta es en los saltos internos de teleport (como el de la barra media): ahí alcanza con
sumarle el offset (x₀, y₀) a la posición local que ya veníamos calculando en el paso 2.
| A0 = (x₀, y₀) | B0 = (x₀+a, y₀) |
| C0 = (x₀+a, y₀+b) | D0 = (x₀, y₀+b) |
| ML = (x₀, y₀+d) | MR = (x₀+a, y₀+d) |
a y b quedan fijos (70 y 140) para que se note claramente que solo se mueve el punto de apoyo de la letra.
Para escribir una palabra, cada letra ocupa una
"casilla" de ancho a más un espacio en blanco. Si la primera letra arranca en
x₀, la letra número i (empezando en 0) arranca en:
Es la versión "calculada" de lo que tu script
hace a mano con teleport(100,0) y teleport(200,0): ahí 100 y 200 son, en los hechos,
múltiplos de a + espacio escritos como números fijos en vez de una fórmula.
Elegí una letra y los mismos valores de a y b que usaste en el paso 1 generan automáticamente
su recorrido con forward, left, right y teleport.
Las líneas punteadas muestran los saltos de teleport (lápiz arriba, sin dibujar).
Igual que tu script llama tres veces a letra_a y usa teleport(100,0),
teleport(200,0) para separarlas, acá encadenamos varias letras del set disponible
(A C E F H I L O T U) usando la fórmula
xi = x₀ + i·(a+espacio) del paso anterior.