module special.corde
#
Short summary#
module ensae_teaching_cs.special.corde
Simulates a string which is falling but tied by its extremities. See Simulation d’une corde qui chute.
Classes#
class |
truncated documentation |
---|---|
Définition d’une corde, une liste de masses reliées par des élastiques et attachées au deux extrémités. |
|
Définit un objet commun à une corde ou un pendule physiquement représenté comme un ensemble de masses reliées des … |
|
Définition d’un pendule, une liste de masses reliées par des élastiques et attachées à une extrémités. Contribution … |
|
définition d’un point : deux coordonnées et une masse |
Functions#
function |
truncated documentation |
---|---|
affichage de la corde à l’aide du module pyagame |
|
Simulation graphique. Simule la chute d’une corde suspendue à ces deux extrémités. |
Methods#
method |
truncated documentation |
---|---|
|
|
|
|
définit un point de la corde, de coordonnées (x,y) et de masse m |
|
afficher le point |
|
déplace un point, le vecteur de déplacement est dp * dt où dep est aussi un point |
|
retourne le vecteur qui relie deux points, retourne un point |
|
calcule les forces qui s’exerce en un point, retourne un point x,y |
|
Calcule les forces qui s’exerce en un point, retourne un point x, y. |
|
calcule les forces qui s’exerce en un point, retourne un point x,y |
|
Calcule les déplacements de chaque point et les met à jour, on ne déplace pas les points situés aux extrémités, … |
|
Calcule les déplacements de chaque point et les met à jour, on ne déplace pas les points situés aux extrémités, … |
|
Calcule les déplacements de chaque point et les met à jour, on ne déplace pas les points situés aux extrémités, … |
|
retourne la norme du vecteur (x,y) |
Documentation#
Simulates a string which is falling but tied by its extremities. See Simulation d’une corde qui chute.
- class ensae_teaching_cs.special.corde.Corde(nb, p1, p2, m, k, g, f, lo)#
Bases :
ObjetMasseReliees
Définition d’une corde, une liste de masses reliées par des élastiques et attachées au deux extrémités.
- Paramètres:
nb – nombre de points
p1 – coordoonnées du premier point (fixe)
p2 – coordoonnées du dernier point (fixe)
m – masse de la corde, répartie entre tous les points
k – raideur de l’élastique
g – intensité de l’apesanteur, valeur positive
f – vitesse de freinage
lo – longueur totale de la corde
- force_point(i)#
calcule les forces qui s’exerce en un point, retourne un point x,y
- iteration(dt)#
Calcule les déplacements de chaque point et les met à jour, on ne déplace pas les points situés aux extrémités, retourne la somme des vitesses et des accélérations au carré.
- class ensae_teaching_cs.special.corde.ObjetMasseReliees(nb, p1, p2, m, k, g, f, lo)#
Bases :
object
Définit un objet commun à une corde ou un pendule physiquement représenté comme un ensemble de masses reliées des élastiques.
- Paramètres:
nb – nombre de points
p1 – coordoonnées du premier point (fixe)
p2 – coordoonnées du dernier point (fixe)
m – masse de la corde, répartie entre tous les points
k – raideur de l’élastique
g – intensité de l’apesanteur, valeur positive
f – vitesse de freinage
lo – longueur totale de la corde
- __init__(nb, p1, p2, m, k, g, f, lo)#
- Paramètres:
nb – nombre de points
p1 – coordoonnées du premier point (fixe)
p2 – coordoonnées du dernier point (fixe)
m – masse de la corde, répartie entre tous les points
k – raideur de l’élastique
g – intensité de l’apesanteur, valeur positive
f – vitesse de freinage
lo – longueur totale de la corde
- force_point(i)#
Calcule les forces qui s’exerce en un point, retourne un point x, y.
- iteration(dt)#
Calcule les déplacements de chaque point et les met à jour, on ne déplace pas les points situés aux extrémités, retourne la somme des vitesses et des accélérations au carré.
- class ensae_teaching_cs.special.corde.Pendule(nb, p1, p2, m, k, g, f, lo)#
Bases :
ObjetMasseReliees
Définition d’un pendule, une liste de masses reliées par des élastiques et attachées à une extrémités. Contribution de Pascal Grandeau.
- Paramètres:
nb – nombre de points
p1 – coordoonnées du premier point (fixe)
p2 – coordoonnées du dernier point (fixe)
m – masse de la corde, répartie entre tous les points
k – raideur de l’élastique
g – intensité de l’apesanteur, valeur positive
f – vitesse de freinage
lo – longueur totale de la corde
- force_point(i)#
calcule les forces qui s’exerce en un point, retourne un point x,y
- iteration(dt)#
Calcule les déplacements de chaque point et les met à jour, on ne déplace pas les points situés aux extrémités, retourne la somme des vitesses et des accélérations au carré
- class ensae_teaching_cs.special.corde.Point(x, y, m)#
Bases :
object
définition d’un point : deux coordonnées et une masse
définit un point de la corde, de coordonnées (x,y) et de masse m
- __init__(x, y, m)#
définit un point de la corde, de coordonnées (x,y) et de masse m
- __slots__ = ('x', 'y', 'm')#
- __str__()#
afficher le point
- deplace_point(dep, dt)#
déplace un point, le vecteur de déplacement est dp * dt où dep est aussi un point
- difference(p)#
retourne le vecteur qui relie deux points, retourne un point
- norme()#
retourne la norme du vecteur (x,y)
- ensae_teaching_cs.special.corde.display_masses(corde, screen, pygame)#
affichage de la corde à l’aide du module pyagame
- ensae_teaching_cs.special.corde.pygame_simulation(pygame, first_click=False, folder=None, iter=1000, size=(800, 500), nb=10, m=40, k=0.1, g=0.1, f=0.02, dt=0.1, step=10, flags=0, model='corde', fLOG=<function fLOG>)#
Simulation graphique. Simule la chute d’une corde suspendue à ces deux extrémités.
- Paramètres:
pygame – module pygame (avoids importing in this file)
first_click – starts the simulation after a first click
folder – to save the simulation, an image per simulation
iter – number of iterations to run
fLOG – logging function
nb – nombre de points
m – masse de la corde, répartie entre tous les points
k – raideur de l’élastique
g – intensité de l’apesanteur, valeur positive
f – vitesse de freinage
dt – petit temps
step – marche
flags – see pygame.display.set_mode
model –
'corde'
ou'pendule'
fLOG – logging function
La simulation ressemble à ceci dans le cas d’une corde :
Ou cela dans le cas d’un pendule :
Pour lancer la simulation:
from ensae_teaching_cs.special.corde import pygame_simulation import pygame pygame_simulation(pygame, model='corde')