• Aucun résultat trouvé

Notre objectif, -et celui de la POD également - est de faire ressortir les propriétés communes et dominantes de notre échantillon de grains. En l'occurrence, les proprié- tés de la forme. Seulement, les nuages de points obtenus peuvent contenir du bruit (perturbations dues à des erreurs de mesure), et n'ont aucune raison d'être centrés autour d'une même origine, et encore moins orientés de la même manière. L'objectif de cette première étape de prétraitement est donc de maximiser la ressemblance entre les grains pour ne pas biaiser l'interprétation des résultats et de maximiser le pouvoir de réduction de la POD : comme le traitement est eectué uniquement sur des positions dans l'espace, toutes les propriétés communes ne pourront être extraites que si les grains sont disposés de la même façon.

Nous eectuons le prétraitement en plusieurs étapes : a. Nettoyage des nuages de points

Nous construisons un ltre basé sur la distance moyenne de chaque points aux points de son voisinage et nous supprimons les points qui dépassent ce périmètre. La Fig. 2.11 montre un exemple de suppression du bruit.

Figure 2.11  Suppression du bruit pour un grain scanné : grain brut (gauche), grain nettoyé (droite)

b. Réduction du nuage de points

Nous choisissons de réduire le nombre de points pour deux raisons. D'abord, la manipulation d'un grand nombre de points nécessite des temps de calculs impor- tants, autant pour la caractérisation de la forme que pour les calculs mécaniques. Ensuite, comme expliqué précédemment la POD nécessite par construction que le nombre de réalisations (grains) soit nettement supérieur au nombre de variables (directions dans l'espace, et donc sommets). Autrement, la méthode ne sera pas en mesure de nous apporter des résultats solides (comme pour n'importe quel indica- teur statistique, la valeur est d'autant plus signicative que l'échantillon est grand). Nous faisons un choix aléatoire de points parmi les 400000, pour n'en garder que 10000.

c. Choix d'une base commune de projection

An de construire notre matrice d'entrée à la POD, nous souhaitons que chaque ligne contienne l'information sur un grain, et que chaque colonne corresponde à une direction dans l'espace. Il est alors nécessaire que l'ensemble de ces directions soit le même pour tous les grains. Mais quelle base choisir ?

Notre but étant de conserver le mieux possible la forme initiale des grains réels, la réponse est une base qui préserve la forme. Nous avons deux choix possibles en coordonnées sphériques :

1. Une base (θ, ϕ) avec ∆θi = cte et ∆ϕi = cte. C'est une base uniforme. La

Fig. 2.12 montre un exemple du résultat de cette projection avec d = 800 points, où 0 ≤ θ ≤ 2π, −π ≤ ϕ ≤ π, ∆θi = 2πd et ∆ϕi = πd. L'implémentation

et l'exploitation de cette base est simple, mais elle présente l'inconvénient de la concentration aux pôles. Ce choix est donc peu adapté.

Figure 2.12  Interpolation sur une base à pas constants pour un grain de ballast 2. Une base (θ, ϕ) à pas variable. Le choix d'une telle base doit être minutieux, an de garder une dispersion équi-distante et uniforme des points. On choisit d'appliquer l'algorithme appelé Répulsion des Points. Le principe de cet al- gorithme détaillé en [95] est de repositionner les points de façon à avoir une répartition uniforme en dépit de la texture de la surface. Pour appliquer cet algorithme, on choisit d'abord le nombre de points cible (ici on a fait le choix

de d = 800 inférieur au nombre de grains n=975 pour les raisons expliquées ci-dessus), pour ensuite les placer d'une manière aléatoire sur la surface. Une fois tous les points positionnés sur la surface, la seconde étape est une procédure de relaxation qui repousse chaque point de ses voisins : pour chaque point p dont on dénit le voisinage de points pi, i ∈ Np avec le rayon

R (toujours par le même algorithme KD-Tree), ces points sont projetés sur le plan tangent à la surface du grain en ce point, puis une force de répulsion est calculée comme suit :

Fi(p) = k(R − |p − pi|).(p − pi) (2.37)

où Fi(p) est la force appliquée par le point pi sur le point p, k est une

constante et R est le rayon de répulsion. La force totale appliquée au point p est donc :

F (p) = X

i∈Np

Fi(p) (2.38)

Nous utilisons ensuite cette force de répulsion pour déplacer le point, et on applique cette procédure à tous les points. Fig. 2.13 montre le résultat sur un grain. On voit bien que le problème de concentration des points n'est plus présent.

Figure 2.13  Interpolation sur une base obtenue par répulsion de points

L'information sur les grains est donc maintenant sous forme de rij = ri(θj, ϕj), i =

1, .., n j = 1, ..., d où θi = (θj) et ϕi = (ϕj)∀i ∈ 1, ..., n.

d. Centrage des grains autour de l'origine

Le centrage est eectué en positionnant le centre des gravité des grains à l'origine. e. Alignement des grains

Nous réorientons tous les grains dans leurs repères principaux. Pour eectuer cette opération, nous avons besoin de déterminer les axes principaux de chaque grain. La méthode classique est de calculer le tenseur d'inertie [J], de le diagonaliser, et d'en tirer les 3 axes d'inertie que représentent les vecteurs propres issus de cette diagonalisation, tandis que les valeurs propres, elles, représentent les 2 longueurs principales.

Sur une base à pas constants (comme évoqué dans la section 2.1), ce calcul s'eectue comme suit :

[J ] =

Z

V

ρn|GM |2[I] − GM ⊗ GModV (2.39) Si on centre l'origine du repère sphérique au centre de gravité, GM = r(θ, ϕ)er(θ, ϕ),

alors on a : [J ] =R V ρr4(θ, ϕ) {[I] − er(θ, ϕ) ⊗ er(θ, ϕ)} drdθdϕ ≈ ρ∆θ∆ϕ 5 Nθ X i=1 Nϕ X j=1 sin(ϕj)R5(θi, ϕj) {[I] − er(θi,j) ⊗ er(θi,j)} (2.40)

Enn, la matrice d'inertie est dénie positive et peut donc s'écrire sous la forme : [J ] = [D] [λ] [D]T (2.41) avec [λ] une matrice diagonale à éléments strictement positifs, ordonnés dans l'ordre décroissant, et [D] une matrice orthogonale.

En eectuant la rotation GM → [D]T

GM pour tout point M, le grain est alors positionné dans son repère d'inertie propre.

Cette opération nécessite la réinterpolation de chaque grain sur une base à pas angulaires constants, et un nombre important de produits matriciels. An de faciliter cette procédure, nous avons recours à une méthode donnant une approximation des axes principaux d'inertie en se basant sur les 3 directions privilégiées de la dispersion des points (méthode basée sur une POD appliquée à chaque grain tout seul).

La matrice à considérer pour chaque grain G est une matrice 800 × 3 où chaque ligne correspond à un point et chaque colonne correspond à une direction parmi les 3 directions x, y, z. On résout le problème aux valeurs propres : Les valeurs propres sont alors une approximation des longueurs principales, et les vecteurs propres constituent les axes principaux. La rotation se fait tout simplement par multiplication par la matrice contenant ces vecteurs.

Un exemple de grain après l'ensemble de ces transformations est présenté sur la Fig. 2.14.

Une fois notre matrice de grains construite, nous procédons à l'application de la méthode.