Aller au contenu principal

Objets mécaniques

La forme pleine (dessin libre)

Un contour tracé à la main, qui devient une pièce solide.

Présentation

La forme pleine, c'est un solide au contour libre : une came, une étoile, une pièce de puzzle, un bonhomme. Tu traces le contour, le labo le referme et en fait un vrai corps rigide — avec sa masse, son centre de gravité, ses chocs.

Sous le capot, le contour est découpé en morceaux convexes (le moteur physique ne connaît que ça). Un contour qui se croise lui-même donne un résultat surprenant : trace des boucles simples.

Comment l'ajouter

  1. Palette › Forme pleine.
  2. Presse, dessine le contour sans relâcher, relâche : le tracé est refermé automatiquement (une corde en pointillé montre où, pendant le tracé).
  3. Une aire trop petite (moins de 100 mm²) n'est pas créée.

Dessine une goutte, la pointe en bas. Play : elle tombe, se pose… et bascule sur son ventre. Le centre de gravité l'emporte toujours.

Comment l'utiliser

  • Déplacer et tourner (poignée ronde) : oui. Redimensionner : non — il n'y a pas de poignées de taille sur une forme libre ; retrace-la.
  • Fixer au fond, Dupliquer, Pivot, Caméra : suivre, Layer : comme les autres pièces.
  • Matériau : par le clic droit › Matériau. (La fenêtre Propriétés d'une forme libre est vide pour l'instant : elle affiche « Composant sélectionné ».)
  • Couper au couteau : chaque morceau redevient une forme pleine.
  • En Python, c'est dessin(points=[...]) : la façon de faire une came, une encoche, un crochet au millimètre près — voir La catapulte à came.

Toutes les propriétés

PropriétéOùEffet
Matériau, Densité, Frottement, Restitutionclic droit › Matériaucomme pour tout objet ; la masse = densité × aire du contour
Fixer au fondclic droitla forme devient un obstacle fixe
Layerclic droit › Layerson étage
Position, rotationà la sourispas de champ chiffré pour une forme libre

En Python

import math
# Une étoile à cinq branches, dessinée par une boucle.
points = []
for k in range(10):
    r = 80 if k % 2 == 0 else 35
    a = math.radians(-90 + k * 36)
    points.append((r * math.cos(a), r * math.sin(a) - 150))
etoile = dessin(points=points, materiau="bois", couleur="#f59e0b")
sol(x=0, y=200)
Essayer ce code dans l’atelier Python

dessin(points, materiau, couleur, angle, fixe, etage) — les points sont en coordonnées du monde ; la pièce est recentrée sur son centre de gravité. Voir dessin().