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
170 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
09 janvier 2015, 14:17
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
09 janvier 2015, 14:17
avatar
Re: Répartition d'éléments sur une sphère
09 janvier 2015, 14:31
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
09 janvier 2015, 16:19
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
09 janvier 2015, 16:51
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...



Modifié 1 fois. Dernière modification le 09/01/2015 17:08 par jacquot.
Re: Répartition d'éléments sur une sphère
09 janvier 2015, 17:11
Re: Répartition d'éléments sur une sphère
09 janvier 2015, 17:35
@ Didier,
Oui, c'est vraiment bien.
Je suis sûr que Denise aimera aussi.
Re: Répartition d'éléments sur une sphère
09 janvier 2015, 22:53
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
09 janvier 2015, 23:13
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
09 janvier 2015, 23:19
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
10 janvier 2015, 15:58
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
13 janvier 2015, 18:26
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
03 fvrier 2015, 14:50
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



Modifié 1 fois. Dernière modification le 03/02/2015 14:52 par Dldler.
Re: Répartition d'éléments sur une sphère
03 fvrier 2015, 23:13
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
04 fvrier 2015, 07:58
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
04 fvrier 2015, 09:43
avatar
Ç'ui-là m'a l'air pas mal :



Modifié 1 fois. Dernière modification le 04/02/2015 10:08 par soland.


Re: Répartition d'éléments sur une sphère
04 fvrier 2015, 11:09
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...



Modifié 2 fois. Dernière modification le 04/02/2015 14:09 par remarque.
Re: Répartition d'éléments sur une sphère
04 fvrier 2015, 23:49
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.



Modifié 1 fois. Dernière modification le 04/02/2015 23:53 par remarque.
Re: Répartition d'éléments sur une sphère
05 fvrier 2015, 09:26
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
05 fvrier 2015, 09:38
Un grand merci Remarque.
Je passe ça dès que j'ai un peu de temps.
Re: Répartition d'éléments sur une sphère
05 fvrier 2015, 12:37
Outil mis à jour :
Même lien : petit outil interactif

Changements :
– Ajout du découpage en grilles triangulaires sur le dodécaèdre
– Ajout de valeurs négatives pour la normalisation (permet de donner un effet convexe aux faces, ce qui redonne un peu d'intérêt aux différents volumes)
– Ajout de la méthode d'enroulement par le nombre d'or
– Ajout de la méthode d'enroulement de E.B. Saff & A.B.J. Kuijlaars

@remarque : c'était parfait, merci

@tous :
Les deux nouvelles méthodes, je les ai trouvés en suivant le fil de Jer Anonyme : "Comment placer N points régulièrement sur une sphère". En suivant les bons liens, je suis arrivé ici, en anglais mais l'écriture des formules convenait parfaitement à mon niveau. Le résultat est très convainquant et apporte la souplesse de choisir avec précision son nombre de points.

Bon… Cette fois, je passe vraiment à ma prochaine étape et je vous laisse tranquille quelques temps :)



Modifié 1 fois. Dernière modification le 05/02/2015 12:40 par Dldler.
Re: Répartition d'éléments sur une sphère
05 fvrier 2015, 22:46
avatar
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: 151 364, Messages: 1 538 735, Utilisateurs: 28 272.
Notre dernier utilisateur inscrit omarprepa.


Ce forum
Discussions: 9 171, Messages: 107 822.

 

 
©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