La costura curva es el proceso de "coser" varias líneas rectas para crear una curva, de esta manera:
Para una explicación de la costura curva, visite este sitio web .
Dibujaremos nuestra curva en la esquina superior izquierda de la pantalla, como se muestra en la imagen de arriba.
Dado un número entero n
(a través de STDIN o un parámetro de función), que es el número de líneas para dibujar, y un número entero de p
píxeles, que es el intervalo entre los puntos de inicio, dibuja una curva de línea recta.
Las líneas horizontales / verticales son necesarias y deben ser parte del recuento de líneas.
Resultados de ejemplo:
n = 25, p = 15
n = 20, p = 20
Este es un desafío de código de golf , por lo que gana el código más corto .
code-golf
graphical-output
James Williams
fuente
fuente
Respuestas:
Mathematica,
555150476468 bytesDefine una función que produce la imagen como se especifica cuando se llama like
Flexible
Editar : tuve que agregar algunos caracteres para asegurarme de que el segundo parámetro se interpretara realmente como píxeles.
Editar : cuatro bytes más para trazar las líneas horizontales.
fuente
Python - 74
Como la pregunta no especifica unidades, escalas de ejes, etc., se me ocurre la siguiente solución mínima:
fuente
*p
;). Además, ¿estás seguro de que no estás agregando una línea horizontal y / o vertical? esos no están en las salidas de ejemplo. Finalmente, noté en el mío, que es más corto compensar la primera coordenada horizontalmente en lugar de la segunda (porque puedes guardar el-
y los paréntesis)Bash + Imagemagick + xview, 124 bytes
Salida para
./curvestitch.sh 25 15
:fuente
Perl
121130 bytesLa entrada es a través de
STDIN
. Los valores están separados por comas.EDITAR: Tenemos nuevas reglas. No estoy seguro de por qué, pero los dos primeros píxeles son invisibles y tuve que agregar un desplazamiento ...
Aquí hay algunas pruebas:
25x15:
6x72:
fuente
BBC Basic, 58 caracteres ascii, tamaño de archivo tokenizado 49
Descargue el emulador en http://www.bbcbasic.co.uk/bbcwin/bbcwin.html
p*=2
es necesario porque en el modo predeterminado, BBC Basic asigna un cuadrado lógico de 2x2 a un solo píxel físico.BBC Basic tiene el origen en la esquina inferior izquierda de la pantalla, con las coordenadas subiendo. En mi máquina, la ventana predeterminada tiene una coordenada y superior de 974 (la suya puede ser diferente). Se podrían guardar 7 caracteres si se permitiera trazar en la esquina inferior izquierda de la pantalla. Agregar
MODE16
después del primero:
cambiará el tamaño de la ventana para que la coordenada superior y se garantice que sea 799.fuente
HTML + JavaScript
155157183Editar: aprender qué cosas puedo cortar sin pérdida de funcionalidad
Editar 2: como lo sugiere @Optimizer
Violín Primer número de líneas de entrada, segundo intervalo de píxeles de entrada
Violín sin golf
fuente