• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

aplet java, funkcja wielomianowa

0 głosów
392 wizyt
pytanie zadane 13 kwietnia 2016 w Java przez pb_kejkej Nowicjusz (180 p.)
edycja 13 kwietnia 2016 przez Patrycjerz

Czesc, mam do napisania program ktory wyswietli funkcje wielomianowa f=((x+4)*(x+1)*(x-1)*(x-3))/14+0.5, przedział funkcji od –5 do 4, co 0,1, link jak to powinno mniej wiecej wygladac:  https://pl.wikipedia.org/wiki/Wielomian_stopnia_czwartego

Czy umialby mnie ktos nakierowac jak dojsc do momentu zeby przynajmniej sie wyswietlila ta funkcja? pisze program w netbeans, podsylam to co "wypocilem" do tej pory:

import java.awt.*;
import java.applet.Applet;



public class wielomian extends Applet
{
    public void init() 
    {
       
    }
    public void paint (Graphics gr) 
    {
    Dimension r = this.getSize();
    gr.setColor(Color.GREEN);
        double a=-4;
        double b=-1;
        double c=1;
        double d=3;
        double e=1/14;
        double f=1/2;
        
        
        int wys_2=r.height/4;
        int szer_2=r.width/2;
        
        int[] [] TAB= new int[4] [r.width];
        
        for (int i=0;i<r.width;i++)
         { 
            TAB[0][i]=(i-r.width/2);
            TAB[1][i]=(int)((a/e)(TAB[0][i],2)+f(TAB[0][i]);
            TAB[2][i]=(int)(a*Math.pow(TAB[0][i],2));
            TAB[3][i]=(int) 
            System.out.println(TAB[0][i]+"   "+TAB[1][i]+"    "+TAB[2][i]);
         }

Przy petli sie zakrecilem i nie wiem czy cokolwiek jest tam dobrze, opieralem sie na notatkach z uczelni i dalej nie umiem ruszyc :(

1 odpowiedź

0 głosów
odpowiedź 13 kwietnia 2016 przez bumpMind Gaduła (4,260 p.)

Niedawno napisałem program nieco zbliżony do Twojego więc może spróbuję Ci trochę pomóc.

  • Pierwsza metoda powinna wstawić Ci do dwóch tablic odpowiadające poszczególnym punktom wartości na osi X oraz Y. W moim programie wyglądało to tak:
public void setFunc(){
	for( int t = 0; t<(POINTS); t++){
		xx[t] = setPoint((float)(Math.sin((5/100.0f)*t + Math.toRadians(90))));
		yy[t] = setPoint((float)(Math.sin((1/100.0f)*t + Math.toRadians(0))));
	}
}

 

Points to liczba punktów do wyznaczenia natomiast metoda setPoint() skalowała całość do zadanego rozmiaru, nie ma ona większego znaczenia.

  • Mając już pozycje punktów w dwóch tablicach  wystarczy je narysować, wygodnie można skorzystać z metody drowLine() , klasy Line2d oraz Graphics2d.

Podobne pytania

0 głosów
1 odpowiedź 2,284 wizyt
pytanie zadane 5 grudnia 2020 w Python przez urbanski-paw Nowicjusz (140 p.)
0 głosów
1 odpowiedź 923 wizyt
pytanie zadane 10 kwietnia 2020 w C i C++ przez dominik195k Obywatel (1,030 p.)
0 głosów
0 odpowiedzi 285 wizyt
pytanie zadane 25 stycznia 2016 w C# przez Surykat Stary wyjadacz (14,780 p.)

93,600 zapytań

142,524 odpowiedzi

322,993 komentarzy

63,085 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...