[java] cosinusy i sinusy wykreślane

entelechek
Użytkownik
Użytkownik
Posty: 21
Rejestracja: 28 cze 2013, o 17:15
Płeć: Mężczyzna
Lokalizacja: mOdErAcJaR
Podziękował: 7 razy

[java] cosinusy i sinusy wykreślane

Post autor: entelechek »

Kochani matematycy i zarazem informatycy. Mam do rozwiązania zadanie z pogranicza informatyki i matematyki. Mianowicie mamy funkcję napisaną w poniższym kodzie, według której wykreśla się linie w punktach wybranych przez 'dragowaną' myszkę (komputerową rzecz jasna...). Już nie zwracajmy uwagi na to, jak pewne elementy w poniższym kodzie są archaiczne (jak choćby stosowane importy).

Kod: Zaznacz cały

[tex]import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.Math;

public class boil extends Applet
   implements MouseMotionListener {

   int width, height;
   Image moil;
   Graphics toil;

   int mx, my;

   double t = 0;

   public void init() {
      width = getSize().width;
      height = getSize().height;

      mx = width / 2;
      my = height / 2;

      moil = createImage( width, height );
      toil = moil.getGraphics();
      toil.setColor( Color.black );
      toil.fillRect( 0, 0, width, height );
      toil.setColor( Color.white );

      addMouseMotionListener( this );
   }

   public void mouseMoved( MouseEvent e ) { }
   public void mouseDragged( MouseEvent e ) {
      int x = e.getX();
      int y = e.getY();
      int dx = x - mx;
      int dy = y - my;
      t += Math.sqrt( (dx*dx + dy*dy)/a ) / b;
      if ( t > 2*Math.PI ) {
         t -= 2*Math.PI;
      }
      toil.drawLine( x, y, x+(int)(c*Math.cos(t)), y+(int)(d*Math.sin(t)) );
      mx = x;
      my = y;
      repaint();
      e.consume();
   }

   public void update( Graphics g ) {
      g.drawImage( moil, 0, 0, this );
   }

   public void paint( Graphics g ) {
      update( g );
   }
}[/tex]
W zależności od wartości a,b, c i d mam przewidzieć, jak ta funkcja będzie wyglądać, mając na uwadze to, gdzie skierujemy kursor przy jednoczesnym trzymaniu przycisku myszy(też komputerowej). Jakieś pomysły?
ODPOWIEDZ