Pensez à lire la Charte avant de poster !

$\newcommand{\K}{\mathbf K}$


Les-Mathematiques.net - Cours de mathématiques supérieures
 Les-Mathematiques.net - Cours de mathématiques universitaires - Forum - Cours à télécharger

A lire
Deug/Prépa
Licence
Agrégation
A télécharger
Télécharger
120 personne(s) sur le site en ce moment
E. Cartan
A lire
Articles
Math/Infos
Récréation
A télécharger
Télécharger
Théorème de Cantor-Bernstein
Théo. Sylow
Théo. Ascoli
Théo. Baire
Loi forte grd nbre
Nains magiques
 
 
 
 
 

Répartition d'éléments sur une sphère

Envoyé par Dldler 
Re: Répartition d'éléments sur une sphère
il y a quatre années
Ah, oui. Je voulais aussi préciser parce que ce n'est peut-être pas très clair : je recherche plutôt des "structures" organisées comme les propose remarque.
Je me sers ensuite de l'aléatoire pour éviter la perfection mathématique (donc très peu d'aléatoire) ou esthétique.
En voici un autre d'ailleurs : (30,255,5). Je trouve que l'aléatoire et la structure se marient bien sur ce genre d'exemple.
Re: Répartition d'éléments sur une sphère
il y a quatre années
C'était pour rigoler Jacquot, ils sont super-jolis, tes petits carrés, on dirait des bouts de tomate et j'adore la tomate... sur la pizza et là, ça semble mieux au niveau densité sur le bord.

Bon, surtout, qu'une légère vexation ne vous détourne pas de l'objectif, feu d'artifice généralisé et équiréparti sur planète totale pour le 31 décembre 2014 dernier carat, je dois fêter un truc.

Bon après-midi,
Denise
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
J'ai choisi au hasard $m=500$ points sur la sphère et j'ai jeté ceux qui avaient un voisin à moins de $k=\arccos(7.5°)$ d'écart angulaire. On peut varier $m$ et $k$.
Les points bleu-clair sont à l'arrière.


Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
Pour une structure régulière, je choisirais les sommets, le centre des faces ou le milieu des arêtes d'un polyèdre archimédien

[www.mathcurve.com]

Ensuite tu déplaces chaque point d'un petit arc.
Cordialement
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
Bonjour jacquot,

Quel navigateur utilises-tu ? Je sais que Codeskulptor peut planter sous IE.
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
Ah ben oui, merci Philippe.
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
La méthode prônée par GaBuZoMeu : on voit nettement moins les triangles de l'icosaèdre comme prévisible, par contre, le nombre de points croît exponentiellement.

Merci à Philippe Malot pour le réglage de l'affichage des images. J'espère ne pas dépasser sur ce coup-là... grinning smiley


Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
Allez, je n'ai pas pu résister même si scilab n'est pas là pour rigoler (ni vraiment fait pour ça) : que la fête commence ! grinning smiley


Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
Pardonnez-moi de jouer les prolongations:
j'ai été interloqué par les deux premiers messages de Siméon : je comprenais bien que des choix de vecteurs de coordonnées aléatoires suivant une loi uniforme donneraient une distribution non isotrope, la diagonale du cube étant plus longue que son arête.
Mais pourquoi le tirage des coordonnées suivant la loi normale donne-t-il une bonne équirépartition des directions des vecteurs ?

Ce questionnement m'a conduit vers l'article de Wikipédia relatif au calcul de l'intégrale de Gauss et aussi vers ce document : tirages aléatoires uniformes et gaussien qui m'ont permis de comprendre enfin comment il se fait que $\pi$ apparaît dans l'expression de la loi normale.

C'est, en quelque sorte par Pythagore : $e^{-x^2}\times e^{-y^2}\times e^{-z^2} = e^{-(x^2+y^2+z^2)}$
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
À prolongation, prolongation et demie. La question se pose pour la répartition des alvéoles sur les balles de golf. Voici quelques liens : pourquoi 432 alvéoles ?, comment placer N points “régulièrement” sur une sphère ?, brevet de balles de golf, codes icosaédraux, etc.
Re: Répartition d'éléments sur une sphère
il y a quatre années
Bonjour,

Une spéciale dédicace à Jacquot : trouvée à l'instant, visionnée, mais restée incomprise : où il est question de la puissance suggestive de la pizza...
Comment un photon voit l'univers

Denise
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
Merci Denise, pour cette délicate attention matinale.
Je regarderai encore cette video, mais sans le son, ce sera mois fatigant !confused smiley
Bonnes fêtes.
jacquot
Re: Répartition d'éléments sur une sphère
il y a quatre années
Bonjour Jacquot,

Bonne fête également, ainsi qu'à tous.
Non, vraiment, il faut que tu attendes d'être dans un endroit équipé dignement, informatiquement parlant : sans le son, cette vidéo-là, c'est même pas la peine...
J-5 pour le feu d'artifice équitablement réparti sur la sphère, vivement !

Denise
Re: Répartition d'éléments sur une sphère
il y a quatre années
Re bonjour à la communauté et meilleurs vœux à tous.
Je progresse à petits pas sur mon projet. J'en suis toujours à explorer la piste Lambert, que je me suis amusé à "spiraler" après avoir découvert les liens proposés par Jer.
Tout ceci pour dire à Denise qu'il ne faut pas compter sur un feu d'artifice a brève échéance, le 14 juillet (2015?) me semble plus réaliste winking smiley
version Lambert en spirale

Si je repasse par là, c'est parce que je me suis vite aperçu que j'allais avoir besoin de faire tourner ma sphère dans l'espace, une fois mes calculs réalisés, pour éviter un effet répétitif des effets parasites comme les couronnes apparaissant avec la méthode Lambert. Sauf que je m'y perd un peu, et si quelqu'un voulait bien me transcrire une formule dans mon petit vocabulaire, cela m'éviterais d'acheter une nouvelle boîte d'aspirine.

Voici ce que je conçois :
– à la fin de mes calculs de distribution, j'ai une liste de vecteurs (x,y,z), de longueur 1, que je voudrais faire pivoter dans l'espace.
– pour cela, je crois que je dois choisir 2 angles : a1 et a2, (en radians ? donc entre 0 et 2*PI)
– mais ensuite ? mes recherches m'emmènent vers des choses comme ceci auxquelles je ne comprends vraiment rien. Pardonnez-moi…

Y a t'il une formule exprimable de cette façon :
x2 = x * (sin(angle1)) + y (cos(angle2)) + z * (truc_en_us(?))
y2 = y * (sin(angle1)) + z (cos(angle2)) + x * (truc_en_us(?))
z2 = z * (sin(angle1)) + x (cos(angle2)) + y * (truc_en_us(?))

(ne cherchez pas une valeur scientifique à cette formule, c'est juste une projection imaginaire pour vous montrer comment je réfléchis et de quel vocabulaire je dispose)

Merci de votre compréhension.



Edité 1 fois. La dernière correction date de il y a quatre années et a été effectuée par Dldler.
Re: Répartition d'éléments sur une sphère
il y a quatre années
Bonjour Dldler,
Je suis vraiment contente d'avoir de vos nouvelles : j'étais très curieuse de savoir où vous en étiez mais ne voulais pas vous mettre la pression. "Aux âmes bien nées, la valeur n'attend point le nombre des années", l'essentiel est de savoir que vous n'avez pas abandonné et que vous consacrez à cela un peu de votre temps. Je suis désolée de ne pas trop pouvoir vous aider mais suis persuadée que vous allez trouver plein d'experts ici qui vont vous fournir les données qui vous manquent vite fait.
Au 14/7 donc (2 en fait !).
Denise
Re: Répartition d'éléments sur une sphère
il y a quatre années
Bonjour Didier,
Pour les rotations en 3D et d'une façon générale les transformations affines, j'évite autant que possible de calculer des angles, ne serait-ce que pour des questions de performance.
La formule que vous avez écrite est naturellement la formule utilisée, mais je ne cherche pas à connaitre les angles. Elle s'écrit dans le cas général
X=TX + XX.x + XY.y + XZ.z
Y=TY + YX.x + YY.y + YZ.z
Z=TZ + ZX.x + ZY.y + ZZ.z
TX, TY, TZ représentent la translation, nulle dans votre cas
Il y a donc 9 paramètres à calculer, c'est à dire qu'il faut connaitre 3 point dans le système de départ et dans le système d'arrivée.
Il faut tout de même garder en tête que cette transformation contient une affinité, c'est à dire une déformation. Etant donné que les calculs sont faits avec un nombre fini de chiffres significatifs, il faut éviter de cumuler ces déformations, sinon, votre sphère risque de se reprouver avec une forme de patatoïde. La solution pour éviter cela est d'utiliser 4 points, on a ainsi une translation non nulle.
Vous pouvez aussi aller jetter un coup d'oeil du côté des angles d'Euler.
Re: Répartition d'éléments sur une sphère
il y a quatre années
Bonjour Dlzlogic et merci pour ta participation.
J'avoue humblement que je n'ai rien compris, et pourtant ça ressemble bien à ce que je cherche (en tous cas, ça me parle beaucoup plus que ce que vous appeler matrices, je crois)
Que sont XX, XY et XZ ? Pourquoi associés avec des .x .y et .z ?
Je reste dans le flou…

De mon côté, je tente ma méthode préférée : décomposer les problèmes qui me dépassent en plus petits problèmes que je peux maîtriser…
J'en suis la :

Je pose mon énoncé et mon vocabulaire :
– je connais un point/vecteur que je nomme v1, de coordonnées (x1,y1,z1) et de longueur 1;
– j’applique une rotation d’un angle a1 sur l’axe des z
– et une rotation d’un angle a2 sur l’axe des x
– je cherche le résultat, que je nomme v2, de coordonnées (x2,y2,z2)

Ma démarche :
je récupère d’abord les coordonnées polaires(?) de v1 :
je vois ça comme deux angles : méridien et parallèle , je les appelle donc m1 et p1.

Je pense (grâce à cet article que j'arrive à comprendre à peu près, en fait) que :
m1 = arctan(y1/x1)
p1 = arccos(z)

Ensuite, je ne suis pas sûr de la correspondance avec mes axes x et z, mais j’ai l’intuition que ça ne doit pas avoir d’influence si je modifie le repère orthonormé, puisque je cherche a faire de l’aléatoire et pas des sciences pures ? Aussi, j’ai bien envie de tenter d’ajouter bêtement les angles…
m2 = m1 + a1
p2 = p1 + a2

Et enfin, je retraduis en coordonnées cartésiennes avec :
x2 = sin(p2) * cos(m2)
y2 = sin(p2) * sin(m2)
z2 = cos (p2)

Est-ce que ma démarche vous semble logique ?



Edité 1 fois. La dernière correction date de il y a quatre années et a été effectuée par Dldler.
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
La répartition des points servant à donner des vitesses initiales aux étincelles*, elle n'a pas probablement besoin d'être tournée dans l'espace. Dans l'exemple que j'ai fait plus haut, j'ai pris je ne sais plus quelle distribution régulière, sans doute celle à base d'icosaèdre, toujours la même, et j'ai ajouté un petit bruit uniforme. Ce qui change à la fois un peu la direction dans l'espace et la vitesse initiale en norme. Bien malin qui verrait une quelconque régularité dans plusieurs tirages successifs...

* Edit : en tout cas, c'est comme ça que j'ai compris la chose.



Edité 1 fois. La dernière correction date de il y a quatre années et a été effectuée par remarque.
Re: Répartition d'éléments sur une sphère
il y a quatre années
Je découvre votre fil avec admiration! Sur ton animation remarque, on voit même l'icosaèdre comme dans les vieux livres. D'ailleurs, Je ne comprends pas pourquoi on voit le dessins comme dans les vieux livres: un triangle plus foncé que l'autre. Enfin c'est très beau, merci. Mais du coup sur le feu d'articifice on pourrait voir apparaître un icosaèdre. Un feu d'artifice quasi-mystique, j'aimerais bien voir ça.

M.
PS: En voyant toutes ces animations. Je me demande bien ce qu'il se passerait pour un groupe engendré par trois réflexions hyperplanes génériques? ou trois rotations génériques? Ca devrait être beaucoup plus uniforme. Et si on prend d'autre sous-groupes discret connus, mais pas finis?
Re: Répartition d'éléments sur une sphère
il y a quatre années
Bonsoir à tous,

Dldler : Mais c'est que c'est déjà franchement joli ce que tu nous as concocté, vraiment ! Merci !

C'est marrant comme, lorsqu'on se fait une image en tête au sujet de quelque chose qui nous est dit, l'image qui est dans notre tête peut ne pas correspondre à l'image que la personne qui nous parle a quant à elle dans la tête : pour moi, ton ambition était immense en ce sens que je croyais que tu voulais lancer les différents pétards depuis des points de la sphère équitablement répartis et qu'ensuite, dans le ciel à différentes hauteurs, les pétards éclataient en une seule explosion chacun ; un peu comme si, simultanément, depuis les villes de la Terre Tokyo, Dakar, New York, Lomé, Paris, Alger, Zurich, étaient tirés un pétard en chaque endroit avec éclatement en multi-points (à la même hauteur ou pas) au zénith des villes en question.

Tu peux vraiment arrêter là t les félicitations sont méritées parce que l'idée que j'avais devrait donner un machin tout fouillis à côté de ce que je vois là qui est vraiment chouette.

Bravo.

Denise
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
@Didier : le même icosaèdre de base, pas de rotation, un peu hasard surajouté pour chaque fusée (animation à cliquer) :


Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
Bonjour Dldler,
C'est sympa de nous tenir au courant de l'avancement de ton projet..
J'ai cliqué sur ton lien et fait joujou avec les curseurs. Ton "Lambert spiralé" est très joli, l'inconvénient est que les pôles apparaissent comme des points privilégiés.
C'est sans doute pour cette raison que tu veux faire tourner ta sphère entre deux lancements de fusée.
Tes formules de rotation sont correctes.

Comme remarque, j'ai une préférence pour les répartitions brouillées, il appelle ça le bruit, pour toi, c'est la dispersion.
Si ce brouillage est important, il n'est plus nécessaire de faire des rotations entre deux lancers.
Mais si tu veux qu'une structure reste visible, c'est un choix esthétique qui t'appartient.
Et je te fais confiance pour le resultat !



Edité 1 fois. La dernière correction date de il y a quatre années et a été effectuée par jacquot.
Re: Répartition d'éléments sur une sphère
il y a quatre années
Merci jacquot pour la confirmation des formules et tu as parfaitement compris l'intérêt de faire tourner la sphère : garder une structure qui reste visible et donc la faire pivoter pour éviter une répétition visuelle de ces "points privilégiés"

C'est vrai qu'à force de tests, mes intentions évoluent et que je me suis un peu écarté de ma question d'origine. Je ne cherche plus à faire une répartition équilibrée (même si j'en garderai pour certaines fusées) mais à rendre visible une structure 3D. Je trouve que c'et un bon équilibre entre l'esthétique et l'illusion du volume. Dans ce sens, le "bruit" devient un effet esthétique, pas un brouillage pour cacher les défauts.

Il me reste encore beaucoup de pistes à explorer : isocaèdre, cube, tétraèdre, "berlingot" et sans doute des variantes autour du cylindre, pourquoi pas. Donc vous aurez de mes nouvelles de temps en temps promis, et je vais essayer de faire un dossier récapitulatif de toutes mes recherches.

@ Denise : un feu d'artifice autour du globe terrestre ? Idée bizarre, mais intéressante. Dans le même ordre d'idée, quand j'en aurai finis avec mes répartitions, je compte travailler sur des fusées complexes, à plusieurs niveaux : un lanceur pour faire monter la fusée, une première explosion qui projette de nouveaux lanceurs qui exploseront à leur tout plus tard. Ça devrait te plaire winking smiley

Et merci aux autres également, je suis attentif à tout ce que vous dites et j'y pioche des idées et des méthodes. Ça me permet aussi de redéfinir mes objectifs pour avoir l'esprit bien clair.



Edité 1 fois. La dernière correction date de il y a quatre années et a été effectuée par Dldler.
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
@Didier. Bon, je maintiens qu'il est inutile de faire des rotations pour obtenir un effet visuel satisfaisant dans le cas d'une fusée sans structure apparente. Le pseudo-hasard suffit. Néanmoins, si tu tiens à faire des rotations pour faire des fusées où il y a une structure apparente, il ne faut pas utiliser les angles d'Euler qui ont tout un tas d'inconvénients. La représentation le plus employée en informatique graphique pour les rotations de l'espace utilise les quaternions de norme 1.* Tu me diras, encore une terrrrible bête mathématique. Certes, mais là, c'est comme ça, il n'y a pas de solution simpliste. Je me rappelle être tombé au hasard du Web sur un site pas mal fait où un type explique comment implémenter un certain nombre de trucs mathématiques de ce genre en javascript (quaternions, schémas numériques pour les ode, ...). Tu devrais pouvoir le retrouver assez facilement. Un premier lien.

* Edit : si je comprends bien, c'est pour pouvoir représenter des familles continues de rotations, comme celles associées au mouvement d'un solide dans l'espace. Si ton but est de tirer des rotations au hasard sans lien les unes avec les autres, les angles d'Euler peuvent peut-être suffire, il y a également une autre formule à base de produits vectoriels et de produits scalaires que je ne retrouve plus mais qui est très simple.



Edité 2 fois. La dernière correction date de il y a quatre années et a été effectuée par remarque.
Re: Répartition d'éléments sur une sphère
il y a quatre années
@remarque : tu as raison, la rotation est inutile sans structure apparente.

Pour les rotations, je veux juste une rotation (qui sera aléatoire par la suite) à la création des vecteurs.
Je ne veux pas répéter cette rotation pour faire tourner la sphère pendant l'explosion.

Pour les quaternions, j'ai vraiment essayé de comprendre, mais je ne vois pas le bout du début de comment ça marche.
Dans un des cours proposés sur la page wiki, j'ai même l'impression que des "versors" seraient suffisants puisque je ne change jamais la longueur de mes vecteurs ? C'est tout ce que j'ai compris. Bref, je crois que je vais abandonné cette piste.
Pour les produits vectoriels, ce sont les grandes accolades avec un tableau dedans… et il me manque la pierre de Rosette pour comprendre comment ça marche.

Enfin, pour la formule que je voulais essayer, elle semble ne pas marcher.
Un seul des axes de rotation fonctionne, l'autre crée des aberrations… Je vais retourner plancher quand même de ce côté. Si je trouve laquelle des 2 rotations est bonne, je pourrai peut être enchaîner 2 transformations en échangeant les axes plutôt que de tenter les 2 rotations en même temps… (mais au passage, ça m'a fait découvrir de jolies formes)
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
@ Didier, je n'ai pas le temps maintenant, mais je reviendrai là-dessus ce soir ou demain, à moins que quelqu'un d'autre ne soit passé avant.
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
Pour les coordonnées sphériques,
m1 longitude m1= arctan y1/x1 (à pi près)
p1 lattitude p1= arcsin z1
m2 étant ta nouvelle longitude et p2 la nouvelle latitude, essaye les formules suivantes :
x2= cos(m2) cos(p2)
y2 = sin(m2) cos (p2)
z2 = sin(p2)



Edité 1 fois. La dernière correction date de il y a quatre années et a été effectuée par jacquot.
Re: Répartition d'éléments sur une sphère
il y a quatre années
@ remarque : OK, merci. Je n'ai pas de souci de délais, ne vois pas ça comme une urgence. En plus, ça me permet me creuser la cervelle pendant ce temps là et c'est ce qui me plait.

J'ai réussi en procédant en 2 étapes à paramétrer la rotation de la sphère. La mise à jour est ici

Si d'autres venaient ) être intéressé (ou si quelqu'un voyait comment simplifier…), je vous donne la progression que j'ai suivi :

Je pose mon énoncé et mon vocabulaire :
– je connais un point/vecteur que je nomme v1, de coordonnées (x1,y1,z1) et de longueur 1;
– j’applique une rotation d’un angle a1 sur l’axe des z
– et une rotation d’un angle a2 sur l’axe des x
– je cherche le résultat, que je nomme v2, de coordonnées (x2,y2,z2)

Ma démarche :
je récupère d’abord les coordonnées polaires(?) de v1 :
je vois ça comme deux angles : méridien et parallèle , je les appelle donc m1 et p1.

m1 = arctan(y1/x1)
p1 = arccos(z1)

j'applique la première rotation sur l'angle p (si on le fait sur l'angle m, on obtient des aberrations)
p' = p1 + a1

Je retraduis en coordonnées cartésiennes avec :
x' = sin(p') * cos(m')
y' = sin(p') * sin(m')
z' = cos (p')

Dans un deuxième temps, je reproduis la même démarche, mais en interchangeant les coordonnées x et z, ce qui donne :
m2 = arctan(y'/z')
p'' = arccos(x')
p2 = p'' + a2

z2 = sin(p2) * cos(m2)
y2 = sin(p2) * sin(m2)
x2 = cos (p2)
Re: Répartition d'éléments sur une sphère
il y a quatre années
@ jacquet : ça ne fonctionne pas. Par contre j'obtiens une sorte d'escargot (hélicoïde ?) en dehors de la sphère.
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
Je pense que tes aberrations proviennent du fait que ta longitude est définie à pi, près.
Il vaudra mieux faire un calcul matriciel:
rotation d'angle a1 autour de l'axe des z
x' = x.cos (a1) - y.sin(a1)
y' = x.sin(a1) + y.cos(a1)
z' = z
puis rotation d'angle a2 atour de l'axe des x
x" = x'
y" = y'.cos(a2) - z'.sin(a2)
z" = y'.sin (a2)+ z'.cos(a2)

Essaye de voir du côté de "Matrice d'une rotation" pour comprendre comment ça fonctionne.
En espérant que ça marche cette fois !
Amicalement. jacquot



Edité 3 fois. La dernière correction date de il y a quatre années et a été effectuée par jacquot.
Re: Répartition d'éléments sur une sphère
il y a quatre années
Juste une toute petite question :
x.cos (a1)

ça veut dire
x multiplié par cos(a1)

?

(désolé si ça vous parait évident…)
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
Re: Répartition d'éléments sur une sphère
il y a quatre années
Rahhhh… ça va éclaircir beaucoup de trucs que je trouve sur le net…
Grand merci.
smiling smiley
Re: Répartition d'éléments sur une sphère
il y a quatre années
Un autre grand merci, jacquot, ça marche parfaitement.
En plus, je comprends ce que je fait, et j'ai transposé pour une rotation sur les axes x et y qui correspondent mieux à ma vue.
Cette version est également plus rapide pour le processeur puisque je peux stocker le calcul des sin et cos afin de m'en resservir pour chaque particule.

Version adopté.
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
thumbs down Super, si tu pouvais juste corriger l'orthographe de "Dispersion. winking smiley


PS je viens juste de découvrir les curseurs sur les axes pour faire les rotations...



Edité 1 fois. La dernière correction date de il y a quatre années et a été effectuée par jacquot.
Re: Répartition d'éléments sur une sphère
il y a quatre années
Re: Répartition d'éléments sur une sphère
il y a quatre années
@ Didier,
Oui, c'est vraiment bien.
Je suis sûr que Denise aimera aussi.
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
@ Didier : la formule dont je ne me rappelais pas peut en fait être directement recopiée depuis wikipedia.

$$R = P +\cos\theta(I-P) + \sin\theta Q = I + \sin\theta Q + (1-\cos\theta)Q^2$$


$$P = \begin{pmatrix}
u_x^2 & u_x u_y & u_x u_z \\
u_x u_y & u_y^2 & u_y u_z \\
u_x u_z & u_y u_z & u_z^2
\end{pmatrix} = uu^t,\qquad I = \begin{pmatrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{pmatrix},\qquad Q = \begin{pmatrix}
0 & -u_z & u_y \\
u_z & 0 & -u_x \\
-u_y & u_x & 0
\end{pmatrix}
$$
$I$ est la matrice identité $3 \times 3$. La matrice $Q$ est la représentation antisymétrique de $u$, correspondant à l'application linéaire $ v\mapsto u\wedge v$ (où $\wedge$ est le produit vectoriel). La matrice $P=I+Q^2$ est la projection sur l'axe de rotation et $I-P=-Q^2$ est la projection sur le plan orthogonal à l'axe dirigé par $u$.

J'ajoute que $u$ est un vecteur unitaire donnant l'axe de rotation et $\theta$ est l'angle de la rotation (bon il y a des histoires d'orientation, laissons cela de côté). On peut utiliser cette formule pour tirer des rotations au hasard de façon uniforme par rapport à l'axe et à l'angle.
Re: Répartition d'éléments sur une sphère
il y a quatre années
Tu sais, Remarque, la formule donnée par Jacquot fait exactement la même chose. Il ne s'agit de toute façon que de multiplications et d'additions, alors, autant comprendre la formule qu'on utilise, même si elle est décrite en deux fois trois lignes.
Dans le cas présent, il s'agit de calcul numérique et non de mathématiques fondamentales.
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
Sans blagues ! smiling bouncing smileysmiling bouncing smileysmiling bouncing smiley

Bon, enfin bref... peu importe.
Re: Répartition d'éléments sur une sphère
il y a quatre années
avatar
@Didier : je n'avais pas trop envie de faire des feux d'artifice hier, ce n'est pas beaucoup mieux aujourd'hui, mais enfin... Donc apparemment, tu utilises seulement deux angles pour faire tes rotations. Or les rotations en dimension 3 forment un objet de dimension 3 : en gros, on a besoin de 3 scalaires pour déterminer une rotation dans l'espace (cf. le compas monté sur cardan que je joins plus bas). Ainsi, il y a trois angles d'Euler, etc. Avec deux angles seulement, tu ne parcours qu'une partie infime de l'ensemble des rotations. Ce n'est peut-être pas trop grave du point de vue visuel, mais il faut le savoir.

Je poste ci-dessous un feu d'artifice où les rotations ont été calculées avec la formule que j'ai indiquée plus haut, avec un axe au hasard et un angle au hasard. Les premières fusées ont la symétrie de l'octaèdre non perturbée aléatoirement, les suivantes celle de l'icosaèdre et j'ai fini avec un peu de symétrie diédrale, on peut bien sûr continuer avec d'autres distributions de points.


Re: Répartition d'éléments sur une sphère
il y a quatre années
Bonsoir,

Ce post pour vous dire une toute petite chose, Dldler, au cas où vous en ayez besoin : j'ai regardé votre fichier joint il y a quelques temps déjà (spheres.pdf) dans lequel les dessins sont explicites. Je pense que vous aurez rectifié de vous-même le nombre de points d'intersection des parallèles et méridiens, il vaut 2ml+2 (vous l'avez appelé p) : imaginez les points des pôles partant à l'infini, cela coupe chaque méridien en 2 "bouts de méridiens" diamétralement opposés sur le cylindre obtenu par le "départ à l'infini des pôles" ! Chaque méridien coupant chaque parallèle en 2 points, ça donne le 2ml et le +2 est l'"ajout des pôles".

@+
Denise
Re: Répartition d'éléments sur une sphère
il y a trois années
Re bonjour à la communauté.

Je dois d'abord vous dire que j'adore cet exercice. Il est à la limite de mes capacités, et j'adore ça.

Pour revenir un peu en arrière et répondre :
@ Denise : oui, je savais que les méridiens font tout le tour de la terre. J'ai choisit d'utiliser le mot quand même, mais en n'utilisant que des demis méridiens, qui me permettent des découpages en nombres impairs de secteurs, c'est donc un abus de langage de ma part.

@dlzlogic smiling smiley Merci, je suis très reconnaissant envers ceux qui veulent bien "descendre" à mon niveau. Cela ne m'empêche pas d'avoir énormément de respect pour ceux qui maitrisent et peuvent énoncer les choses de façon plus "compact". Je comprends bien qu'à partir d'un certain niveau c'est nécessaire, et même qu'ensuite il est difficile de comprendre ce que cela peut avoir d'ésothérique.

@remarque : tu m'as fait souffrir avec cette idée des 3 rotations, mais mon côté maso te remercie grinning smiley.
J'ai eu du mal à comprendre l'idée, puis elle a pris place en douceur dans ma comprenoote de cette façon :
— en fait, il n'y a besoin que de 2 rotations (maximum) pour déplacer un point A vers un emplacement quelconque B
— mais cela ne donne qu'une seule position de la sphère où le point A est à l'emplacement B , alors que toutes les rotations de la sphère autour de l'axe OB sont également possibles.


Pour mon projet :
— après avoir imlémenté, avec un peu de mal, la triple rotation, j'ai nettoyé mon code et travaillé pour avoir un outil évolutif. Pendant cette période, j'ai beaucoup joué avec l'inverse de la projection de Lambert, sans doute parce que je la comprends bien et que je peut jouer plus facilement sur la grille (en 2 D) que directement dans l'espace en 3D. J'y ai trouvé plein de choses intéressantes.
— j'ai ajouté une pseudo perspective
— ainsi qu'un mécanisme de remplissage triangulaire
— le reste était plus facile : retrouver les points des solides concernés et les regrouper en triangles
— j'ai juste abandonné le dodécèdre, car je me suis perdu deux fois dans le découpage en faces triangulaires. Comme je ne pense pas que le manque de cette figure se fasse sentir, j'ai renoncé*.

Voilà ce que cela donne pour l'instant : petit outil interactif

Je vais maintenant tenter de réaliser la version telle que je l'ai imaginée dans mon premier post. Ce n'est pas sûr que j'y parvienne, mais je suis curieux de voir comment le principe se comporte dans la réalité. Après cette étape, je vous ferai un beau compte rendu final pour vous remercier de m'avoir accompagné. Ça ne vous apprendra sans doute pas grand chose, mais si un autre hurluberlu venait à chercher des infos sur le sujet, ça pourrait peut-être lui simplifier la tache, et le diriger vers une communauté sympathique. Encore merci à vous (évidemment, je reviendrai aussi une dernière fois quand j'aurai tout implémenté dans un joli feu d'artifice interactif pour vous montrer ça).



————————————————————————
*Maintenant, si quelqu'un en avait besoin, il me manque juste la liste des pentagones en fonctions de mes points pour m'en sortir. Si quelqu'un l'a dans ses cartons, où s'il a la capacité d'abstraction pour le visualiser, je mettrais à jour la forme dans mon outil avec plaisir.
Pour infos, voici ma liste de points :

A : (0,ron,nor)
B : (0,ron,-nor)
C : (0,-ron,nor)
D : (0,-ron,-nor)

E : (nor,0,ron)
F : (nor,0,-ron)
G : (-nor,0,ron)
H : (-nor,0,-ron)

I : (ron,nor,0)
J : (ron,-nor,0)
K : (-ron,nor,0)
L : (-ron,-nor,0)

M : (-1,1,-1)
N : (-1,1,1)
O : (-1,1,-1)
P : (-1,1,1)
Q : (1,-1,-1)
R : (1,-1,1)
S : (1,1,-1)
T : (1,1,1)

nor est le nombre d'or : (1+ racine de 5)/2
et ron son inverse : 1/nor



Edité 1 fois. La dernière correction date de il y a trois années et a été effectuée par Dldler.
Re: Répartition d'éléments sur une sphère
il y a trois années
avatar
Bonjour Didier,

D'abord thumbs down pour les rotations à trois angles.

Je n'ai pas bien compris tes animations non sphériques avec les points situés apparemment sur un cube ou sur un dodécaèdre ? Pour un vrai feu d'artifice physique, ce n'est pas possible a priori.
Re: Répartition d'éléments sur une sphère
il y a trois années
Bonjour remarque,
Pour les volumes, j'ai mis un curseur normalisation qui permet de ramener les grilles des faces vers la surface de la sphère. J'ai laissé la valeur a zéro pour bien voir la structure de base, mais c'est sur que dans le feu d'artifice, cette valeur sera à 1 (ou très proche) à moins de mettre une dispersion importante sur le rayon
Re: Répartition d'éléments sur une sphère
il y a trois années
avatar
Ç'ui-là m'a l'air pas mal :



Edité 1 fois. La dernière correction date de il y a trois années et a été effectuée par soland.


Re: Répartition d'éléments sur une sphère
il y a trois années
avatar
@ Didier : d'accord pour le curseur, je n'avais compris ce qu'il faisait.

En termes de rotation, ce serait marrant si les curseurs de rotation restaient actifs durant le tir.

Pour l'icosaèdre*, je n'ai pas très bien compris ce qui te manque, je mets du vieux code scilab si ça peut t'aider.

phi=(1+sqrt(5))/2

function y=subdivise(M) // subdivise un triangle en 4
    a=M(:,1)
    b=M(:,2)
    c=M(:,3)
    t1=[a,(a+b)/2,(a+c)/2]
    t2=[b,(a+b)/2,(b+c)/2]
    t3=[c,(a+c)/2,(b+c)/2]
    t4=[(b+c)/2,(a+b)/2,(a+c)/2]
    y=[t1,t2,t3,t4]
endfunction

function y=subdivisetout(M) // subdivise une liste de triangles
    [p,q]=size(M)
    y=[]
    for j=1:q/3
        m=M(:,1+3*(j-1):3*j)
        y=[y,subdivise(m)]
    end
endfunction

function y=sphere(x) // projection sur la sphère
    n=[1;1;1]*sqrt(sum(x.*x,'r'))
    y=x./n
endfunction


S1=[0,phi,1;0,-phi,1;0,phi,-1;0,-phi,-1]
S2=[1,0,phi;-1,0,phi;1,0,-phi;-1,0,-phi]
S3=[phi,1,0;phi,-1,0;-phi,1,0;-phi,-1,0]
S=[S1;S2;S3]' // sommets de l'icosaèdre initial

M0=[] // liste des triangles initiaux : on teste les paires de sommets à distance = 2
for l=1:10
    C1=S(:,l)
     for i=l+1:11
         if norm(C1-S(:,i))<=2.1
             C2=S(:,i)
             for j=i+1:12
                 if norm(C2-S(:,j))<=2.1&norm(C1-S(:,j))<=2.1
                     C3=S(:,j)
                     M0=[M0,[C1,C2,C3]]  
                 end
             end
         end
     end
end

M0=M0/(sqrt(1+phi^2)) // il faut ramener tout ça sur la sphère unité
y=M0 // y va contenir les vitesses initiales

if K>0 then
    for k=1:K
    y=sphere(subdivisetout(y))
    end
end

//elimination des doublons : la subdivision aveugle duplique certains sommets des arêtes, pas bon en cas de bruit ajouté ensuite
test=1
rang=1
while test>0
    [p,q]=size(y)
    if rang==q+1 then
        test=0
    else
        reste=y(:,rang+1:$)
        [m,n]=size(reste)
        D=reste-y(:,rang)*ones(1:n)
        D=sum(D.*D,'r')
        bon=find(D>0)
        y=[y(:,1:rang),reste(:,bon)]
        rang=rang+1
    end
end

* Ah en fait, je suis hors sujet puisque tu parles de dodécaèdre...



Edité 2 fois. La derni&egrave;re correction date de il y a trois ann&eacute;es et a &eacute;t&eacute; effectu&eacute;e par remarque.
Re: Répartition d'éléments sur une sphère
il y a trois années
avatar
A la réflexion, pour trouver les faces du dodécaèdre, le plus simple est probablement de faire deux ou trois projections bien choisies de tes points sur des plans et de compter à la main. Malheureusement, je n'ai pas de logiciel sous la main qui permette de placer des étiquettes en 3d. Peut-être Geogebra le fait, je n'ai pas essayé. Donc ça peut se dessiner à la main au pire. Beaucoup de mains dans ce message.

Edit : oui, très facile avec Geogebra 5, mais là c'est un peu tard.



Edité 1 fois. La derni&egrave;re correction date de il y a trois ann&eacute;es et a &eacute;t&eacute; effectu&eacute;e par remarque.
Re: Répartition d'éléments sur une sphère
il y a trois années
avatar
@ Didier : j'ai corrigé tes points O=(-1,-1,1) et P=(-1,-1,-1) qui n'étaient pas corrects, et avec cet étiquetage, on obtient les faces

ACOGN
ACRET
ATIKN
CRJLO
OLPHG
GHMKN
REFQJ
ETISF
KISBM
SBDQF
BMHPD
DQJLP
Pièces jointes:
ouvrir | télécharger - dodec.ggb (9.6 KB)
Re: Répartition d'éléments sur une sphère
il y a trois années
Un grand merci Remarque.
Je passe ça dès que j'ai un peu de temps.
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquer ici pour vous connecter

Liste des forums - Statistiques du forum

Total
Discussions: 131 912, Messages: 1 268 486, Utilisateurs: 22 280.
Notre dernier utilisateur inscrit Seiko.


Ce forum
Discussions: 7 727, Messages: 88 246.

 

 
©Emmanuel Vieillard Baron 01-01-2001
Adresse Mail:

Inscription
Désinscription

Actuellement 16057 abonnés
Qu'est-ce que c'est ?
Taper le mot à rechercher

Mode d'emploi
En vrac

Faites connaître Les-Mathematiques.net à un ami
Curiosités
Participer
Latex et autres....
Collaborateurs
Forum

Nous contacter

Le vote Linux

WWW IMS
Cut the knot
Mac Tutor History...
Number, constant,...
Plouffe's inverter
The Prime page