Conectar-se
Quem está conectado
26 usuários online :: 3 usuários cadastrados, Nenhum Invisível e 23 Visitantes

rafaelviodres1, Tedi Ripper, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1833
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

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

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)
avatar
Data de inscrição : 26/02/2011
Número de Mensagens : 107
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

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).
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1833
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

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

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
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 25/07/2010
Número de Mensagens : 630
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuáriohttp://clubmaker.forumeiros.com

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

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.
avatar
Data de inscrição : 26/02/2011
Número de Mensagens : 107
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

em Sex 01 Abr 2011, 19:07
Reputação da mensagem: 100% (1 votos)
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í.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1833
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

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

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
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 25/07/2010
Número de Mensagens : 630
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuáriohttp://clubmaker.forumeiros.com

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

em Sex 01 Abr 2011, 19:41
não, o triangulo, o plano, os numeros e tals.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1833
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

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

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
avatar
Data de inscrição : 26/02/2011
Número de Mensagens : 107
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

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.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1833
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

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

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.
avatar
Data de inscrição : 26/02/2011
Número de Mensagens : 107
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

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.
avatar
Data de inscrição : 30/12/2010
Número de Mensagens : 88
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

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

em Sex 01 Abr 2011, 22:09
Reputação da mensagem: 0% (1 votos)
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
avatar
Data de inscrição : 23/09/2008
Número de Mensagens : 169
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuário

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

em Sex 01 Abr 2011, 22:17
Reputação da mensagem: 100% (1 votos)
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é.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1833
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

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

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
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum