module special.corde

Inheritance diagram of ensae_teaching_cs.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.

source on GitHub

Classes

class

truncated documentation

Corde

Définition d’une corde, une liste de masses reliées par des élastiques et attachées au deux extrémités.

ObjetMasseReliees

Définit un objet commun à une corde ou un pendule physiquement représenté comme un ensemble de masses reliées des …

Pendule

Définition d’un pendule, une liste de masses reliées par des élastiques et attachées à une extrémités. Contribution …

Point

définition d’un point : deux coordonnées et une masse

Functions

function

truncated documentation

display_masses

affichage de la corde à l’aide du module pyagame

pygame_simulation

Simulation graphique. Simule la chute d’une corde suspendue à ces deux extrémités.

Methods

method

truncated documentation

__init__

__init__

__init__

__init__

définit un point de la corde, de coordonnées (x,y) et de masse m

__str__

afficher le point

deplace_point

déplace un point, le vecteur de déplacement est dp * dt où dep est aussi un point

difference

retourne le vecteur qui relie deux points, retourne un point

force_point

calcule les forces qui s’exerce en un point, retourne un point x,y

force_point

Calcule les forces qui s’exerce en un point, retourne un point x, y.

force_point

calcule les forces qui s’exerce en un point, retourne un point x,y

iteration

Calcule les déplacements de chaque point et les met à jour, on ne déplace pas les points situés aux extrémités, …

iteration

Calcule les déplacements de chaque point et les met à jour, on ne déplace pas les points situés aux extrémités, …

iteration

Calcule les déplacements de chaque point et les met à jour, on ne déplace pas les points situés aux extrémités, …

norme

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.

source on GitHub

class ensae_teaching_cs.special.corde.Corde(nb, p1, p2, m, k, g, f, lo)[source]

Bases : ensae_teaching_cs.special.corde.ObjetMasseReliees

Définition d’une corde, une liste de masses reliées par des élastiques et attachées au deux extrémités.

source on GitHub

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

source on GitHub

force_point(i)[source]

calcule les forces qui s’exerce en un point, retourne un point x,y

source on GitHub

iteration(dt)[source]

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é.

source on GitHub

class ensae_teaching_cs.special.corde.ObjetMasseReliees(nb, p1, p2, m, k, g, f, lo)[source]

Bases : object

Définit un objet commun à une corde ou un pendule physiquement représenté comme un ensemble de masses reliées des élastiques.

source on GitHub

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

source on GitHub

__init__(nb, p1, p2, m, k, g, f, lo)[source]
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

source on GitHub

force_point(i)[source]

Calcule les forces qui s’exerce en un point, retourne un point x, y.

source on GitHub

iteration(dt)[source]

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é.

source on GitHub

class ensae_teaching_cs.special.corde.Pendule(nb, p1, p2, m, k, g, f, lo)[source]

Bases : ensae_teaching_cs.special.corde.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.

source on GitHub

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

source on GitHub

force_point(i)[source]

calcule les forces qui s’exerce en un point, retourne un point x,y

source on GitHub

iteration(dt)[source]

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é

source on GitHub

class ensae_teaching_cs.special.corde.Point(x, y, m)[source]

Bases : object

définition d’un point : deux coordonnées et une masse

source on GitHub

définit un point de la corde, de coordonnées (x,y) et de masse m

source on GitHub

__init__(x, y, m)[source]

définit un point de la corde, de coordonnées (x,y) et de masse m

source on GitHub

__slots__ = ('x', 'y', 'm')
__str__()[source]

afficher le point

source on GitHub

deplace_point(dep, dt)[source]

déplace un point, le vecteur de déplacement est dp * dt où dep est aussi un point

source on GitHub

difference(p)[source]

retourne le vecteur qui relie deux points, retourne un point

source on GitHub

norme()[source]

retourne la norme du vecteur (x,y)

source on GitHub

ensae_teaching_cs.special.corde.display_masses(corde, screen, pygame)[source]

affichage de la corde à l’aide du module pyagame

source on GitHub

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>)[source]

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')

source on GitHub