paulo1205
(usa Ubuntu)
Enviado em 26/06/2014 - 03:41h
Você é o mesmo cara da pergunta da parábola. Pelo visto arranjou uma implementação do que quer em Java.
Meu caro, você vai ter mais dificuldade traduzindo do Java do que fazendo por conta própria diretamente em C.
A questão é que você tem de saber o que está fazendo e quais as ferramentas à sua disposição para fazer.
Eu sempre sugiro esquecer o computador e pensar em como a pessoa faria se tivesse só sua cabeça para pensar e sua mão, uma folha de papel e um lápis (e, no seu caso, talvez uma régua ou par de esquadros) para escrever (ou, no seu caso, desenhar) os resultados.
Então, como você faria para desenhar uma parábola dada por
y=a·x²+b·x+c numa folha de papel? Se eu fosse você, eu começaria escolhendo as escalas do desenho (por exemplo: quantos milímetros usar entre dois valores inteiros sucessivos no eixo
x, e quantos no eixo
y). Claro que essa escolha de escalas tem de levar em consideração o tamanho finito da folha e o local de interesse para o traçado da parábola, que normalmente é próximo do local das raízes ou do vértice da parábola (como anda seu conhecimento de Matemática?). Em seguida, eu provavelmente desenharia os eixos vertical e horizontal, talvez marcando alguns valores em cada um deles, dependendo da escala escolhida, tanto para ajudar na hora de desenhar (o computador não vai precisar disso, mas já que estamos falando da execução manual, vamos incluir este aspecto) quanto para facilitar o entendimento na hora de ver o desenho pronto.
Feita a preparação, começa o desenho da parábola em si. Como ele se faz? Com você escolhendo alguns valores de
x e substituindo-os no polinômio para encontrar os valores correspondentes de
y. Alguns valores de interesse são sempre os das raízes de
a·x²+b·x+c=0, se houver raízes reais, e aquele do vértice da parábola (i.e. quando
x=-b/2a -- olha aqui, eu dando cola), para os quais talvez você queira fazer marcações especiais. Depois disso, você pode ir varrendo vários valores de
x dentro da escala escolhida, e ir calculando os respectivos valores de
y (você pode até se aproveitar do fato de que a parábola é simétrica em relação ao vértice para não ter de recalcular valores de
y que serão idênticos nos dois lados da parábola; por exmeplo, se o valor de
x no vértice da parábola é
-1, e
y=2 quando
x=-3, então você já sabe, sem recalcular, que
y=2 quando
x=1, já que tanto
-3 quanto
1 estão a duas unidades de distância de
-1).
Dando um pouco mais de cola, na questão das escalas: tudo o que você precisa é de uma equação do tipo
X=n·x+m.
n é um fator que indica a quantas unidades no eixo
X (maiúsculo, usado no papel ou na tela do micro) corresponde uma unidade no eixo
x (minúsculo, do polinômio). É óbvio que não faz sentido que
n seja zero: caso contrário, todos os possíveis valores de
x serão mapeados no mesmo ponto de
X. Se
n for negativo, um valor que, em
x, cresce da imaginariamente da esquerda para a direita (ou, em
y, de baixo para cima), crescerá em
X da direita para a esquerda (ou, em
Y, de cima para baixo -- aliás, sua escala em
Y provavelmente deve ter um
n negativo, já que normalmente as telas e janelas consideram que as linhas crescem de cima para baixo, ao contrário dos gráficos cartesianos que se costumam usar em Matemática). Já o valor de
m tem a ver com o deslocamento para a esquerda ou para a direita dos valores de
x em relação a
X (ou para cima ou para baixo, no caso de
y em relação a
Y).
Lembrou como desenhar no papel? Pois é. O desenho na tela se faz exatamente do mesmo jeito. Basta traduzir esses passos manuais de Português para a combinação de C mais a biblioteca gráfica da sua preferência.