Eh!
Você sabe, o problema conosco, canadenses, é que, às vezes, depois de um longo dia de caça e reparação de alces, esquecemos o caminho de volta para nossas cabines! Não seria ótimo se o nosso prático laptop (que sempre está ao nosso lado) tivesse alguma maneira de nos levar para casa? Bem, há muito tempo se diz que, se você exibir uma bússola no seu computador, será a mais brilhante quando apontada para o norte. Gostaria de testar isso, mas preciso de um programa compacto para levar comigo na minha próxima viagem, porque meu disco rígido já está cheio de receitas de xarope de bordo (e elas NÃO PODEM ir). Portanto, sua tarefa é projetar para mim um programa que, quando executado, salva ou exibe uma imagem da seguinte rosa dos ventos:
As letras podem estar em uma fonte diferente. Lembre-se, o mínimo é o melhor; portanto, a contagem de bytes mais baixa vence!
Especificações
Cores
- Roxo claro: # 9999FF
- Gray: # E5E5E5
Comprimentos e ângulos
- Ângulo
a
= 45 ° - Ângulo
b
= 90 ° - Comprimento
c
= 250 unidades - Comprimento
d
= 200 unidades - Comprimento
e
= 40 unidades - Comprimento
f
= 45 unidades
Esclarecimentos
- O texto pode estar em qualquer fonte apropriada , onde apropriado denota que é legível para o ser humano médio e educado.
- O texto deve estar a 3 unidades dos espigões no ponto mais próximo, não deve tocar a rosa e deve estar na vertical
- Se uma linha é traçada do centro da rosa, até o ponto final da haste e além, ela deve atravessar o centro do texto com uma precisão de +/- 2 unidades (o texto deve estar centralizado ao longo de um eixo
a
, sea
estende do meio da página, até o final do pico e além) - Cada caractere deve ter pelo menos 15 unidades por 15 unidades e ter uma relação x / y ou y / x não superior a 2: 1 (sem alongamento - legibilidade)
- O círculo escuro que passa pelos picos mais longos e o texto mais próximo do meio na imagem de referência não deve ser desenhado.
- A imagem deve ser quadrada e ter pelo menos 400 por 400 pixels
- Uma imagem compactada na fonte não é permitida
- Uma unidade deve ter pelo menos 1 pixel
fonte
Respostas:
HTML + CSS, 487 + 189 = 676
A rosa dos ventos é construída a partir de bordas CSS usando a técnica do triângulo e algumas transformações básicas. As letras recebem apenas posições fixas, o que resultou bastante longo: /
O trecho abaixo é reduzido para que tudo se encaixe. Você pode conferir o JSFiddle aqui . Além disso, não tenho certeza de quão bem as letras serão alinhadas em diferentes navegadores (com fontes diferentes, estilos padrão etc.).
fonte
Processando 2 - 636
Uma solução rápida que desenha todos os triângulos usando o método do triângulo de processamento e coloca as letras nas pontas.
você pode obter o processamento aqui
fonte
PHP, 628 bytes
adicionou algumas quebras de linha por conveniência.
Corra com
-r
. Cria um arquivon.png
com a imagem; unidade é de 2 pixels.Devo admitir que encontrei as cordas dos ventos por tentativa e erro, e elas provavelmente estão um pouco erradas. Fará os cálculos em breve; mas eu prometo: eles não vão mudar a contagem de bytes.
Me diverti por agora escavar minha trignonometria e lutar com
imagecopy
... que maricas!no golfe: não há muitos truques; mas esses poucos pouparam muito:
Eu nem contei antes de substituir os nomes das funções.
+
operador da matriz deu 42 bytes.demolir
fonte
R,
877850813Suspeito de ter muito espaço para jogar golfe, mas queria criar algo para ver se conseguia cumprir as regras.
Edit: Perdeu algumas limpezas ao redor da criação do polígono, ganhou alguns contornos de remoção
Isso produz a seguinte imagem png
Um pouco de explicação do que estou fazendo
fonte
Mathematica, 347 bytes
Pré -olfo:
N
eE
(base do log natural) são integrados no Mathematica, mas à medida que o texto E é estilizado em uma fonte minúscula que você vê na imagem, o problema não diz exatamente que podemos usar apenas uma fonte para todo o texto. Se isso for um requisito, substituaE
por"E"
e ganho dois bytes.Sqrt[2]
no Mathematica pode ser estilizado em dois caracteres, portanto, se contarmos cada umSqrt[2]
como dois caracteres, minha nova contagem de bytes será 339 em vez de 349.A imagem abaixo é produzida.
fonte