segunda-feira, 2 de julho de 2012

Como encontrar a equação de uma curva simples

Desenhar um gráfico no plano cartesiano é uma tarefa relativamente simples, pois em uma equação do tipo: y = f(x) basta encontrar o 'y' resolvendo a equação atribuindo-se valores para 'x' ( desde que satisfaça o domínio ) e com o par ( x e y ) marcar o ponto no plano cartesiano, fazendo isso n vezes e juntando os pontos teremos o aspecto visual de uma curva no plano.
Muito bem, já o contrário, ou seja, obter a equação a partir de uma curva, não é tão simples assim. Existem várias técnicas para se fazer isso e a técnica a ser usada também dependerá do tipo e complexidade da curva, por exemplo, se você deseja obter a equação de uma reta no plano, poderá fazer isso sem maiores problemas, pois usando-se a trigonometria com o auxílio da geometria é possível chegar à tal equação. Mas se a sua curva é um pouco mais complexa, você terá de usar alguma técnica mais sofisticada como séries de Fourier ou o método dos mínimos quadrados, ou outras inúmeras formas. Já se a sua curva não for nem tão simples, nem tão complexa assim, ou seja, se for algo parecido com uma parábola (figura 1), você poderá fazer uso da técnica que vou explicar aqui. Na verdade, quando terminei de escrever este post cheguei à um modelo que pode ser usado de forma bem simples, ou seja, vou explicar passo-a-passo como chegar ao modelo, mas se você precisar somente usar a fórmula a encontrará no final desse texto.


figura 1

Então vamos lá:
Digamos que você tenha uma curva desenhada no papel e precise de uma equação que represente esta curva.

1 - Mapeando os pontos:
Você terá de sobrepor o plano cartesiano à curva, ou seja, terá de desenhar o plano de maneira que consiga extrair valores dessa curva, pois sem o plano você tem uma curva solta no papel, um rabisco, e assim não pode contar valores para 'x' nem para 'y', ou seja, não encontrará pontos ( pares ordenados ) e sem pontos, sem calculo.
Essa tarefa pode ser feita facilmente usando-se uma régua e desenhando-se uma reta que represente a abscissa e outra que represente a ordenada. Você pode também fixar o valor zero ( encontro dos dois eixos ) deste plano no início da curva, assim um dos pontos já teria a coordenada A(0, 0) o que facilitaria o cálculo (figura 2).
Observe que neste exemplo estamos obtendo a equação de uma parte da curva, ou seja, em um intervalo, se você quiser obter a equação da curva toda, terá de repetir o processo em cada intervalo desde que ele se pareça com uma parábola e se enquadre nas condições descritas no primeiro parágrafo.


figura 2

Levantar um segundo ponto B que será o vértice da parábola ou também conhecida como o ponto máximo ou mínimo da curva, dependendo de sua concavidade. Este seria o ponto cuja a derivada da equação, caso a tivéssemos, seria zero, mas como não temos a equação, não podemos calcular a derivada.
Para se encontrar o vértice de uma parábola sem ter sua equação basta medir seu comprimento em 'x' e dividi-lo por 2, encontrará Bx. Depois encontrar o valor de 'y' para este Bx, assim terá By. Estas são as coordenadas de B(Bx, By).
Os pontos:
A(0, 0);
B(Bx, By);

No exemplo:
A(0, 0);
B(26, 15)



figura 3


figura 4

2 - Deslocando a curva:
O objetivo desta etapa é de deslocar a curva toda de forma que o vértice ( ponto B ) esteja posicionado no ponto zero do plano. Isso fará com que o coeficiente 'c' da equação polinomial de segundo grau seja eliminado dos cálculos, o que simplificará a tarefa.
Para se fazer isso siga as instruções a baixo:
A fim de manter a integridade da curva, ou seja, sua forma e relações, você terá de fazer as alterações cuidadosamente.
O ponto B que tem as coordenadas (Bx, By), passará a ter as coordenadas do ponto A que são (0, 0).
O ponto A que tem as coordenadas (0, 0), passará a ter as coordenadas do ponto -B que são (-Bx, -By).
Uma vez feito isso, todo e qualquer cálculo feito de agora em diante estará sobre estes novos pontos que chamaremos de A' (A linha) e B' (B linha).
Os novos pontos:
A'(-Bx, -By);
B'(0, 0);
No exemplo:
A'(-26, -15);
B'(0, 0);


figura 5

3 - Calculando o coeficiente 'a' da equação polinomial de segundo grau.
Sabemos que a forma geral de uma equação polinomial de segundo grau é: y = f(x) = ax² + bx + c, porém se as coordenadas do vértice forem Vx=0 e Vy=0, então c=0, ou seja, podemos eliminar o coeficiente 'c' assim a equação passa a ser mais simples e podemos representá-la da seguinte forma: y = f(x) = ax² + bx.
Se o vértice é Vx=0 e Vy=0 e o coeficiente c=0 e Vx = -b / 2a, então -b / 2a = 0. Sabendo que não há divisão por zero deduzimos que o coeficiente b=0.
Sendo c=0 e b=0, podemos usar o seguinte formato: y = f(x) = ax² para determinar o ponto A', pois o ponto A' pertence à curva.
Segue:
Montando a equação temos:
Agora no exemplo:
-15 = a(-26)²
a = -15 / 676
a = ~-0,02218934911
Montando a equação temos:
y = f(x) = ~-0,02218934911x²
Esta é a equação da curva cujos pontos pertencentes à ela são A' e B'.

4 - Deslocando a curva ao seu lugar de origem.
Isto significa introduzir valores para os coeficientes 'b' e/ou 'c' e para isso seguiremos os seguintes métodos.
Basta calcular o vértice para o ponto B e não mais para o ponto B'.
E fica:
B(26, 15);

, onde:
Vx = Bx = 26 e
a = A'y / A'x² = ~-0,02218934911

Então:
26 = -b / (2 * ~-0,02218934911)
desenvolvendo:
26 = -b / ~-0,04437869822
-b = ~-0,04437869822*26
-b = ~-1,15384615384
b = ~1,15384615384

Agora basta encontrar o valor do coeficiente 'c'.
O coeficiente 'c' representa onde a curva toca o eixo 'y' e neste caso a curva toca em y=0, ou seja, o valor do coeficiente 'c' continua sendo zero.
Sabendo os valores de 'a', 'b' e 'c' temos condições de escrever a nossa equação polinomial de segundo grau em sua forma geral, que fica:
y = f(x) = ~-0,02218934911x² + ~1,15384615384x + 0
e finalmente:
y = f(x) = ~-0,02218934911x² + ~1,15384615384x
Esta equação representa a curva que inicialmente havíamos desenhado no papel, mas que não tínhamos naquele momento sua equação.
A primeira coisa que fizemos foi julgar visualmente o aspecto da curva para identificamos com qual funções já conhecidas se parecia.
Percebemos que a curva se afeiçoava com um função polinomial do segundo grau, ou seja, alguma função polinomial do segundo grau poderia nos dar aquele gráfico.
Após isso começamos aplicar o método explanado.

Após este trabalho montei uma fórmula que faz tudo isso que tratamos acima de uma única vez:


Usando este modelo você não precisará fazer nada que explanamos acima, como deslocamento de curva e cálculos de vértice, etc.., exceto encontrar os pontos A e B ( não são necessários os pontos A' e B' ). Basta substituir os valores dos pontos na fórmula e deixar o 'X' ( maiúsculo ) indicado, pois ele será a variável independente na equação.
Exemplo:
Sendo os nosso pontos iniciais:
A(0, 0);
B(26, 15);

Fica:
y = f(X) = -ByX² / Bx² + 2ByX / Bx
y = f(X) = -15X²/26² + 2*15X/26
y = f(X) = -15X²/676 - 30X/26
y = f(X) = -~0,02218934911X² + ~1,15384615384X

Observe que o resultado é o mesmo do exemplo citado logo acima no desenvolvimento da fórmula.

Bom, espero que este post ajude a clarear os modelamentos das curvas e sirva de ferramenta de trabalho e estudo.. até mais..

segunda-feira, 10 de janeiro de 2011

Modelagem Matemática - Funções de 2˚ grau como Modelo Matemático

Resumo
     Desde que o pensamento existe, existe a relação numérica, ainda que intuitivamente. Com
a observação aos fenômenos da natureza e o aprimoramento do intelecto, o homem chegou ao
ponto de poder analisar coleções de dados de forma panorâmica, como o simples fato de se
observar um gráfico de função.
 
     A seguir iremos voltar nossas atenções às parábolas, cuja a função é de 2° grau. Faremos
algumas análises e observações sobre as tais.

Introdução
     Na natureza encontramos infinitas situações e por sua vez, várias formas de visualizar
estas situações matematicamente.
 
     Existem situações que representam desde funções de 1° grau, funções periódicas,
logarítmicas, exponenciais e outros tipos.
 
     Neste trabalho veremos as funções de 2° grau e extrairemos várias informações destas
funções.

Objetivo
     - Encontrar uma situação ou problema do cotidiano que possa ser representado por uma
função de 2° grau.

      - Esboçar o gráfico e explicar o que este modelo traduz para a realidade. 
     - Explicar o significado de todos os pontos importantes.

Procedimentos Executados:
     Imagine a situação em que um produto tenha saída somente em determinada época do
ano, como o panetone por exemplo. Esta situação poderia ser analisada caso conhecêssemos a
equação de seu comportamento, então imagine que esse comportamento seja descrito pela
equação:
 




     Bem, conforme nossa situação e análise desse modelo matemático, poderíamos dizer algumas
coisas sobre o evento.
 
     Poderíamos dizer que o eixo x é a representação do tempo em dias, onde são analisados
60 dias ( que é o Domínio de nossa função ) e o eixo y a quantidade de “panetones“ vendidos.
     Todos nós sabemos que à medida em que se aproxima o natal, aumentam-se as vendas de
panetone e a após este evento, as vendas tendem a baixar. A equação que resolvemos acima permite que possamos enxergar toda a trajetória da situação, ou seja, o início das vendas, o dia (ou alguns dias ) em que as vendas atingiram o seu máximo e o declínio das vendas até que elas se encerrem.

      Obviamente o ponto x=0 seria o ponto de partida das vendas e o ponto x=60 seria 60 dias
após o início das vendas ( o dia em que se vendeu o último panetone do período analisado ), já no
ponto x=30 seria o dia de maior saída, foram vendidas 150 unidades.
 
     No intervalo ( 0 < x < 30 ) as vendas aumentaram e no intervalo ( 30 < x < 60 ) as vendas declinaram.
      Nos pontos x<0 ou x>60 nós podemos falar sob 2 pontos de vista.
      1 – O ponto de vista real:
           Neste intervalos não havia venda alguma.
      2 – O ponto de vista puramente matemático: 
          Nestes intervalos, na função, existem pontos no eixo y, ou seja, existe imagem para todo o.
      Para fazermos com que esta função seja realmete um modelo de situação real temos que
estabelecer a condição de existência da função, ou seja, Dom e Im de f (x) , desta forma
unificamos os tópicos 1 e 2.





Bibliografia

Funções 2 ° Grau - Vértice e Imagem - TutorBrasil, 26/11/2010,

Equações do segundo grau - Ensino Fundamental, 26/11/2010,
<http://pessoal.sercomtel.com.br/matematica/fundam/eq2g/eq2g.htm>


Equação do 2º Grau - Brasil Escola, 26/11/2010,
<http://www.brasilescola.com/matematica/equacao-2-grau.htm>


Como calcular equação do segundo grau – Como Calcular, 26/11/2010,
<http://comocalcular.com.br/como-calcular/como-calcular-equacao-do-segundograu>

terça-feira, 16 de novembro de 2010

Modelagem Matemática - Funções de 1˚ grau como Modelo Matemático

Resumo
     Este trabalho se propõe a associar situações do cotidiano à funções de 1˚ grau, porém para isso será necessário que as situações aqui comentadas deem suporte à esse tipo de função, pois a mesma relaciona dois conjuntos numéricos envolvidos de forma uniforme e sem variação ao longo de seu desenvolvimento, ou seja, é representado como uma reta.
     Iremos selecionar 3 situações reais e expressá-las em forma de equação, feito isso iremos fazer algumas simulações e resolver as equações, extraindo tudo o que pudermos das tais funções.

Introdução
     Geralmente, em sala de aula, os exemplos do conteúdo que estamos aprendendo são situações próximas de nosso cotidiano, por exemplo: Em uma aula de cinemática, quando estamos estudando o MRU os exemplos mais utilizados são de um veículo que parte de um ponto A e segue até um ponto B em velocidade constante, então aprendemos a extrair várias informações desta situação. É claro que esses são excelentes, senão, os melhores exemplos para o aluno enxergar a situação com maior facilidade, mas todos nós sabemos que é praticamente impossível um veículo seguir com uma velocidade constante. Sei também que esta questão é considerada nas aulas por isso da velocidade média. Porém neste trabalho eu gostaria de trazer ao menos duas situações que realmente se comportem como uma função de 1˚ grau. É um pouco difícil trazer à memória, mas basta pensar um pouco e veremos inúmeras situações. Um bom exemplo é a velocidade da luz, uma aplicação muito prática e usual é a de se descobrir as distâncias entre os corpos celestes.

Objetivo
     Iremos trabalhar em 3 situações que pertençam à vida real da seguinte forma:
          Encontrar situações que se comportem como uma função de 1˚ grau;
          Equacionar estas situações;
          Submeter estas equações a alguns valores para simular e testar; Resolver as funções atribuindo alguns valores para x e por consequência para y;
          Encontrar o f(0);
          Desenhar o gráfico;
          Obter o Domínio / Imagem;
          Fazer o estudo dos sinais;
          Crescimento / Decrescimento da curva;
          Encontrar o zero da função;
Procedimentos Executados:
     Situações abordadas:
          Calcular o número de rotações de um HD em função do tempo;
          Conversão de graus Fahrenheit para Celsius;
          Conversão de radianos para graus;

Calcular o número de rotações de um HD em função do tempo
     Em um HD que gira a uma rotação de 7200RPM, sabemos que para cada 1 minuto o disco da 7200 voltas, logo para x minutos tenho y voltas que é a multiplicação de x minutos por 7200RPM.






 
 
Conversão de graus Fahrenheit para Celsius
     Tenho observado que conversões de unidades de medida geralmente se comporta como uma função de 1˚ grau, pois à medida que x varia, y acompanha a variação uniformemente.
     Neste exemplo vamos analisar uma escala de ˚C e outra de ˚F alinhada adequadamente, pois sabemos que 0˚C é igual a 32˚F


 
     Observando as escalas acima (˚C e ˚F), levantei alguns valores com o máximo de precisão possível e coloquei em forma de tabela (abaixo).
     Com os valores da tabela posso fazer o gráfico para visualizar curva e posso chegar ao coeficiente angular desta curva dividindo, exemplo:

Agora sei que o 0.5555 é apenas a inclinação da curva.
Colocando o y em evidência a função começa a aparecer.
, mas ainda está incompleta, porém olhando para a tabela vejo que ao atribuir x=32 obtenho y=0.

Agora só preciso subtrair 17.7777 na equação.

generalizando: 

 
Esta é a minha situação de conversão de graus Fahrenheit para Celsius equacionada.
Contextualizando: 

 
     Iremos atribuir algumas entradas para ˚C confirmar se a função está de acordo com as escalas apresentadas no inicio.





Conversão de radianos para graus
     Uma situação que nos deparamos com frequência nas aulas de trigonometria é a de calcularmos os valores dos arcos na circunferência trigonométrica.
     Por trabalharmos com duas unidade de medida (graus e radianos), geralmente temos de fazer conversões entre as tais.
     A dedução da relação vem emser equivalente a 180˚, daí temos uma proporção de 1 para 180˚ e fica:
, onde:
x é o valor que multiplica o( é referente aos radianos )
y é que queremos obter ( os graus ).
Isolando o y teremos:

 
, se simplificarmos teremos:

 
, para contextualizar a função diremos: 





Bibliografia

Temperatura - Wikipédia, a enciclopédia livre, 4/11/2010,
<http://pt.wikipedia.org/wiki/Temperatura>

Grau Celsius - Wikipédia, a enciclopédia livre, 4/11/2010,
<http://pt.wikipedia.org/wiki/Grau_Celsius>

Grau Fahrenheit - Wikipédia, a enciclopédia livre, 4/11/2010,
<http://pt.wikipedia.org/wiki/Grau_Celsius>

Sistemas de equações - Exatas, 4/11/2010,
<http://www.exatas.mat.br/sistemas.htm>

Vicente, Emanuelle L. e Sodré, Ulysses,
Ensino Médio: Sistemas Lineares - Sercomtel, 4/11/2010,
<http://pessoal.sercomtel.com.br/matematica/medio/matrizes/sistemas.htm>

segunda-feira, 8 de novembro de 2010

Modelagem Matemática - Introdução

O que é Modelagem Matemática?

    Modelagem matemática é a tradução de uma situação real para as relações numéricas, com o objetivo de se prever essa situação em uma escala não tangível, ou seja, simular um comportamento usando ferramentas matemáticas relacionadas de tal forma que seja possível obter dados aproximados aos reais caso esta situação fosse realmente executada. Às vezes estas situações são diferentes mas são regidas pelas mesmas filosofias.
    Existem diversas aplicações para a modelagem matemática, desde o controle de pragas na lavoura até a previsão meteorológica, ela pode ser usada para o estudo do comportamento de partículas sub-atômicas, mas também aparece em semelhança de triângulos, crescimento de cidades, trafego urbano, movimento da água, entre outros.
    Com o advento da informática e as tarefas sendo cada vez mais realizadas por máquinas, houve a necessidade de se estudar comportamentos para que os sistemas informáticos pudessem “tomar” decisões.
    Hoje a modelagem matemática tem sido uma grande aliada no ensino afim de despertar o raciocínio lógico, a criatividade e o senso crítico no aluno.


O que é um Modelo Matemático?

    Um modelo matemático, como o próprio nome já diz, é um modelo, um molde que representa determinada situação na natureza ou não, este molde é delimitado afim de “forçar” a situação em questão para que ela continue se comportando seguindo as mesmas proporções na qual foi deduzida.
    Um função matemática por ex.: é um modelo matemático, pois a imagem de f(x) será o reflexo das relações que “x” sofrerá no motor da função, ou seja, em seu interior. Por exemplo: f(x) = x + 3, a imagem será acrescida de 3 unidades para qualquer x є IR, isto “força” um comportamento, um padrão, uma proporção, estabelece uma regra, cria uma conexão entre “x” e “y” e esta conexão é efetuada pela “caixa-preta” da função cuja as regras internas são armações matemáticas coerentes.

Quais são as etapas necessárias para se estabelecer um modelo matemático?

    Penso que para se modelar uma situação é preciso observação à tal, é necessário registrar o formato da situação, digo isso em nível até mesmo geométrico, pois quando olho para algum objeto, acredito que, em meu cérebro, este objeto é gerado geometricamente para que eu possa entender o seu formato, suas delimitação geométricas, analogamente, uma situação também toma forma, ainda que em nível abstrato, até que eu possa perceber suas delimitações e definir este formato de modo mais compreensível, como uma sucessão de traduções até chegar à um nível alto o suficiente que possa ser escrito usando alguma linguagem que no caso são as relações numéricas com “n” variáveis que, se submetidas à alguns valores, deverá reconstruir ou simular a situação original.


Em poucas palavras, para se modelar uma situação o modelador deve:
    • observar a situação;
    • fazer um levantamento dos requisitos necessários para que esta situação ocorra;
    • montar um sistema matemático que represente esta situação;


Exemplos de Modelos Matemáticos:

    Na divisão 4/2, eu quero expressá-la em forma de multiplicação.

Entendendo a divisão:
    Tenho 4 unidade e quero separá-las em 2 grupos de quantidade iguais cada um, terei em cada grupo 2 unidades. Desta forma eu entendi o mecanismo da divisão, agora vou traduzi-lo para a multiplicação de forma a obter o mesmo resultado:
    • Tenho 4/2=2;
    • Escrevo no formato de multiplicação: 4x=2 => x=2/4 => x=0,5; então: 4*0,5=2
    • Testo outros valores pra constatar minha teoria e fazendo isso vou perceber que em todas as multiplicações que simulam a divisão o meu “x” está dentro do intervalo de 0 à 1, daí posso extrair uma função:
d(n,x)=n*x
Dom n = {n є IR}
Dom x = {x є IR / 0 <= x <= 1}
Im d(n,x) = {y є IR}

    Claro que este é um exemplo simples em que eu modelei uma situação matemática para outra. O grande desafio está em fazer isso com situações reais, mapear suas diversas variáveis e condições afim de formar um sistema.
    Tenho alguns exemplos dos quais já tenho observado e outros que cruzaram meu caminho neste curso.
    Nesses dias, nas aulas de trigonometria, tivemos alguns exercícios onde tínhamos de calcular o ângulo formado pelos ponteiros de um relógio analógico.
ex.: 4h43 (quatro horas e quarenta e três minutos)
    Estudando os passos para chegar ao resultado deste e de outros semelhantes a este, observei que o algoritmo era o mesmo, então montei uma função em que entro com a hora e o minuto e ela me retorna o ângulo em graus.



a°(h,m) = | 30h – 5,5m |
Dom h = {h є IN / 0 <= h <= 11}
Dom m = {m є IN / 0 <= m <= 59}
Im a° = {a° є IR / 5,5° <= a° <= 330°}


    Um outro exemplo que vou colocar aqui é uma situação um tanto inútil, mas curiosa, aliás, várias descobertas importantes do passado foram baseadas em observações inicialmente desprezíveis.
    A alguns anos, olhando para um CD, reparei que a parte onde há algo gravado fica visualmente destacada em relação ao restante do disco devido o fechamento dos micro orifícios ( sulcos ) que o laser provoca, então resolvi medir os raios das circunferências externa e interna do CD e da marcação que continha a informação salva, calculei a área de destas circunferências e cheguei à quantidade de megabytes usados no disco.
Ad – Ai = CT
Au – Ai = U
onde:
Ad: Área do disco
Ai: Área inútil
Au: Área útil
CT: Capacidade Total (MB)
U: Usado (MB)

então:
U = CT(Au – Ai) / (Ad – Ai)

terça-feira, 22 de junho de 2010

Flex e Java usando BlazeDS


Boas pessoal..
Em aplicações web feitas em Flex é muito comum o uso de uma camada intermediária que possa acessar o sistema ou uma base de dados, o que tenho visto pr aí é o uso do PHP como esta camada intermediária, eu mesmo uso em projetos atuais o PHP, mas em certa ocasião tive de usar o Java, pois a base era Informix, então assim como o AMFPHP faz é a ponte entre o Flex e o PHP, o BlazeDs faz entre o Flex e o Java.
Neste post daremos coordenadas mais exutas possível.
Será assim:
Daremos as instruções iniciais, a implementação ( ou modelo do código ) e um exemplo.
Então vamos lá.


Preparando o Ambiente:

• Instalar o TomCat (presente no pacote de instalação do NetBeans)
• Criar uma pasta do projeto na pasta [@tomcat/webapps/]
• Descompactar o blazeds.war na pasta [@tomcat/webapps/[projeto]/]
• Editar o arquivo [@tomcat/webapps/[projeto]/WEB-INF/flex/remoting-config.xml]
implementação:

<destination id="[id destination]">
    <properties><source>[package].[class]</source></properties>
</destination>
onde:
id destination
        Este id será enxergado pelo Flex no atributo [destination@RemoteObject]
package
        Nome do Pacote da classe no Lado JAVA
class
        Nome da Class no Lado JAVA
ex.:

<destination id="dest_id">
    <properties><source>Pjava.Valores</source></properties>
</destination>


Lado FLEX:

• Criar um novo projeto.
• Instanciar o objeto RemoteObject.
implementação:

<mx:RemoteObject id="[identificador]"
    endpoint="http://[servidor]:[porta]/[pasta do projeto]/messagebroker/amf"
    destination="[id destination]"
    showBusyCursor="true"
    fault="[caso falhar]"
    result="[caso sucesso]"/>
onde:
identificador        identificador do objeto RemoteObject
servidor
        nome ou IP do servidor
porta
        porta em que está o serviço do TomCat
id destination    →
    Este é o id da tag destination no arquivo:
@tomcat/webapps/[projeto]/WEB-INF/flex/remoting-config.xml
caso falhar
    →    O evento é disparado quando ocorre alguma falha na transação
caso sucesso
    →    O evento é disparado quando a transação é bem sucedida, a classe [event] trás o resultado no atributo [result].
implementação:    event.result
ex.:

<mx:RemoteObject id="rm"
    endpoint="http://localhost:8080/meuprojeto/messagebroker/amf"
    destination="dest_id"
    showBusyCursor="true"
    fault="Alert.show('Falha na transação')"
    result="{Alert.show(event.result.toString())}"/>
• Envocar o RemoteObject.
implementação:

<mx:[objeto] click="{ identificador.atributo@Java }"/>
onde:
objeto
    →    Objeto do Flex
identificador
    →    O ID do RemoteObject
atributo@Java
    →    Atributo, Método ou evento no Lado JAVA
ex.:

<mx:Button click="{rm.getValor()}"/>
• Compilar o projeto


Lado JAVA:

• Criar um novo projeto.
• Criar uma nova classe (esta classe é chamada pelo destination)
• Criar atributos, métodos ou eventos de acordo com a necessidade
implementação:

public String [atributo]    =    [valor];
    public String [método]() {
    return [valor];
}
onde:
atributo
    →    Nome do atributo (Este deve ser o nome chamado no objeto de envocação no Lado FLEX)
método
    →    Nome do método    (Este deve ser o nome chamado no objeto de envocação no Lado FLEX)
valor
    →    Valor que será retornado ao Flex
ex. de método:

public String getValor(){
    return "meu valor";
}
• Compilar o projeto


Ainda no Ambiente:

• Copiar o conteúdo da pasta [[projeto flex]/bin-debug/] para a pasta [@tomcat/webapps/[projeto]/]
• Copiar as os arquivos *.class do projeto JAVA para a pasta [@tomcat/webapps/[projeto]/WEB-INF/class/]


Executando:

• Acessar url: [http://[servidor]:[porta]/webapps/[projeto]/[flex].html]


Diagrama:

Muito bem pessoal, está aí mais um post, aproveitem.
Até o próximo...

Flex: Passando eventos entre Custom Components

Olá pessoal.
Estamos aí pra dar continuidade ao post de como comunicar eventos entre componentes customizados do Flex.

Vou deixar abaixo o ambiente padrão para iniciarmos o tutorial.

Apresentando uma situação:
Digamos que você tenha em seu projeto dois Custom Components, o CC1 ( um Slider e um Label ) e o outro, CC2, seria um teclado formado por 6 botões numéricos, um botão para o "Ok", um Label que exibe o valor do botão numérico pressionado e um botão para limpar o Label... ok..
Abaixo estão os dois Custom Components:




Implementação: Passando eventos
Este caso é um pouco menos comum, mas pode ser útil, então vamos lá.

Imagine que teríamos a necessidade de que quando o usuário passar o mouse sobre algum número do CC2 o Slider do CC1 tenha que ficar com a cor de fundo diferente e quando o mouse sair de sobre o número o Slider volte à cor de origem. Neste caso faremos com que os Custom Components se conversem diretamente.
Vamos chamar o CC2 de componente enviador de evento, se é que essa palavra existe..rs, e o CC1 de receptor de evento, pois já que o CC2 irá controlar a cor de fundo do Slider do CC1, podemos dizer que o CC2 envia e o CC1 recebe.

Vamos ver o código do Custom Components CC2:

Código CC2:


No código CC2 pegamos como exemplo somente um Botão, mas a idéia se aplica a qualquer objeto que quisermos.
Repare que no evento mouseOver do Botão será chamada a função "__envia_cor_fundo_slider_over ()" ( linha 34 ), essa função ( linhas 20 a 22 ) faz com que seja disparado um evento de nome "cor_fundo_slider_over", este evento pode ter qualquer nome, então procure dar nomes que sejam facilmente associados ao tipo de ação que está executando.  Quando esta função é executada a classe principal poderá "escutá-la" e após isso qualquer outra classe envolvida no projeto poderá validar se a classe principal "ouviu" o evento com o nome pré-definido e executar qualquer ação.

Vamos ver o código do CC1 que está apto a "ouvir" o que o componente CC2 está enviando.

Código CC1:


Da linha 12 a 16 temos declarada a função "__recebe__cor_fundo_slider_over ()", repare que adicionamos a função "addEventListener( NOME DO EVENTO, FUNÇÃO () { ... } )", esta função é a responsável por ficar verificando ou "ouvindo" o evento que a classe principal receberá, mas para chegarmos à classe principal precisamos adicional antes da função a classe "Application" e o método "application" como já explicamos no post anterior. Resumindo: caso o mouse passe por cima do Botão no CC2, este enviará para a classe principal um evento personalizado chamado neste exemplo de "cor_fundo_slider_over", por outro lado a função "addEventListener" do CC1 ficará verificando na classe principal se este evento chegou lá, acontecendo isso a função anônima será disparada e no nosso caso ela está mudando a cor de fundo do slider. Não esquecendo que a função "__recebe__cor_fundo_slider_over()" deve ser chamada no inicio do programa ( linhas 3 a 6 ).

Abaixo está o programa:



Aí está, espero que seja útil, até o próximo post.