Calculer cotangent a partir de 3 points

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
eky
Membre Naturel
Messages: 15
Enregistré le: 25 Oct 2007, 23:33

calculer cotangent a partir de 3 points

par eky » 17 Oct 2015, 13:28

Bonjour,

Je voudrais adapter un algorithme de calcul de coordonnées barycentriques, mais je ne comprend pas la mathématique. J'ai besoin de ces coordonnées pour interpoler les couleurs des points de chaque face d'un mesh de delaunay.
( J'ai déja expérimenter un algorithme ici mais j'ai des pincements de couleurs... on sent les edges du mesh ) donc j'aimerai expérimenter un algo du caltech...


Rendez vous a cette adresse : http://geometry.caltech.edu/pubs/MHBD02.pdf
Milieu de page il y a un encadré avec l'algo pour calculer les coordonnées barycentrique.

Il utilise une fonction
cotangente(p A, p B, p C )
vec ba = A-B
vec bc = C-B
return ( bc.ba) / (||ba*bc||) )


La notation bc.ba est exprime t'elle bien le produit scalaire (dotProduct )?
La notation ||bc*ba|| exprime t'elle bien la longueur du produit vectoriel(crossProduct )?


Ensuite, pouvez me confirmer que pour la ligne de l'algo :

foreach vertex qj of Q: // j commence bien a 1
prev = (j + n ;) 1) mod n
...



Merci à vous.



Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 13:00

par fatal_error » 17 Oct 2015, 20:05

salut,

pour cotan, oui,

en fait cotan = 1/tan et tan = sin / cos donc cotan = cos / sin

si tu prends ab.cb, tu as bc.ba = norm(bc)*norm(ba)*cos(B)
et ||bc x ba|| = norm(bc)*norm(ba)*norm(sin(B)) ce qui est casi cotan (moyennant norm(sin(B)) au lieu de sin(B), doit y avoir des restrictions sur le triangle je présume..)

foreach vertex j of Q, c'est implementation dependant. dans le pdf les vertex sont numéroté de 1 à n, donc oui j commence à 1..
la vie est une fête :)

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 89 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite