Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 18.03.2009, 13:25   #1
Folly
Пользователь
 
Регистрация: 14.03.2009
Сообщений: 12
По умолчанию Построение графика функции Java

Есть код программы, который рассчитывает значение функции y=1/2*sin(x)+5 в диапазоне х={1,2,3,4,5,6,7,8,9,10}. Помогите, пожалуйста, построить график этой функции. заранее огромное спасибо
Код:
public class Function        
{      
 public static void main(String [] args)    
 {    
   int [] x = new int [10];    
   double [] y = new double [10];    
   for(int i = 0; i < x.length; i++)    
  {    
   x [i] = i + 1;    
   y [i] = 1.0/2.0 * Math.sin(x[i]) + 5;    
   System.out.println("x = " + x [i] + " y = " + y [i]);    
  }    
  System.out.println(Arrays.toString(y));    
 }    
}
Folly вне форума
Старый 18.03.2009, 19:44   #2
Folly
Пользователь
 
Регистрация: 14.03.2009
Сообщений: 12
По умолчанию

единственное что у меня получилось, и то, благодаря книгам, это:
Код:
import java.awt.Color; 
import java.awt.Graphics; 
import java.util.Iterator; 
import java.util.Vector; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 

public class TG extends JFrame { 
    private GraphPanel g; 

   public TG() 
   { 
       Vector<Double> d = new Vector<Double>(); 

      // Заполняем вектор данными - например для функции 
      double t = 0; 
      while(t<=2*Math.PI) { 
        double s = Math.sin(t); 
        d.add(new Double(s)); 
        t += 0.1; 
      } 

      g = new GraphPanel(d); 
      getContentPane().add(g); 
      setBounds(100, 100, 300, 300); 
   } 
    /** Creates a new instance of TG */ 
    
    
    /** 
     * @param args the command line arguments 
     */ 
    public static void main(String[] args) { 
       TG t = new TG(); 
      t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      t.setVisible(true); 
    } 
    
} 
class GraphPanel extends JPanel 
{ 
   private Vector<Double> data; 

   public GraphPanel(Vector<Double> data) 
   { 
      this.data = data; 
   } 

   public void paintComponent(Graphics g) 
   { 
      super.paintComponent(g); 

      // максимальная ширина графика - 2*PI 
      // максимальная высота = 1, минимальная = -1 
      // Вычисляем коэффициенты 

      double Kx = getWidth()/(2*Math.PI); 
      double Ky = getHeight()/2.0; 

      double xo = -1; 
      double yo = -1; 

      double x = 0; 
      for(Iterator<Double> it=data.iterator(); it.hasNext(); ) { 
         double y = it.next().doubleValue(); 

         // Рисование начинаем для второй точки 
         if(xo>=0.0) { 
            int x1 = (int) (xo*Kx); 
            int x2 = (int) (x*Kx); 
            // Учитываем, что координаты идут сверху вниз и максимальное число = 1 
            int y1 = (int) (getHeight()-(yo+1)*Ky); 
            int y2 = (int) (getHeight()-(y+1)*Ky); 
            g.drawLine(x1, y1, x2, y2); 
         } 
          
         xo = x; 
         yo = y; 
         x += 0.1; 
      } 
   } 
}
и то это график на другую функцию... помогите пожалуйста поменять.
Folly вне форума
Старый 19.03.2009, 10:00   #3
Folly
Пользователь
 
Регистрация: 14.03.2009
Сообщений: 12
По умолчанию

сделала график функции помогите пожалуйста построить оси координат, у меня никак не получается!
Код:
public class TG extends JFrame {
    private GraphPanel g;

   public TG()
   {
       Vector<Double> d = new Vector<Double>();

      // Заполняем вектор данными - например для функции
      for (int x = 1; x <= 10; x++) {
            d.add(1.0 / 2.0 * Math.sin(x) + 5);

      }

      g = new GraphPanel(d);
      getContentPane().add(g);
      setBounds(100, 100, 300, 300);
   }
    /** Creates a new instance of TG */
    
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       TG t = new TG();
      t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      t.setVisible(true);
    }
    
}
class GraphPanel extends JPanel {
    private Vector<Double> data;

    public GraphPanel(Vector<Double> data) {
        this.data = data;
    }

    public void paintComponent(Graphics g) {
        super.paintComponent(g);

        // максимальная ширина графика - 10
        // максимальная высота = 1, минимальная = -1
        // Вычисляем коэффициенты

        double Kx = getWidth() / 10.0;
        double Ky = getHeight() / 11.0;

        double xo = -1;
        double yo = -1;

        double x = 0;
        for (Iterator<Double> it = data.iterator(); it.hasNext();) {
            double y = it.next().doubleValue();

            // Рисование начинаем для второй точки
            if (xo >= 0.0) {
                int x1 = (int) ((xo + 1) * Kx);
                int x2 = (int) ((x + 1) * Kx);
                // Учитываем, что координаты идут сверху вниз и максимальное число = 1
                int y1 = (int) (getHeight() - (yo + 5) * Ky);
                int y2 = (int) (getHeight() - (y + 5) * Ky);
                g.drawLine(x1, y1, x2, y2);
            }

            xo = x;
            yo = y;
            x += 1;
        }
    }
}
Folly вне форума
Старый 19.03.2009, 11:16   #4
Folly
Пользователь
 
Регистрация: 14.03.2009
Сообщений: 12
По умолчанию

всё сделала
Folly вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построение графика функции (Паскаль) Scream of the soul Помощь студентам 4 16.03.2009 02:57
Построение графика функции Жека:) Общие вопросы C/C++ 5 11.11.2008 19:05
Графика. Построение функции AngelOfDeath Общие вопросы Delphi 2 14.10.2008 13:44
построение графика deadh5n1 Помощь студентам 2 13.09.2008 19:06
(С++) Построение графика tg(x)=y. Panterka Помощь студентам 2 13.12.2007 09:32