Desafio:
Desenhe Sri Yantra .
Como:
Existem diferentes maneiras de desenhá-lo. Todos incluem muitos passos. Se você acha que pode desenhá-lo sem seguir as etapas vinculadas, role para os elementos que você deve ter no seu desenho .
Etapas completas podem ser encontradas aqui:
http://www.saralhindi.com/Shri_Yantra/makingsky14steps_eng.htm
( Eu não os copiei aqui porque se tornaria uma pergunta muito longa , aqui está o espelho do archieve.org, caso o primeiro link caia )
A imagem final deve se parecer com a imagem abaixo:
Deve ter:
Basicamente, qualquer método de desenho de sua escolha seria uma resposta válida, desde que você mantenha os elementos mais importantes
O número de triângulos deve ter o mesmo número da figura acima (43 triângulos menores resultaram do entrelaçamento dos 9 triângulos maiores)
Essas interseções triplas são respeitadas:
As pontas dos triângulos para cima tocam as bases dos 4 triângulos para baixo e as pontas dos triângulos para baixo devem tocar as bases dos 3 triângulos para cima, como mostra a figura abaixo.
O círculo interno (bindu) é concêntrico com o círculo externo.
As pontas (vértices) dos triângulos maiores devem tocar o círculo externo:
A imagem final deve ter todos os elementos e geralmente deve se parecer com:
A cor deve ser aproximadamente a mesma da imagem acima para cada elemento (incluindo pétalas).
A forma das pétalas deve preferencialmente se parecer com a imagem abaixo, mas também pode ser apenas semicírculos ou uma simples seção de arco do círculo:
Não há restrições estritas de proporção para os círculos ou o tamanho dos portões, mas o círculo mais externo deve ter o diâmetro não inferior a 90% do lado do quadrado externo, os outros elementos seriam dispostos respectivamente em relação a essas proporções.
Linguagens de programação e resultados
Não há restrições à linguagem de programação nem ao formato do resultado (pode ser uma imagem vetorial, imagem de bitmap, tela etc.), desde que o resultado seja relativamente claro e discernível (pelo menos 800px X 800px)
Última edição: Não existe um método perfeito de desenho, pois este blog os explora muito bem: http://fotthewuk.livejournal.com/ Levando isso em consideração, pequenas falhas serão toleradas.
Nesse ponto, é um exercício interessante descobrir que é muito provável que não exista uma solução perfeita, como a quadratura do círculo.
fonte
Respostas:
Mathematica -
28362536 caracteresFoi um pouco estonteante descobrir os combos de regiões que disponibilizam pequenos triângulos para colorir.
A moldura
Os objetos de quadro são desigualdades que descrevem como regiões. Por exemplo, as vieiras vermelha e amarela são duas regiões de círculos.
Depois, há um disco para ocultar alguns círculos que foram usados para fazer a vieira.
The Innards
Algumas definições de vértices e triângulos. Cada triângulo, t1, t2, ... é uma região distinta. As operações lógicas (
RegionUnion
.RegionIntersection
ERegionDifference
) em triângulos grandes são usadas para definir células triangulares menores como regiões derivadas que podem ser coloridas individualmente.Juntando as peças
Golfe
fonte
Delphi [Trabalho em andamento]
Este é realmente difícil ..
Até agora tudo o que tenho é o círculo interno com triângulos e meu código é enorme.
Ainda não contei os personagens, sei que posso economizar muito em espaços em branco etc.
Começar com
Eu criei uma classe TD T é um prefixo de classe padrão não obrigatório, mas facilita ver a classe, D significa Draw.
Eu também fiz um
TP
tipo, não, já que são minhas iniciais, mas é mais curto do queTPoint
e imaginei que usaria muitos pontos.A propriedade
C
é o ponto central da tela.procedimentos:
StartDrawing
(ainda a ser renomeado) dispara todas as funções de desenho para mim.tr
faz com que todos os triângulos no círculo (incluindo o próprio círculo)ft
colore todos os triângulos.Também fiz constantes para verdadeiro e falso, deslocamento e tamanho do círculo.
Funções e procedimentos
Q
retornará o ponto onde 2 linhas cruzam / cruzam.Existem muitas funções / procedimentos aninhados. Não tenho vontade de explicar todas, mas se você se pergunta o que algo sempre pode perguntar.
Aula completa
Resultado até agora: (Sim, eu sei que as linhas não são perfeitas em todos os lugares. Não é possível encontrar o problema :()
Não sei por que, mas os triângulos não mostram seus contornos. Eles fazem no meu bmp salvo.
fonte