How to Incorporate a Numerical Solution into a Physics Java Applet?

  • Context: Java 
  • Thread starter Thread starter Robben
  • Start date Start date
  • Tags Tags
    Java Physics
Click For Summary

Discussion Overview

The discussion revolves around incorporating a numerical solution of the Lotka-Volterra model into a Java applet for physics applications. Participants explore how to visualize the numerical solution through graphs and address challenges related to graphical representation in Java.

Discussion Character

  • Homework-related
  • Technical explanation
  • Exploratory

Main Points Raised

  • One participant seeks guidance on how to incorporate their numerical solution into a Java applet, specifically for graphing purposes.
  • Another participant suggests using Open Source Physics resources for Java software that can assist with physics simulations and charting.
  • A participant raises a concern about the need to convert double values from the numerical solution into integers for drawing lines in the applet, questioning how to achieve this.
  • One response proposes developing a scaling method to convert physical measurements into pixel values for graphical representation.
  • Another participant mentions using the getWidth() and getHeight() methods to determine the canvas size for the applet.
  • A later reply suggests extending 2D graphics to facilitate the drawing process.

Areas of Agreement / Disagreement

Participants generally agree on the need for scaling and the use of applet methods to determine canvas size, but there is no consensus on the best approach to convert double values for graphical representation.

Contextual Notes

Participants express uncertainty regarding the specifics of scaling and graphical representation, indicating that the pixel size is arbitrary and dependent on the chosen dimensions of the applet.

Robben
Messages
166
Reaction score
2

Homework Statement


[/B]
I would like to make a physics applet.

I have a numerical solution of the Lotka-Volterra model located here:
https://www.physicsforums.com/threads/lotka-volterra-model-eulers-method.803382/#post-5044961


Homework Equations



None

The Attempt at a Solution


[/B]
I want to be able to make graphs of my numerical solution and I am wondering how do I incorporate my numerical solution of the Lotka-Volterra model into an applet?

I tried searching GUI applets for Java but it is so broad the I would like to narrow it down for only physics application like making graphs or making a wave that corresponds to the wave equation.

Any links or videos of how to make a physics applet would be of great help.

My numerical solution:

Java:
public class Lotka {
    public static void main(String[] args) {
        double[] prey = new double[1000];
        double[] predator = new double[1000];
        double[] dt = new double[101];
        double[] b = new double[101];
        prey[0] = 10;
        predator[0] = 5;   
        dt[0] = 0;
        b[0] = 0.01;   
   
        for (int j = 1; j < 101; j ++) {
            dt[j] = 2 + dt[j-1];
            b[j] = b[0]*((double)j/2);  
        }    
   
        for(int i = 1; i < 100; i++) {
            prey[i] = prey[i-1] + (0.2*prey[i-1]*(1-prey[i-1]/500)
               -(b[i]*prey[i-1]*predator[i-1])/(1+b[i]*prey[i-1]))*(1/dt[i]);
            predator[i] = predator[i-1] + (0.1*predator[i-1]*(1-predator[i-1]
                /(0.2*prey[i-1])))*(1/dt[i]);
            //System.out.println("" + prey[i] + " " + predator[i]);  
        }      
    }      
}
 
Technology news on Phys.org
Checkout Open Source Physics at www.compadre.org/osp

They have a whole collection of java software for making physics simulations including charting and ODE solvers.
 
jedishrfu said:
Checkout Open Source Physics at www.compadre.org/osp

They have a whole collection of java software for making physics simulations including charting and ODE solvers.

Thanks for the link! I will be studying it now.
 
jedishrfu said:
Checkout Open Source Physics at www.compadre.org/osp

They have a whole collection of java software for making physics simulations including charting and ODE solvers.

I noticed, in order to draw a line in my java applet it must be integers, i.e. for Graphics g then g.drawLine() must have int values and not double. Since my Lotka model numerical solution has double values from 10.0 to 9.87 (for the prey) and 4.99 to 4.82 (for the predator) how do I go about doing this? How do I get my drawline to take in double values instead of int?
 
you have to develop scaling for what you want to draw

So say you decide your image is 1000x1000 pixels and your measurements range from 0cm to 15cm then
to draw a 3cm line you must compute linelength = 3 * 1000 / 15 = 200 pixels...
 
[/code][/QUOTE]
jedishrfu said:
you have to develop scaling for what you want to draw

So say you decide your image is 1000x1000 pixels and your measurements range from 0cm to 15cm then
to draw a 3cm line you must compute linelength = 3 * 1000 / 15 = 200 pixels...

Hm, my measurements are

##p_0 = 10, \ q _0 = 5##
##p_1 = 9.946, \ q_1 = 4.925##
##p_2 = 9.89538, \ q_2 = 4.85231##
##p_3 = 9.84803, \ q_3 = 4.78187##
##\ldots## up to ##4.99## for predator (q) and ##10.0## for prey (p). Now my image pixel size is arbitrary and I just extended Applet, i.e. I have the following code in my applet:

Java:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

   public class LotkaApplet extends Applet
   implements MouseListener, ActionListener, Runnable{
...
}
 
Use getWidth() and getHeight() java applet methods to get the canvas size .
 
jedishrfu said:
Use getWidth() and getHeight() java applet methods to get the canvas size .
I think I would have to extend 2D graphics for this.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 4 ·
Replies
4
Views
5K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
9
Views
2K