[index Math] Pour discuter de mathématique...

Pour les gens qui ont simplement envie de discuter sans souhaiter faire passer d'information particulière.
Avatar du membre
Siobhan
Prolifique
Messages : 1844
Enregistré le : mardi 20 mars 2018 à 23:54

Re: Pour discuter de mathématique

Message par Siobhan »

Bubu a écrit :Connaissez-vous les coordonnées homogènes ?
En 3D, on définit un point selon 3 dimensions x, y et z. (Coordonnées cartésiennes)
Pas pour les coordonnées homogènes, il y a un quatrième membre, w.
En fait w est un diviseur. On divise les 3 coordonnées cartésiennes x y et z par w.

C'est le système de coordonnées utilisé en infographie 3D. (développeurs)
Cela permet de gérer les perspectives.
Dans un espace projeté en perspective, plus un objet est loin, et plus il se rapproche du centre et rapetisse.
Sinon on fixe w à 1. Pas de déformation. Et on est dans le cas des coordonnées cartésiennes.
Et on fixe w à zéro pour les normales des surfaces. Ce sont des vecteurs.

C'est pourquoi on utilise des matrices 4x4 en infographie 3D. Alors que les points sont définis sur 3 dimensions.
De toute façon, rien qu'à cause des translations, il faudrait des matrices 4*3.

Les gpus font la division par w automatiquement quand on précise la matrice de projection.

Merci bubu, je ne savais pas :) .
homme, diagnostic TSA.
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: Pour discuter de mathématique

Message par Bubu »

J'insiste sans doute beaucoup c'est clair. :|
Ce qui est génial avec les transformations géométriques qui utilisent les matrices,
c'est qu'on peut concaténer les matrices (abusif), en fait on les multiplient entre elles.
Et on obtient finalement une seule matrice qui contient toutes les transformations.

Par exemple on a un objet 3D, un ensemble de faces (des triangles) dans son repère local.
D'abord on le met à l’échelle (on l'agrandit ou on le reduit)
En suite on le positionne en angle (3 rotations appliquées selon les 3 axes, ou bien seulement grâce à un quaternion transformé en matrice)
Ensuite on le translate. Pour qu'il soit à la bonne place.

Ensuite on fait un changement de repère, pour que l'origine de la vue soit celle de l'écran.
On transforme la scène par l'inverse de la matrice qui code le point de visée, la caméra.

Ensuite on applique la projection. Ça transforme le view frustum en cube unitaire.
Tout est déformé par la perspective. (Après il y a plusieurs formes de perspectives, je parle pour les jeux)

Et cela avec une seule transformation linéaire.
Mais cette transformation linéaire est propre à chaque objet. (appelé Entité dans un moteur).

[edit] le produit des matrices n'est pas commutatif. Contrairement aux nombres connus. 3x2 = 2x3. Mais ce n'est pas vrai pour les matrices.
Si A et B sont des matrices, AxB et BxA seront différentes sauf exceptions.
C'est facile de l'imaginer avec les endomorphismes que j'ai utilisés au début : Si on décale et qu'on tourne un objet, on obtient pas le même résultat si je tourne d'abord et que je décale ensuite.
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
Avatar du membre
Tugdual
Modérateur
Messages : 41263
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Pour discuter de mathématique

Message par Tugdual »

Récemment passée sur Arte, cette conférence de Cédric Villani :
Spoiler :  : 
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
hazufel
Intarissable
Messages : 6007
Enregistré le : vendredi 17 mars 2017 à 15:06

Re: Pour discuter de mathématique

Message par hazufel »

Quatre émissions sur Alan Turing sur France Culture. Depuis hier, la suite jeudi et vendredi.
l’énigmatique Alan Turing
TSA
Avatar du membre
Tugdual
Modérateur
Messages : 41263
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: Pour discuter de mathématique

Message par Tugdual »

En complément à ci-dessus :
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: Pour discuter de mathématique

Message par Bubu »

(Point de vue d'un développeur qui utilise les matrices en infographie 3D.)

Pour revenir sur la multiplication des matrices :
C'est un concept emprunté aux nombres. En fait c'est une analogie avec les nombres mais qui n'a rien à voir.
Mais qui a ses limites, l'ordre de la multiplication compte. Le résultat change. Le produit des matrices n'est pas commutatif.
C'est une représentation de la composition d'applications affines.
Multiplier 2 matrices, ça correspond en traduisant à composer deux fonctions affines. Dans notre cas deux opérations géométriques. A les enchaîner.

Les matrices ce sont des tableaux de nombres (scalaires) en deux dimensions. Des tableaux à deux entrées.
La multiplication n'est pas triviale. En bref, il faut que le nombre de colonnes de la première soit égal au nombre de lignes de la deuxième. (Sinon la multiplication est impossible).
Le résultat est une matrice, tableau à deux entrées qui a le nombre de lignes de la première et le nombre de colonnes de la deuxième.
L'addition et la soustraction entre matrices est beaucoup plus simple, cela se fait membre à membre.
Et on peut définir l'inverse d'une matrice (comme si on divisait une matrice par une autre), mais ce n'est pas trivial non plus. Si le déterminant n'est pas nul, on peut utiliser les comatrices ou des opérations par pivot. Bref.
L'inversion de matrice est très importante en infographie 3D, notamment pour les changements de repère.

Les matrices codent deux choses : des bases (des repères), et des transformations linéaires( rotations, translations, changements d'échelle, etc).
(Je n'ai jamais compris que c'était la même chose, excusez mon niveau).

Concrètement, on utilise les matrices seulement pour les transformations. (Que des matrices 4x4)
Les tableaux de vertices (les points) d'un objet ne sont pas considérés comme des matrices, c'est juste que l'on applique à la chaîne une transformation sur chacun des points.

Après vient la cuisine des shaders dans le GPU, des programmes qui positionnent les points grâce à ces matrices (les vertex shaders) et d'autres programmes qui colorisent le pixel(les fragments/pixels shaders).
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
Avatar du membre
freeshost
Intarissable
Messages : 37322
Enregistré le : lundi 15 juillet 2013 à 15:09
Localisation : CH

Re: Pour discuter de mathématique

Message par freeshost »

Ah ! L'algèbre linéaire ! :mrgreen:
Pardon, humilité, humour, hasard, confiance, humanisme, partage, curiosité et diversité sont des gros piliers de la liberté et de la sérénité.

Diagnostiqué autiste en l'été 2014 :)
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: Pour discuter de mathématique

Message par Bubu »

freeshost a écrit : mercredi 15 août 2018 à 15:59 Ah ! L'algèbre linéaire ! :mrgreen:
Hellow !
Pour l'algèbre linéaire, il faut passer par les matrices, c'est indispensable.
Pour le plus direct, l'addition et la soustraction se font membre à membre sur des matrices de même taille. Si elles n'ont pas la même taille ça n'a aucun sens.
C'est utilisé intensément pour l'animation des skin-meshes : des personnages qui avancent courent, ... Pour les interpolations pondérées de positions de points.
Ça permet de déformer les faces de l'objet pendant l'animation.

L'inversion te permet de changer de repère.
Par exemple, tu as ta scène, entre (-100, -100) et (+100, +100)
Or la camera est à (25, 75). Comment rendre la scène depuis ce point de vue ? (Je n'ai pas mentionné le fait qu'en plus de la position, il faut donner l'orientation de la caméra, 3 vecteurs).
C'est là que l'algèbre linéaire est très utile : on applique l'inverse de cette matrice de la caméra :
Et on se retrouve avec une scène affichée selon la vue de la caméra.

Je ne parle pas de la multiplication des matrices et de la production de l'inverse d'une matrice, mais si ça t’intéresse, je fournirai des documents.
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
Avatar du membre
freeshost
Intarissable
Messages : 37322
Enregistré le : lundi 15 juillet 2013 à 15:09
Localisation : CH

Re: Pour discuter de mathématique

Message par freeshost »

Ah ! Mais j'avais appris à effectuer le produit matriciel et à trouver l'inverse d'une matrice carrée (quand celui-ci existe).

Par contre, je n'ai pas appris les applications de l'algèbre linéaire à l'informatique. Je suppose qu'il doit y en avoir pas mal.
Pardon, humilité, humour, hasard, confiance, humanisme, partage, curiosité et diversité sont des gros piliers de la liberté et de la sérénité.

Diagnostiqué autiste en l'été 2014 :)
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: Pour discuter de mathématique

Message par Bubu »

freeshost a écrit : mercredi 15 août 2018 à 16:32 Ah ! Mais j'avais appris à effectuer le produit matriciel et à trouver l'inverse d'une matrice carrée (quand celui-ci existe).

Par contre, je n'ai pas appris les applications de l'algèbre linéaire à l'informatique. Je suppose qu'il doit y en avoir pas mal.
Salut freeshost !
(Il faut mettre des parenthèses a la place de mes traits droits qui erronément veulent dire déterminant)
Tu va être rassuré il y en que 4 types !
__________________________________________________________________________________________________________________
La mise à l’échelle : (scaling)
|a 0 0 0|
|0 b 0 0|
|0 0 c 0|
|0 0 0 1|
(Où a est le dimensionnement en x, b le dimensionnement en y et c le dimensionnement en z)


__________________________________________________________________________________________________________________
La translation (positionnement de l'objet dans la scène)
|1 0 0 0|
|0 1 0 0|
|0 0 1 0|
|x y z 1|

(Où x est la translation en x, y la translation en y, et z la translation en z)

__________________________________________________________________________________________________________________
La rotation :
Je ne peux pas l'exprimer. Le plus simple et le plus sûr, c'est de transformer un quaternion en matrice.
(Avec les 3 angles, il y a le risque des cardans qui se coincent. Faut utiliser les quaternions)

__________________________________________________________________________________________________________________
La (une) projection (perspective) :

|1 0 0 0|
|0 1 0 0|
|0 0 1 1/f|
|0 0 0 1|

Où f est la distance par rapport à l'origine.

(Il y a deux autres types de projections)

J'ai corrigé. L'idée c'est de diviser par f toutes les coordonnées.

Après c'est propre à la 3D. Pour la perspective avec point de fuite à l'infini au centre.
Pour la 2D, on utilise, en gros, que l'identité comme matrice de projection.
La coordonnée Z est ignorée en 2D, tout simplement.
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
EnHans
Prolifique
Messages : 3753
Enregistré le : lundi 19 septembre 2016 à 9:43

Re: Pour discuter de mathématique

Message par EnHans »

Bonjour,
Peut-on appeler différemment un segment ru que [ru] ou [ur] ?
Un enfant diag en 2012
Avatar du membre
freeshost
Intarissable
Messages : 37322
Enregistré le : lundi 15 juillet 2013 à 15:09
Localisation : CH

Re: Pour discuter de mathématique

Message par freeshost »

Oui, il s'agit d'un segment. C'est un ensemble de points alignés entre deux points. Un ensemble est comme un sac. Peu importe comment sont ordonnés ses éléments, peu importe si tu le secoues (comme au loto), ça reste le même ensemble.

Par contre, le vecteur -UR-> est différent du vecteur -RU->. À vrai dire, c'est son opposé. Un vecteur est une sorte de mouvement rectiligne de longueur finie.
Pardon, humilité, humour, hasard, confiance, humanisme, partage, curiosité et diversité sont des gros piliers de la liberté et de la sérénité.

Diagnostiqué autiste en l'été 2014 :)
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: Pour discuter de mathématique

Message par Bubu »

mikkel a écrit : jeudi 6 septembre 2018 à 17:10 Bonjour,
Peut-on appeler différemment un segment ru que [ru] ou [ur] ?
Non. Il n'a pas d'ordre.
Pour les segments.
Tu peux exprimer leur longueur (la distance entre les points) en utilisant Pythagore.
longeur = racine carré de ((u.x - r.x) ² + (u.y - r.y)²)

[RU] ou [UR] c'est pareil. (Représentés avec un trait en haut)
Par contre comme l'a très justement précisé FH, si on parle de vecteurs c'est autre chose.

Et le symbole n'est pas le même. On met une flèche au lieu d'un trait.
Les vecteur symbolisent un mouvement une direction pondérée par leur norme (leur longueur), alors que les segments symbolisent une distance.
Un vecteur n'a pas de position. Un segment, si. (On a deux points positionnés dans le repère)

Je vais peut-être un peu loin, mais en général, on s’intéresse aux vecteurs normalisés (sinon, ils amplifient les vecteurs avec lesquels on les manipule).
Un vecteur normalisé, c'est un vecteur de norme 1. Cela veut dire qu'il a une longueur de 1. En infographie c'est très important.
Ça permet en gros de faire le calcul correctement de la luminosité sur chaque pixel.
J'extrapole :
Une surface à 90 degré de la lumière ne reçoit aucune lumière.(C'est le cosinus de l'angle qui compte)
Une surface parfaitement en face de la lumière (parallèle), recevra toute la lumière.
Modifié en dernier par Bubu le vendredi 7 septembre 2018 à 12:01, modifié 3 fois.
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
2N3055
Prolifique
Messages : 989
Enregistré le : jeudi 3 août 2017 à 7:10

Re: Pour discuter de mathématique

Message par 2N3055 »

Voir la syntaxe utilisée dans les fichiers
manipulés par les scripts dans les pages web intégrant des fichiers SVG

http://debeissat.nicolas.free.fr/svg3d.php

et celle des fichiers utilisés par Blender
https://www.youtube.com/watch?v=AIQl5OLMURo

=======
À l'époque, c'était une vrai galère,
mais maintenant, tous les navigateurs web
interprètent correctement les fichiers au format SVG.

=======
Pour les profs, ce serait un excellent support pédagogique.
Asperger diagnostiqué
Avatar du membre
Ixy
Prolifique
Messages : 4667
Enregistré le : jeudi 20 mars 2014 à 20:59
Localisation : 92

Re: Pour discuter de mathématique

Message par Ixy »

A propos une superbe librairie javascript pour modifier les svg c'est https://d3js.org/ d3 js. Vous pouvez voir les exemples sur le site il y a des trucs géniaux !
Je n'ai pas de diagnostic /!\
Ce que tu as la force d'être, tu as aussi le droit de l'être - Max Stirner