Skip to content

Commit

Permalink
Rysowanie trajektorii
Browse files Browse the repository at this point in the history
  • Loading branch information
tdomanski committed May 3, 2021
1 parent 35678b3 commit 0e7498e
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions src/czastki/parametry/CzastkaProbna.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
package czastki.parametry;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.imageio.ImageIO;

Expand All @@ -21,7 +25,11 @@ public class CzastkaProbna {
private int id; // numer czastki
private double Ex;
private double Ey;
private List<Integer> listX;
private List<Integer> listY;
private SymulacjaCzastki sym;
private boolean trajektorieOn = false;
private boolean symulacjaOn = false;
public final BufferedImage plusChargeImage = loadBufferedImage("/pluscharge.png");
public final BufferedImage minusChargeImage = loadBufferedImage("/minuscharge.png");
public final BufferedImage zeroChargeImage = loadBufferedImage("/zerocharge.png");
Expand All @@ -34,6 +42,10 @@ public CzastkaProbna(int x, int y, double m, double q, double vx, double vy, int
this.vx = vx;
this.vy = vy;
this.id=id;
listX=new ArrayList<Integer>();
listX.add(x);
listY=new ArrayList<Integer>();
listY.add(y);
sym = new SymulacjaCzastki(this);
}

Expand All @@ -46,6 +58,10 @@ public int getX() {
}

public void setX(int x) {
if(symulacjaOn)
{
listX.add(x);
}
this.x = x;
}

Expand All @@ -54,6 +70,10 @@ public int getY() {
}

public void setY(int y) {
if(symulacjaOn)
{
listY.add(y);
}
this.y = y;
}

Expand Down Expand Up @@ -113,6 +133,19 @@ public void setEy(double ey) {
Ey = ey;
}

public void setTrajektorieOn(boolean trajektorieOn) {
this.trajektorieOn = trajektorieOn;
}

public void setSymulacjaOn(boolean symulacjaOn) {
this.symulacjaOn = symulacjaOn;
if(symulacjaOn)
{
listX.clear();
listY.clear();
}
}

private BufferedImage loadBufferedImage(String string)
{
try
Expand All @@ -134,6 +167,20 @@ else if (this.ladunek < 0)
g.drawImage(minusChargeImage, x - width/2, y - height/2, width, height, null);
else if (this.ladunek == 0)
g.drawImage(zeroChargeImage, x - width/2, y - height/2, width, height, null);

if(symulacjaOn==true&&trajektorieOn==true)
{
if(listX.size()>1)
{
Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new BasicStroke(2));
g2.setColor(Color.black);
for(int i=0;i<listX.size()-1;i++)
{
g.drawLine(listX.get(i),listY.get(i),listX.get(i+1),listY.get(i+1));
}
}
}
}

}

0 comments on commit 0e7498e

Please sign in to comment.