tangens w javie

0

Czy ktoś wie jak
Utworzyć aplet rysujący wybraną funkcję:
? tangens
? kwadratową
? Utworzony aplet przekształcić na aplikację

0
zakrzewska napisał(a)

Czy ktoś wie jak
Utworzyć aplet rysujący wybraną funkcję:
? tangens
? kwadratową
? Utworzony aplet przekształcić na aplikację

Tangens czy funkcja kwadratowa nie ma znaczenia, generalnie robisz cos w stylu

for(int x=-zakres/2; x<zakres/2;x++)
  y=Math.tan(x*Math.PI/180);
  lub
  y=a*x*x+b*x+c;

i rysujesz sobie na aplecie

Przeksztalcajac aplet na aplikacje musisz wprowadzic tylko drobne zmiany, czyli :

  • wprowadzic metode main zamiast metod init, start, itd.
  • uzyc JFrame a nie JApplet (wiekszosci w srodku raczej nie bedziesz musiala zmieniac)

pozdrawiam
johny

0

na razie mam coś takiego i nie wiem co dalej mam zrobić

import java.awt.;
import java.applet.
;
public class tangi extends Applet{
int width,height;
public void init(){
setLayout(null);
width=400;
height=400;
setSize(width,height);
setBackground(Color.black);
setForeground(Color.red);
}
public void paint(Graphics g){
int x,x0;
double y,y0,a,mult,pol;
a=(double)height/4;
pol=(double)height/2;
//ustawienia punktu rozpoczecia rysowania
x0=0;
y0=pol;
//rysowanie linii układu współrzędnych
g.drawLine(x0,(int) y0, width, (int)y0);
g.drawLine(width/2,0,width/2, height);
//rysowanie punktów tangensa
x0=x;
y0=y;
}
}
}

0

NIestety to co mi podałeś nie działa.Ale nie wiem czy to dobrze robie

0

proszem :)

import javax.swing.;
import javax.swing.event.
;
import java.awt.event.;
import java.awt.
;

public class Rysujemy extends JFrame{
Panelek panelek1 =new Panelek();
JButton guzik1=new JButton("Zmiana f-cji");
boolean flaga=false;

public Rysujemy(){
	setSize(new Dimension(600,400));
	setTitle("Rysujemy");
	Container c=getContentPane();
	c.add(panelek1,BorderLayout.CENTER);
	c.add(guzik1,BorderLayout.SOUTH);

	guzik1.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent e){
			if(flaga){
				flaga=false;
			}else{
				flaga=true;
			}
			panelek1.repaint();
		}
	});
	addWindowListener(new WindowAdapter(){
		public void windowClosing(WindowEvent e){
			System.exit(0);
		}
	});
	
}

double tangens(double x){
	double wynik;
	wynik=Math.tan(x);
	return wynik;
}

double kwadrat(double x){
	return x*x;
}
private class Panelek extends JPanel{
	double xPos,x1;
	double yPos,y1;
	
	private double krok=0.1;
	
	public void paint(Graphics g){
		super.paint(g);
		
		g.setColor(Color.black);//osie wspolrzednych
		g.drawLine(20,getHeight()/2,getWidth()-50,getHeight()/2);
		g.drawLine(getWidth()/2,20,getWidth()/2,getHeight()-20);
		g.setColor(Color.blue);//wykres f-cji
		xPos=-10;
		if(flaga){
			yPos=tangens(xPos);
		}
		else{
			yPos=kwadrat(xPos);
		}
		for(int i=0;i<200;i++) {				
			x1=xPos;
			y1=yPos;
			xPos+=krok;
			if(flaga){
				yPos=tangens(xPos);
			}
			else{
				yPos=kwadrat(xPos);
			}
			g.drawLine((int)( (x1 + 5) / 10 * getWidth() ),
		          (int)( (5 - y1) / 10 * getHeight() ),
		          (int)( (xPos + 5) / 10 * getWidth() ),
		          (int)( (5 - yPos) / 10 * getHeight() ));
			}
	}
}
	

public static void main(String [] args){
Rysujemy rys1=new Rysujemy();
rys1.show();
}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1