Multidesk.be » Forums » Java » Programma voor het tekenen van wisselspanning (gesloten)

Helpinformatie
Dit onderwerp bevindt zich in het archief.
Het is bijgevolg niet mogelijk er nog op te reageren.
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door idStefke30 op woensdag 15 februari 2006 om 13:32:02.
idStefke30 heeft nog geen avatar toegevoegd
Multiviteit: 2
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Geachte mensen

Ik heb het volgende programma maar ik zit met een probleem hoe teken ik 3 sinussen die je de volgende parameters kunt instellen: de amplitude, de fase, de periode?
In mijn programma zit nog één klein foutje hoe kan ik de amplitude wijzigen.
Kan je dat in code uitleggen en psuedocode

Dat is mijn programma:

CODE
  1.  
  2.  
  3. import java.awt.*;
  4. import java.applet.*;
  5. import java.awt.event.*;
  6.  
  7. public class Temp001 extends Applet
  8. {
  9.         // Declaratie van de componenten
  10.                
  11.         Label lbl_ampl, lbl_periode, lbl_fase;
  12.         TextField txt_ampl, txt_periode, txt_fase;
  13.         Button btn_start;
  14.        
  15.         // Declaratie van de variabelen
  16.         double dbl_hoek, dbl_hoek_rad,dbl_hoek_sin;
  17.         double dbl_ampl, dbl_periode, dbl_fase;
  18.         int int_teller,int_hoek_sin;
  19.         int xOval,yOval;
  20.         int teller;
  21.        
  22.        
  23.         public void init()
  24.         {
  25.                
  26.                 // Invoer:
  27.                 // - Amplitude: Um
  28.                 // - Periode: T
  29.                 // - Fase: Phase
  30.                
  31.                 // - Componenten maken
  32.                 // - Tekstvakken vullen
  33.                 // - Berekeningen uitvoeren
  34.                 // 1. u = Um.(sin * 2 * PI * f * t + phase)
  35.                
  36.                 //setLayout(null);
  37.         setFont( new Font( "SansSerif", Font.BOLD,14) );
  38.        
  39.                 lbl_ampl = new Label("Amplitude");
  40.                 //lbl_ampl.setBounds ( 50,50,40,20);
  41.                 //lbl_ampl.setBackground(Color.blue);
  42.                
  43.                 lbl_periode = new Label("Periode");
  44.                 //lbl_periode.setBounds ( 50,50,40,20);
  45.                 //lbl_periode.setBackground(Color.blue);       
  46.                
  47.                 lbl_fase = new Label("Phase");
  48.                 //lbl_fase.setBounds ( 50,50,40,20);
  49.                 //lbl_fase.setBackground(Color.blue);
  50.                
  51.                 //invoervakken
  52.                
  53.                 // txt_ampl, txt_periode, txt_Fase;
  54.                
  55.                 txt_ampl = new TextField();
  56.                 //txt_ampl.setBounds ( 50,25,40,20);
  57.                
  58.                 txt_periode = new TextField();
  59.                 //txt_periode.setBounds ( 50,25,40,20);
  60.                
  61.                 txt_fase = new TextField();
  62.                 //txt_fase.setBounds ( 50,25,40,20);
  63.        
  64.                        
  65.                 //knoppen definiëren met actionListener.
  66.                 btn_start = new Button ("Reken");
  67.                 btn_start.setBounds ( 100,25,60,20);
  68.                 btn_start.addActionListener (new KnopRekenHandler());
  69.                
  70.                 add(lbl_ampl);
  71.                 add(txt_ampl);
  72.                 add(lbl_periode);
  73.         add(txt_periode);
  74.                 add(lbl_fase);
  75.                 add(txt_fase);
  76.                 add(btn_start);
  77.         }
  78.        
  79.         public void paint(Graphics g)
  80.         {
  81.                    
  82.              g.drawLine(10,100,10,590);
  83.         g.drawLine(10,300,790,300);
  84.         
  85.              if (teller == 1)
  86.              {
  87.                   
  88.                   for(int i = 0; i < 580; i++)
  89.                   {
  90.                        // Cirkelfrequentie
  91.                                 double w = 6.28 * dbl_fase;
  92.                                 double hoek_rad = w * (Math.PI / 180);
  93.                                 double hsin;
  94.                                 int hsin_int;
  95.                                
  96.                                
  97.                                 // double xy = (int) Math.Round()
  98.                                 // cor = (int)
  99.                         
  100.                        hsin = Math.round(200 * Math.sin(hoek_rad + (i * 2 * Math.PI / 580)));
  101.                        hsin_int = (int) hsin;
  102.                        xOval =  (10 + i);
  103.                        yOval =  (300 - hsin_int);
  104.                        g.fillOval(xOval,yOval, 2, 2);
  105.                        teller = 0;
  106.                   //} 
  107.                  
  108.                       for(int j = 0; j < 580; i++)
  109.                       {
  110.                          
  111.                             // double xy = (int) Math.Round()
  112.                                         // cor = (int)
  113.                         
  114.                             hsin = Math.round(200 * Math.sin(hoek_rad + (i * 2 * Math.PI / 580)));
  115.                             hsin_int = (int) hsin;
  116.                             xOval =  (10 + i);
  117.                             yOval =  (300 - hsin_int);
  118.                             g.fillOval(xOval,yOval, 2, 2);
  119.                             teller = 0;
  120.                       }   
  121.                   }
  122.               }
  123.         }
  124.        
  125.         class KnopRekenHandler implements ActionListener
  126.         {
  127.                 public void actionPerformed( ActionEvent e )
  128.                 {
  129.                         String str_hoek;
  130.                         String str_ampl;
  131.                         String str_fase;
  132.                         String str_periode;
  133.                                
  134.                         str_ampl = txt_ampl.getText();
  135.                         dbl_ampl = Double.parseDouble(str_ampl);
  136.                         str_periode = txt_periode.getText();
  137.                         dbl_periode = Double.parseDouble(str_periode);
  138.                         str_fase = txt_fase.getText();
  139.                         dbl_fase = Double.parseDouble(str_periode);
  140.                         teller = 1;
  141.                         repaint();
  142.                 }
  143.         }
  144.        
  145. }
  146.  
  147.  


Kan iemand mij daarin helpen?

  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten