Package nbody
Class Body
java.lang.Object
public class Body extends MacroObject
Classe représentant un corps dans la simulation.
-
Field Summary
Fields Modifier and Type Field Description private javafx.scene.paint.Color
color
Correspond à la couleur à afficher pour l'objet.private javafx.scene.shape.Sphere
sphere
Correspond à l'objet visuelle représenté sur la fenêtre.Fields inherited from class math_physics.physics.GenericObject
acceleration, force, mass, numberGenericObject, ObjectID, position, radius, velocity
-
Constructor Summary
Constructors Constructor Description Body(double mass, double radius, Vector3D position, Vector3D velocity, javafx.scene.paint.Color color)
Constructeur d'un corps.Body(java.lang.String name, double mass, double radius, Vector3D position, Vector3D velocity, javafx.scene.paint.Color color)
Constructeur d'un corps.Body(java.lang.String name, MacroObject root, double mass, double radius, Vector3D position, Vector3D velocity, javafx.scene.paint.Color color)
Constructeur d'un corps. -
Method Summary
Modifier and Type Method Description java.lang.String
getAllData()
Permet de récupérer tous les attributs importants du corps dans une chaîne de caractères.javafx.scene.paint.Color
getColor()
Permet de récupérer la couleur de la sphère.javafx.scene.shape.Sphere
getSphere()
Permet de récupérer la sphère 3D.double
getXPosition()
Permet de récupérer la position de l'objet sur l'axe des abscisses.double
getXVelocity()
Permet de récupérer la vélocité de l'objet sur l'axe des abscisses.double
getYPosition()
Permet de récupérer la position de l'objet sur l'axe des ordonnées.double
getYVelocity()
Permet de récupérer la vélocité de l'objet sur l'axe des ordonnées.double
getZPosition()
Permet de récupérer la position de l'objet sur l'axe de la profondeur.double
getZVelocity()
Permet de récupérer la vélocité de l'objet sur l'axe de la profondeur.private void
move()
Permet de mettre à jour la position et le rayon de la sphère.void
setColor(javafx.scene.paint.Color newColor)
Permet de changer la couleur de la sphère.void
setXPosition(double newValue)
Permet de remplacer la position de l'objet sur l'axe des abscisses.void
setXVelocity(double newValue)
Permet de remplacer la vélocité de l'objet sur l'axe des abscisses.void
setYPosition(double newValue)
Permet de remplacer la position de l'objet sur l'axe des ordonnées.void
setYVelocity(double newValue)
Permet de remplacer la vélocité de l'objet sur l'axe des ordonnées.void
setZPosition(double newValue)
Permet de remplacer la position de l'objet sur l'axe de la profondeur.void
setZVelocity(double newValue)
Permet de remplacer la vélocité de l'objet sur l'axe de la profondeur.void
simulate(double deltaTime)
Permet de faire simuler l'objet (simulation de Barnes-Hut).void
simulate(java.util.List<GenericObject> allObjects, double deltaTime)
Permet de faire simuler l'objet (simulation basique newtonnienne).java.lang.String
toString()
Methods inherited from class math_physics.physics.MacroObject
getObjectName, getRootObject, setObjectName
Methods inherited from class math_physics.physics.GenericObject
addForce, addForce, computeNewAccelerations, computeNewPositions, computeNewVelocities, getAcceleration, getForce, getMass, getObjectID, getPosition, getRadius, getVelocity, resetForce, setAcceleration, setForce, setMass, setPosition, setRadius, setVelocity
-
Field Details
-
Constructor Details
-
Body
public Body(double mass, double radius, Vector3D position, Vector3D velocity, javafx.scene.paint.Color color)Constructeur d'un corps.- Parameters:
mass
- Masse totale de l'objetradius
- Rayon de l'objetposition
- Coordonnées de la position de l'objetvelocity
- Vitesse initiale de déplacement de l'objetcolor
- Couleur à utiliser pour afficher la sphère
-
Body
public Body(java.lang.String name, double mass, double radius, Vector3D position, Vector3D velocity, javafx.scene.paint.Color color)Constructeur d'un corps.- Parameters:
name
- Nom de l'objetmass
- Masse totale de l'objetradius
- Rayon de l'objetposition
- Coordonnées de la position de l'objetvelocity
- Vitesse initiale de déplacement de l'objetcolor
- Couleur à utiliser pour afficher la sphère
-
Body
public Body(java.lang.String name, MacroObject root, double mass, double radius, Vector3D position, Vector3D velocity, javafx.scene.paint.Color color)Constructeur d'un corps.- Parameters:
name
- Nom de l'objetroot
- Instance de l'objet auquel il est rattachémass
- Masse totale de l'objetradius
- Rayon de l'objetposition
- Coordonnées de la position de l'objetvelocity
- Vitesse initiale de déplacement de l'objetcolor
- Couleur à utiliser pour afficher la sphère
-
-
Method Details
-
toString
public java.lang.String toString()- Overrides:
toString
in classMacroObject
-
getColor
public javafx.scene.paint.Color getColor()Permet de récupérer la couleur de la sphère.- Returns:
- Couleur
-
setColor
public void setColor(javafx.scene.paint.Color newColor)Permet de changer la couleur de la sphère.- Parameters:
newColor
- Nouvelle couleur
-
getSphere
public javafx.scene.shape.Sphere getSphere()Permet de récupérer la sphère 3D.- Returns:
- Sphère 3D
-
getXPosition
public double getXPosition()Permet de récupérer la position de l'objet sur l'axe des abscisses.- Returns:
- Position sur l'axe des X
-
getYPosition
public double getYPosition()Permet de récupérer la position de l'objet sur l'axe des ordonnées.- Returns:
- Position sur l'axe des Y
-
getZPosition
public double getZPosition()Permet de récupérer la position de l'objet sur l'axe de la profondeur.- Returns:
- Position sur l'axe des Z
-
setXPosition
public void setXPosition(double newValue)Permet de remplacer la position de l'objet sur l'axe des abscisses.- Parameters:
newValue
- Nouvelle valeur
-
setYPosition
public void setYPosition(double newValue)Permet de remplacer la position de l'objet sur l'axe des ordonnées.- Parameters:
newValue
- Nouvelle valeur
-
setZPosition
public void setZPosition(double newValue)Permet de remplacer la position de l'objet sur l'axe de la profondeur.- Parameters:
newValue
- Nouvelle valeur
-
getXVelocity
public double getXVelocity()Permet de récupérer la vélocité de l'objet sur l'axe des abscisses.- Returns:
- Vélocité sur l'axe des X
-
getYVelocity
public double getYVelocity()Permet de récupérer la vélocité de l'objet sur l'axe des ordonnées.- Returns:
- Vélocité sur l'axe des Y
-
getZVelocity
public double getZVelocity()Permet de récupérer la vélocité de l'objet sur l'axe de la profondeur.- Returns:
- Vélocité sur l'axe des Z
-
setXVelocity
public void setXVelocity(double newValue)Permet de remplacer la vélocité de l'objet sur l'axe des abscisses.- Parameters:
newValue
- Nouvelle valeur
-
setYVelocity
public void setYVelocity(double newValue)Permet de remplacer la vélocité de l'objet sur l'axe des ordonnées.- Parameters:
newValue
- Nouvelle valeur
-
setZVelocity
public void setZVelocity(double newValue)Permet de remplacer la vélocité de l'objet sur l'axe de la profondeur.- Parameters:
newValue
- Nouvelle valeur
-
getAllData
public java.lang.String getAllData()Permet de récupérer tous les attributs importants du corps dans une chaîne de caractères. Organisé comme ceci :- nom ;
- masse ;
- rayon ;
- position ;
- vélocité ;
- couleur.
- Returns:
- Chaîne de caractère résumant les attributs du corps
-
move
private void move()Permet de mettre à jour la position et le rayon de la sphère. -
simulate
Permet de faire simuler l'objet (simulation basique newtonnienne).- Overrides:
simulate
in classGenericObject
- Parameters:
allObjects
- Liste contenant tous les objetsdeltaTime
- Durée d'avancement dans le temps
-
simulate
public void simulate(double deltaTime)Permet de faire simuler l'objet (simulation de Barnes-Hut).- Overrides:
simulate
in classGenericObject
- Parameters:
deltaTime
- Durée d'avancement dans le temps
-