Herausforderung:
Zeichne Sri Yantra .
Wie man:
Es gibt verschiedene Möglichkeiten, es zu zeichnen. Alle enthalten viele Schritte. Wenn Sie glauben, dass Sie es zeichnen können, ohne die verknüpften Schritte zu befolgen, scrollen Sie unten zu den Elementen, die Sie in Ihrer Zeichnung haben müssen .
Komplette Schritte finden Sie hier:
http://www.saralhindi.com/Shri_Yantra/makingsky14steps_eng.htm
( Ich habe sie hier nicht kopiert, weil es eine sehr lange Frage werden würde. Hier ist der Spiegel von archieve.org, falls der erste Link jemals ausfällt. )
Das endgültige Bild sollte wie folgt aussehen:
Haben müssen:
Grundsätzlich wäre jede Zeichnungsmethode Ihrer Wahl eine gültige Antwort, vorausgesetzt, Sie behalten die wichtigsten Elemente bei
Die Anzahl der Dreiecke sollte mit der Anzahl im obigen Bild übereinstimmen (43 kleinere Dreiecke resultierten aus der Verflechtung der größeren 9 Dreiecke).
Diese dreifachen Kreuzungen werden respektiert:
Die Spitzen der Aufwärtsdreiecke berühren die Basen der 4 Abwärtsdreiecke, und die Spitzen der Abwärtsdreiecke sollten die Basen der 3 Aufwärtsdreiecke berühren, wie in der folgenden Abbildung gezeigt.
Der innere Kreis (Bindu) ist konzentrisch zum äußeren Kreis.
Die Spitzen (Eckpunkte) der größeren Dreiecke sollten den äußeren Kreis berühren:
Das endgültige Bild sollte alle Elemente enthalten und im Allgemeinen wie folgt aussehen:
Die Farbe sollte für jedes Element (einschließlich der Blütenblätter) ungefähr der obigen Abbildung entsprechen.
Die Form der Blütenblätter sollte vorzugsweise ungefähr so aussehen wie im Bild unten, kann aber auch nur ein Halbkreis oder ein einfacher Kreisbogen sein:
Es gibt keine strengen Proportionsbeschränkungen für die Kreise oder die Größe der Tore, aber der äußerste Kreis sollte einen Durchmesser von mindestens 90% der Seite des äußeren Quadrats haben, die anderen Elemente würden jeweils relativ zu diesen Proportionen angeordnet.
Programmiersprachen und Ergebnisse
Es gibt keine Einschränkung hinsichtlich der Programmiersprache oder des Formats des Ergebnisses (es kann sich entweder um ein Vektorbild, ein Bitmap-Bild, eine Leinwand usw. handeln), vorausgesetzt, das Ergebnis ist relativ klar und erkennbar (mindestens 800 x 800 Pixel).
Letztere Bearbeitung: Es gibt keine perfekte Methode zum Zeichnen, da dieser Blog sie so gut untersucht: http://fotthewuk.livejournal.com/ Unter Berücksichtigung dieser Tatsache werden kleinere Fehler toleriert.
An diesem Punkt ist es eine interessante Übung zu lernen, dass es sehr wahrscheinlich ist, dass es keine perfekte Lösung gibt, ähnlich wie beim Quadrieren des Kreises.
quelle
Antworten:
Mathematica -
28362536 ZeichenEs war ein bisschen schwindelerregend, die Kombinationen von Regionen herauszufinden, die kleine Dreiecke zum Färben zur Verfügung stellen.
Der Rahmen
Die Rahmenobjekte sind Ungleichungen, die als Regionen beschrieben werden. ZB sind die roten und gelben Muscheln zwei Bereiche von Kreisen.
Dann gibt es eine Scheibe, um einige Kreise zu verbergen, die verwendet wurden, um die Jakobsmuschel zu machen.
Die Innereien
Einige Definitionen von Eckpunkten und Dreiecken. Jedes Dreieck t1, t2, ... ist eine eigene Region. Logische Operationen (
RegionUnion
.RegionIntersection
, UndRegionDifference
) an großen Dreiecken werden verwendet, um kleinere dreieckige Zellen als abgeleitete Bereiche zu definieren, die einzeln gefärbt werden können.Teile zusammenfügen
Golf gespielt
quelle
Delphi [In Arbeit]
Dieser ist wirklich schwer.
Bisher habe ich nur den inneren Kreis mit den Dreiecken und mein Code ist riesig.
Ich habe die Charaktere noch nicht gezählt, ich weiß, dass ich viel auf Leerzeichen usw. sparen kann.
Zunächst
Ich habe eine Klasse TD T gemacht ist ein Standardklassenpräfix, das nicht obligatorisch ist, aber es macht es einfach zu sehen, dass es eine Klasse ist, D steht für Draw.
Ich habe auch einen
TP
Typ gemacht, nein, nicht weil sie meine Initialen sind, sondern kürzer alsTPoint
und ich dachte, ich würde viele Punkte verwenden.Eigenschaft
C
ist der Mittelpunkt der Leinwand.Prozeduren:
StartDrawing
(muss noch umbenannt werden) löst alle Zeichenfunktionen für mich aus.tr
Wenn alle Dreiecke im Kreis (einschließlich des Kreises selbst)ft
alle Dreiecke färben.Ich habe auch einige Konstanten für wahr und falsch, Versatz und die Größe des Kreises gemacht.
Funktionen und Verfahren
Q
gibt den Punkt zurück, an dem sich 2 Linien kreuzen / schneiden.Es gibt viele verschachtelte Funktionen / Prozeduren. Ich habe keine Lust, sie alle zu erklären, aber wenn Sie sich fragen, was etwas tut, können Sie immer fragen.
Komplette Klasse
Bisheriges Ergebnis: (Ja, ich weiß, dass Linien nicht überall perfekt sind. Kann das Problem nicht finden :() Ich weiß nicht
warum, aber die Dreiecke zeigen nicht ihre Umrisse. Sie tun es jedoch auf meinem gespeicherten BMP.
quelle