Eh!
Wissen Sie, das Problem bei uns Kanadiern ist, dass wir manchmal nach einem langen Tag der Elchjagd und Dammreparatur den Weg zurück zu unseren Hütten vergessen! Wäre es nicht großartig, wenn unser handlicher Laptop (der immer an unserer Seite ist) eine Möglichkeit hätte, uns nach Hause zu bringen? Nun, es ist schon lange gesagt worden, dass ein Kompass, der auf Ihrem Computer angezeigt wird, am hellsten ist, wenn er nach Norden zeigt. Ich würde das gerne testen, aber ich brauche ein kompaktes Programm, das ich auf meiner nächsten Reise mitnehmen kann, da meine Festplatte bereits mit Ahornsirup-Rezepten gefüllt ist (und diese NICHT gehen können). Ihre Aufgabe ist es also, mir ein Programm zu entwerfen, das beim Ausführen ein Bild der folgenden Kompassrose speichert oder anzeigt:
Die Buchstaben können eine andere Schriftart haben. Denken Sie daran, am wenigsten ist am besten, also gewinnt die niedrigste Byteanzahl!
Spezifikationen
Farben
- Hellviolett: # 9999FF
- Grau: # E5E5E5
Längen und Winkel
- Winkel
a
= 45 ° - Winkel
b
= 90 ° - Länge
c
= 250 Einheiten - Länge
d
= 200 Einheiten - Länge
e
= 40 Einheiten - Länge
f
= 45 Einheiten
Klarstellungen
- Der Text kann in einer beliebigen geeigneten Schriftart vorliegen, wobei dies bedeutet, dass er für den durchschnittlichen, gebildeten Menschen lesbar ist.
- Der Text muss an der nächsten Stelle 3 Einheiten von den Spitzen entfernt sein, darf die Rose nicht berühren und muss aufrecht sein
- Wenn eine Linie von der Mitte der Rose durch den Endpunkt der Spitze und darüber hinaus gezogen wird, sollte sie die Mitte des Textes mit einer Genauigkeit von +/- 2 Einheiten kreuzen (der Text muss entlang einer Achse zentriert sein)
a
. woa
erstreckt sich von der Mitte der Seite, bis zum Ende der Spitze und darüber hinaus) - Jedes Zeichen muss mindestens 15 mal 15 Einheiten groß sein und ein x / y- oder y / x-Verhältnis von nicht mehr als 2: 1 haben (keine Dehnung - Lesbarkeit).
- Der dunkle Kreis, der durch die längeren Spitzen und den Text verläuft, der der Mitte des Referenzbilds am nächsten liegt, darf nicht gezeichnet werden.
- Das Bild muss quadratisch und mindestens 400 x 400 Pixel groß sein
- Ein komprimiertes Bild in der Quelle ist nicht zulässig
- Eine Einheit muss mindestens 1 Pixel groß sein
quelle
Antworten:
HTML + CSS, 487 + 189 = 676
Die Kompassrose wird aus CSS-Rändern unter Verwendung der Dreieckstechnik und einiger grundlegender Transformationen konstruiert . Die Buchstaben haben nur feste Positionen, so dass es ziemlich lang wurde: /
Das Snippet unten ist so verkleinert, dass alles passt. Sie können die JSFiddle hier überprüfen . Ich bin mir auch nicht sicher, wie gut die Buchstaben in verschiedenen Browsern (mit verschiedenen Schriftarten, Standardstilen usw.) ausgerichtet sind.
quelle
Verarbeitung 2 - 636
Eine schnelle Lösung, bei der nur alle Dreiecke mithilfe der Verarbeitungsdreieckmethode gezeichnet und die Buchstaben an den Spitzen platziert werden.
Sie können erhalten die Verarbeitung hier
quelle
PHP, 628 Bytes
Der Einfachheit halber wurden einige Zeilenumbrüche hinzugefügt.
Laufen Sie mit
-r
. Erstellt eine Datein.png
mit dem Bild. Einheit ist 2 Pixel.Ich muss zugeben, dass ich durch Versuch und Irrtum die Koordinaten für die Winde gefunden habe, und sie sind wahrscheinlich ein bisschen daneben. Werde die Berechnungen bald machen; aber ich verspreche: sie werden die Byteanzahl nicht ändern.
Hatte jetzt meinen Spaß daran, meine Trignonometrie auszuheben und damit zu kämpfen
imagecopy
... was für eine Sissy!zum Golfen: nicht viele Tricks; aber diese wenigen haben viel gespart:
Ich habe nicht einmal gezählt, bevor ich die Funktionsnamen ersetzt habe.
+
Operator ergab 42 Bytes.Nervenzusammenbruch
quelle
R
877850813Ich vermute, es gibt viel Platz zum Golfen, aber ich wollte etwas auf die Beine stellen, um zu sehen, ob ich es geschafft habe, die Regeln einzuhalten.
Bearbeiten: Einige Aufräumarbeiten rund um die Polygonerstellung verloren, einige Umrisse entfernt
Dies erzeugt das folgende PNG-Bild
Eine kleine Erklärung dessen, was ich tue
quelle
Mathematica, 347 Bytes
Pregolfed:
N
undE
(Basis des natürlichen Protokolls) sind beide in Mathematica integriert, aber wenn Text E in eine Kleinbuchstabenschrift umgewandelt wird, die Sie im Bild sehen, sagt das Problem nicht ganz, dass wir nur eine Schriftart für den gesamten Text verwenden können. Wenn dies erforderlich ist, ersetzen SieE
durch"E"
und ich erhalte zwei Bytes.Sqrt[2]
in Mathematica kann in zwei Zeichen stilisiert werden. Wenn wir also jeweilsSqrt[2]
zwei Zeichen zählen, beträgt meine neue Byteanzahl 339 anstelle von 349.Das Bild unten wird erzeugt.
quelle