[Draw] Manipulation de cercles et analyse de leur position

Vos meilleures macros et portions de code sont publiées dans cette section.
Aucun support sur une question de programmation ici !

Modérateur : Vilains modOOs

Règles du forum
Aucune question dans cette section !
Celle-ci rassemble les meilleures macros et portions de code. Vous pouvez en revanche commenter ou argumenter le code exposé. Vous pouvez même remercier l'auteur (cela fait toujours plaisir) en indiquant par exemple dans quel cadre ou contexte vous en avez eu l'utilité.
Si vous avez à poster quelque chose, faites-le depuis la section Macros et API et demandez à un modérateur de l'y déplacer.
Avatar de l’utilisateur
Sébastien C
Membre hOOnoraire
Membre hOOnoraire
Messages : 157
Inscription : 28 avr. 2008 23:21
Localisation : Meymac (19250)

[Draw] Manipulation de cercles et analyse de leur position

Message par Sébastien C »

Je suis en train de réfléchir au placement automatique de cercles (tous différents) sur un plan. Tout cela suit des règles très strictes qui n’ont pas d’importance ici. Mais je me suis demandé comment faire en sorte que le programme « sache » si deux cercles donnés se touchent, s’inter-pénètrent ou de combien de millimètres ils se trouvent éloignés de leur circonférence. La chose m’est utile puisque, dans mon cas, je réalise des planches en bois de ce type :
stdag_fs_apres.jpg
et l’on doit laisser, à la conception de la chose, suffisamment de matière entre les trous pour ne pas, comme c’est le cas dans la présente illustration, que cela casse et obliger en conséquence votre serviteur à faire de la restauration...

Pour faire simplement appel au théorème de Pythagore la solution n’est vraiment pas complexe.

Cette macro présente aussi l’avantage de démontrer qu’il est possible d’écouter ce que fait l’utilisateur en déplaçant des formes. Pour être largement débattue sur le présent forum, la technique du listener ne manque pas d’être maintenant très connue ; la voici donc appliquée à des formes graphiques utilisées par Draw.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 3.5.3.2 sous GNU-Linux Mageia 2.