Árvore Fractal
4 participantes
Página 1 de 1
Árvore Fractal
Estava procurando alguns códigos pra gerar fractais, e achei algo que pode deixar algumas pessoas se perguntando: "Mas como isso funciona?"
Só esclarecendo, não fui eu que fiz o código, o encontrei por acaso, resolvi testá-lo e realmente funciona.
Segue árvore fractal em PROLOG:
mágica do XPCE irá pular na sua frente com a árvore lindamente desenhada!
Só esclarecendo, não fui eu que fiz o código, o encontrei por acaso, resolvi testá-lo e realmente funciona.
Segue árvore fractal em PROLOG:
- Código:
fractal :-
new(D, window('Fractal')),
send(D, size, size(800, 600)),
drawTree(D, 400, 500, -90, 9),
send(D, open).
drawTree(_D, _X, _Y, _Angle, 0).
drawTree(D, X1, Y1, Angle, Depth) :-
X2 is X1 + cos(Angle * pi / 180.0) * Depth * 10.0,
Y2 is Y1 + sin(Angle * pi / 180.0) * Depth * 10.0,
new(Line, line(X1, Y1, X2, Y2, none)),
send(D, display, Line),
A1 is Angle - 30,
A2 is Angle + 30,
De is Depth - 1,
drawTree(D, X2, Y2, A1, De),
drawTree(D, X2, Y2, A2, De).
- Código:
?- emacs.
- Código:
?- fractal.
Mattioli- Moderador
- Mensagens : 37
Data de inscrição : 06/05/2011
Idade : 34
Localização : Prontera
Re: Árvore Fractal
Para quem curtiu o resultado e não entendeu nécas do que aconteceu, achei um código em HTML5 em conjunto com CANVAS que gera aparentemente o mesmo resultado, segue código:
- Código:
<html>
<body>
<canvas id="canvas" width="600" height="500"></canvas>
<script type="text/javascript">
var elem = document.getElementById('canvas');
var context = elem.getContext('2d');
context.fillStyle = '#000';
context.lineWidth = 1;
var deg_to_rad = Math.PI / 180.0;
var depth = 9;
function drawLine(x1, y1, x2, y2, brightness){
context.moveTo(x1, y1);
context.lineTo(x2, y2);
}
function drawTree(x1, y1, angle, depth){
if (depth != 0){
var x2 = x1 + (Math.cos(angle * deg_to_rad) * depth * 10.0);
var y2 = y1 + (Math.sin(angle * deg_to_rad) * depth * 10.0);
drawLine(x1, y1, x2, y2, depth);
drawTree(x2, y2, angle - 20, depth - 1);
drawTree(x2, y2, angle + 20, depth - 1);
}
}
context.beginPath();
drawTree(300, 500, -90, depth);
context.closePath();
context.stroke();
</script>
</body>
</html>
Mattioli- Moderador
- Mensagens : 37
Data de inscrição : 06/05/2011
Idade : 34
Localização : Prontera
Re: Árvore Fractal
Prolog you scare me!!!!
Acho que vale a explicação do que são fractais né?
Segundo a mãe wikipédia:
Um utilidade além de gerar imagens bonitas (gays):
Acho que vale a explicação do que são fractais né?
Segundo a mãe wikipédia:
Um fractal (anteriormente conhecido como curva monstro) é um objeto geométrico que pode ser dividido em partes, cada uma das quais semelhante ao objeto original. Diz-se que os fractais têm infinitos detalhes, são geralmente autossimilares e independem de escala. Em muitos casos um fractal pode ser gerado por um padrão repetido, tipicamente um processo recorrente ou iterativo.
Um utilidade além de gerar imagens bonitas
Os meteorologistas utilizam o cálculo fractal para verificar as turbulências da atmosfera incluindo dados como nuvens, montanhas, a própria turbulência, os litorais, e árvores. As técnicas fractais também estão sendo empregadas para a compactação de imagens através da compressão fractal, além das mais diversas disciplinas científicas que utilizam o processo.
PamNawi- Moderador
- Mensagens : 48
Data de inscrição : 06/05/2011
Idade : 33
Localização : Curitiba
Re: Árvore Fractal
Tem como postar uma screenshot do resultado?
Não tenho mais o Prolog instalado =/
Ele não é compatível com a versão do meu cérebro...
Não tenho mais o Prolog instalado =/
Ele não é compatível com a versão do meu cérebro...
N-Moya- Moderador
- Mensagens : 31
Data de inscrição : 06/05/2011
Idade : 33
Localização : Ponto de cruzamento de duas retas paralelas
Re: Árvore Fractal
N-Moya escreveu:Tem como postar uma screenshot do resultado?
Não tenho mais o Prolog instalado =/
Ele não é compatível com a versão do meu cérebro...
Esse povo que desinstalam tudo.
O resultado do algoritmo:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
PamNawi- Moderador
- Mensagens : 48
Data de inscrição : 06/05/2011
Idade : 33
Localização : Curitiba
Re: Árvore Fractal
Parecem brônquios. Informágica!
N-Moya- Moderador
- Mensagens : 31
Data de inscrição : 06/05/2011
Idade : 33
Localização : Ponto de cruzamento de duas retas paralelas
Re: Árvore Fractal
N-Moya escreveu:Parecem brônquios. Informágica!
Brônquios são representantes dos fractais...
PamNawi- Moderador
- Mensagens : 48
Data de inscrição : 06/05/2011
Idade : 33
Localização : Curitiba
Re: Árvore Fractal
PamNawi escreveu:N-Moya escreveu:Parecem brônquios. Informágica!
Brônquios são representantes dos fractais...
Ou Dendritos e Terminais do Axônio dos neurônios... =)
Segue imagem:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
(Imagem retirada do site: [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
São (respectivamente) os números 7 e 8.
Última edição por Mattioli em Ter maio 24, 2011 12:14 am, editado 1 vez(es)
Mattioli- Moderador
- Mensagens : 37
Data de inscrição : 06/05/2011
Idade : 34
Localização : Prontera
Re: Árvore Fractal
Prolog faz fractal
Neurônios são fractais.
Fazendo as deduções:
Logo,
Neurônios foram feitos em Prolog.
=]
logica++;
Neurônios são fractais.
Fazendo as deduções:
Logo,
Neurônios foram feitos em Prolog.
=]
logica++;
N-Moya- Moderador
- Mensagens : 31
Data de inscrição : 06/05/2011
Idade : 33
Localização : Ponto de cruzamento de duas retas paralelas
Re: Árvore Fractal
N-Moya escreveu:Prolog faz fractal
Neurônios são fractais.
Fazendo as deduções:
Logo,
Neurônios foram feitos em Prolog.
=]
logica++;
void BCC( Vestibulando aluno )
{
do
{
aluno.abstracao++;
aluno.realidade--;
}while( aluno.realidade>0 && aluno.formado == false );
formado ? free(aluno) : aluno.suicide();
}
BCC(&this);
ein, essa parada é do pibic de algum de vocês? nunca ouvi falar...
unclelobs- Calouro
- Mensagens : 9
Data de inscrição : 06/05/2011
Idade : 35
Localização : Cwb
Re: Árvore Fractal
unclelobs escreveu:N-Moya escreveu:Prolog faz fractal
Neurônios são fractais.
Fazendo as deduções:
Logo,
Neurônios foram feitos em Prolog.
=]
logica++;
void BCC( Vestibulando aluno )
{
do
{
aluno.abstracao++;
aluno.realidade--;
}while( aluno.realidade>0 && aluno.formado == false );
formado ? free(aluno) : aluno.suicide();
}
BCC(&this);
ein, essa parada é do pibic de algum de vocês? nunca ouvi falar...
Então apenas nerdices... nada de pibic ou algo do genero XD
PamNawi- Moderador
- Mensagens : 48
Data de inscrição : 06/05/2011
Idade : 33
Localização : Curitiba
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos