[Lógica] Posição dos pontos em um plano cartesiano.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por Willy em Sex 01 Abr 2011, 17:40

Estou desenvolvendo um programa no Game Maker para a minha escola. O programa serve para fazer operações relacionadas a um triangulo (Distancia entre os pontos, calcular a área, baricentro, ponto médio, etc.).
Para usar o programa, deve-se colocar os valores em A, B e C, atribuindo os valores para x e y.
A=(0,2)
B=(5,-2)
C=(4,4)

Representado no gráfico, isto deveria ficar assim:
Agora que vem o problema, neste gráfico, os pontos ficam posicionados de forma correta, mas apenas se os valores forem entre -6 e 6. Se eu colocar um valor superior a estes (25, por exemplo), o desenho do gráfico extrapola, ficando ruim:
O que eu quero, é uma lógica matemática para que eu possa ajustar o gráfico dentro desse espaço. Exemplo: Se for 25, ao invés de desenhar “1,2,3,4,5” desenhar “5,10,15,20,25” e ajustar os gráficos nas coordenadas.

Aguardo por respostas, obrigado.
blz

[EDIT]
Clique aqui para baixar a versão BETA.


Última edição por Willy em Sex 01 Abr 2011, 19:18, editado 1 vez(es) (Razão : BETA)

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por Math Maker em Sex 01 Abr 2011, 18:03

Basta ir dividindo o espaço por 3, 5 etc. Até obter um número satisfatório, mas você quer saber como adaptar o triângulo? Por que se não é questão de um loop ou escalas que fiquem legal (como você usando a de 5, que não cobre 6 e sim 5).

Math Maker

Número de Mensagens : 107
Idade : 21
Data de inscrição : 26/02/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por Willy em Sex 01 Abr 2011, 18:14

Dividir foi a primeira coisa que eu pensei. Eu use as funções min e max para saber o maior e o menor valor, e então, fazer a divisão. Não sei se foi erro meu, mas não deu certo.
Sim, o que eu quero é ajustar o triângulo, de forma que caibam dentro do grafico. A unica coisa que não pode acontecer é mudar o tamanho das linhas x e y.
Obrigado.
blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por .:Allison:. em Sex 01 Abr 2011, 18:57

sei láh, vc poderia fazer assim, esse plano cartesiano, é uma sprite, num é ?, desenha ele todo em GML e os números vc troca, tipo

if triangulo >=25
{
numy="-27,-24,-21,-18,-15,0,15,18,21,24,57"
numx="//aqui vc sabe oq fazer"
}

para desenhar é fácil, bas vc ver alguns tutoriais de draw aqui na GMBR.

.:Allison:.

Ranking : Nota B
Número de Mensagens : 630
Idade : 19
Data de inscrição : 25/07/2010
Notas recebidas : B
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://clubmaker.forumeiros.com

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por Math Maker em Sex 01 Abr 2011, 19:07

Para isto basta usar uma escala, por exemplo, você desenha todo o seu plano cartesiano com a unidade de 60, ou seja, você usa 10 para distanciar cada ponto. Se você transforma isso numa escala de 5 em 5, você terá 5, 10, 15, 20, 25, 30. Nesse ponto você dividiu o espaço também, ou seja, 1 ponto que você usa para desenhar será equivalente a 0.2 agora, como 5 ponto serão equivalentes a 1 ponto. Basta adaptar os valores na funções de desenho. Não sei se essa era sua dúvida, todos os casos estamos aí.

Math Maker

Número de Mensagens : 107
Idade : 21
Data de inscrição : 26/02/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por Willy em Sex 01 Abr 2011, 19:17

X-Games:
O triangulo não é um sprite. É feito por draw.
Ele liga todos os pontos que você define.
Para melhor compreensão, vou disponiilizar o download do beta.

Math Maker:
É isso mesmo que eu quero fazer. No momento eu não posso testar porque não estou em casa agora, mas trouxe comigo o meu executavel.

Clique aqui para baixar a versão BETA.

Aguardo por respostas.
blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por .:Allison:. em Sex 01 Abr 2011, 19:41

não, o triangulo, o plano, os numeros e tals.

.:Allison:.

Ranking : Nota B
Número de Mensagens : 630
Idade : 19
Data de inscrição : 25/07/2010
Notas recebidas : B
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://clubmaker.forumeiros.com

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por Willy em Sex 01 Abr 2011, 19:59

Não tem nenhum sprite no projeto, é tudo feito em draw. =P
Aproposito, eu esqueci de citar que se deve apertar enter para inserir os valores.
Obrigado.
blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por Math Maker em Sex 01 Abr 2011, 20:00

Certo, agora não entendi, é um executável (com o problema que você citou), não da para analisar. De todas as formas, qual é a dúvida ou dificuldade afinal de contas? É com a escala para desenhar, o plano? Agora estou confuso.

Math Maker

Número de Mensagens : 107
Idade : 21
Data de inscrição : 26/02/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por Willy em Sex 01 Abr 2011, 20:17

Abra o executavel e coloque valores como 17, 25, 30... Você vai entender perfeitamente o que eu quero.
Quero que tudo se ajuste dentro do grafico, ou seja, que nenhum ponto fique para fora das linhas.

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por Math Maker em Sex 01 Abr 2011, 20:27

Certo, mas você tentou a escala? Não deu certo? Por que eu vi aqui o erro:

Math Maker escreveu:Certo, agora não entendi, é um executável (com o problema que você citou)

Se você quer que o triângulo se auto-adapte, você tem que usar a escala que você deseja, o multiplicador comum (como o eterno 5). E dividir as medidas que o usuário passou por este valor e programar para estes valores serem desenhados (junto a um novo plano). Esta ideia não deu certo? Se não deu (que seria bem extranho) fala ai que eu tento formular alguma outra coisa.

Math Maker

Número de Mensagens : 107
Idade : 21
Data de inscrição : 26/02/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por recri em Sex 01 Abr 2011, 22:09

Cara com a sua duvida n posso ajudar mais se precisar urgentemente para a escola existe esse programa que a minha escola usa que eh otimo:
http://www.baixaki.com.br/download/geogebra.htm

recri

Número de Mensagens : 88
Data de inscrição : 30/12/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por ricaun em Sex 01 Abr 2011, 22:17

Opa!

Bem legal o que vc esta fazendo, bem o Math Maker falo mas não mostro, olhe e tente entender o que foi proposto.

Código:
//
// escala(valor,escala)
//
return argument0/argument1

Ahh que code idiota vc deve estar falando!!
Mas suponho que vc quer uma escala automatica vc pode pegar o maior valor em módulo e dividir por 6 e aredondar para cima. Assim vai ter um escala boa que nunca vai passa o 6,12,18...

Um code tipo assimm...
Código:
 esc = ceil(max(abs(x1),abs(x2),abs(x3),abs(y1),abs(y2),abs(y3)) / 6 )

E pronto fica bunitinho! Ficando assim o triangulo...
Código:
draw_triangle(escala(x1,esc),escala(y1,esc),
escala(x2,esc),escala(y2,esc),escala(x3,esc),escala(y3,esc),outline)

Acho que seja algo assim q vc quer, olhe e diga!

Té.

ricaun

Número de Mensagens : 169
Idade : 27
Data de inscrição : 23/09/2008
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por Willy em Sab 02 Abr 2011, 01:58

Galera, agradeço muito a ajuda de todos vocês, principalmente ao Math Maker e ao ricaun. Infelizmente o problema não foi e nem sera resolvido.
Para "ajustar" no grafico, até seria possivel, mas imagine que tenha esses valores:
A (4,16)
B (120,-9)
C (-5,7)
Se reajustar esses valores num grafico daquele, quase não daria pra notar os pontos A e C de tão pequenos que eles ficariam, isso acontece porque o valor X de B é muito alto, o que deixaria o grafico muito estranho.
Percebi isso quando baixei o programa que o recri citou acima, o grafico é infinito, tudo o que tem que fazer é mover a tela com o mouse.

Vou fazer um sistema parecido com o do programa, agora so falta pensar em como, mas é claro, isso ja é outra historia...

Mais uma vez, obrigado a todos.
O tópico ja pode ser trancado.
blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Lógica] Posição dos pontos em um plano cartesiano.

Mensagem por Conteúdo patrocinado Hoje à(s) 01:57


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum