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
- Palette › Forme pleine.
- Presse, dessine le contour sans relâcher, relâche : le tracé est refermé automatiquement (une corde en pointillé montre où, pendant le tracé).
- 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, Restitution | clic droit › Matériau | comme pour tout objet ; la masse = densité × aire du contour |
| Fixer au fond | clic droit | la forme devient un obstacle fixe |
| Layer | clic droit › Layer | son étage |
| Position, rotation | à la souris | pas 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 Pythondessin(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().