giosch (Normal User)
Rookie
Messaggi: 23
Iscritto: 16/03/2011
|
Da poco mi sono buttato in java
lasciate perdere la qualità del layout.
Il programma, data velocità e angolo di partenza dovrebbe calcolare 100 punti della traiettoria parabolica e memorizzarne x e y in dati[][]
calcolo il tempo totale, divido per cento, calcolo x e ok, ma la seconda parte delle y, quella da -1*(1/2*...
risulta 0 (ho aggiunto le istruzioni per stampare la matrice sulla schermata di netbeans, proprio per vedere che valori dava...)
ConvertFrame.java
Codice sorgente - presumibilmente Java |
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package convertitore; import java.awt.*; import java.awt.event.*; import java.math.*; { public ConvertFrame() { super("Calcolo traiettoria proiettile"); //addWindowListener(new GestoreFinestra()); p1. add(new Label("Velocità")); p1.add(velocita); p2. add(new Label("Gradi")); p2.add(gradi); p4.add(ris); p3.add(calcola); setLayout(null); Disegna disegno = new Disegna(); add(disegno); add(p1); add(p2); add(p4); add(p3); disegno.setBounds(30, 40, 501, 501); p1.setBounds(30, 540, 250, 70); p2.setBounds(30, 610, 250, 70); p4.setBounds(30, 680, 250, 70); p3.setBounds(30, 750, 250, 50); calcola.addActionListener(this); } @Override { double vel; double grad; double rad; vel = Double. valueOf(velocita. getText()). doubleValue(); grad = Double. valueOf(gradi. getText()). doubleValue(); rad = Math. toRadians(grad ); double dati[][] = new double[3][105]; int i; double t_tot; t_tot = ((2 *vel /9.81 )*Math. sin(rad )); double scatto; double netto; scatto = t_tot/100; for (i=1; i <= 100; i++) { netto= scatto*i; dati[0][i]=i; dati [1 ][i ]=vel *Math. cos(rad )*netto ; dati [2 ][i ]=((vel *Math. sin(rad )*netto )+-1 *(1 /2 *9.81 *netto *netto )); System. out. println(dati [0][i ]+" : "+netto +" : "+dati [1][i ]+" : "+dati [2 ][i ]); System. out. println(vel +" : "+Math. sin(rad )+" : "+netto +" : "+-1 *(1 /2 *9.81 *netto *netto )); } ris.setText("Fatto!"); } }
|
Convertitore.java
Codice sorgente - presumibilmente Java |
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package convertitore; /** * * @author Giovanni */ public class Convertitore { /** * @param args the command line arguments */ public static void main (String[] args ) { ConvertFrame f = new ConvertFrame(); f.pack(); f.setVisible(true); } }
|
Disegna.java (da completare ovviamente, dovrebbe fare il grafico)
Codice sorgente - presumibilmente Java |
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package convertitore; import java.awt.*; public class Disegna extends Canvas { { g.drawLine(100, 100, 300, 400); g.drawLine(0,0,0,500); g.drawLine(0,500,500,500); g.drawLine(500,500,500,0); g.drawLine(500,0,0,0); } }
|
Grazie delle risposte in anticipo Ultima modifica effettuata da giosch il 29/11/2012 alle 20:14 |