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 points

Point

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

Functions

function

truncated documentation

display_corde

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__

initialisation d’une corde

__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

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 : object

définition d’une corde, une liste de points

source on GitHub

initialisation d’une corde

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 de la corde

source on GitHub

__init__(nb, p1, p2, m, k, g, f, lo)[source]

initialisation d’une corde

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 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_corde(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, 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

  • fLOG – logging function

The simulation looks like this:

Pour lancer la simulation:

from ensae_teaching_cs.special.corde import pygame_simulation
import pygame
pygame_simulation(pygame)

source on GitHub