Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

axe d'une helice



  1. #1
    filidanril

    axe d'une helice


    ------

    Bonjour!

    J'aimerai calculer l'axe d'une helice alpha, sturcture secondaire d'une protéine et pour l'instant ma méthode ne march pas!

    Pour cela, Kahn explique une méthode que voici :
    "the helix axis algorithm finds the axis of a helix using vector algebra. An axis segment is generated for each four consecutive amino acids. The angle created by the first three alpha-carbons (CA1, CA2, CA3) is bisected, and then the angle created by the second three alpha-carbons (CA2, CA3, CA4) is bisected. Since these two vectors pass through the helix axis, the cross product of them gives the direction cosines of the axis."

    et voila comment je fais sachant que j'ai les coordonnées x, y et z des points CAn.
    je calcule les vecteurs i et j tel que :
    Xi=Xca2-Xca1
    Yi=Yca2-Yca1
    Zi=Zca2-Zca1

    Xj=Xca3-Xca2
    Yj=Yca3-Yca2
    Zj=Zca3-Zca2

    je calcule l'angle teta entre ces deux vecteurs selon la formule des produits scalaires :
    cos(teta)=((Xi*Xj)+(Yi*Yj)+(Zi *Zj))/sqrt((Xi²+Yi²+Zi²)*(Xj²+Yj²+Zj ²))

    je calcule le cross produit entre i et j que je nommerai w:
    Xw=(Yi*Zj)-(Zi*Yj);
    Yw=(Zi*Xj)-(Xi*Zj);
    Zw=(Xi*Yj)-(Yi*Xj);

    puis je calcule le cross produit entre w et i que je nommerai k (i, w et k sont supposé me donner un repère orthogonal) :
    Xk=(Yi*Zw)-(Zi*Yw);
    Yk=(Zi*Xw)-(Xi*Zw);
    Zk=(Xi*Yw)-(Yi*Xw);

    Comme k et i forme un repère orthogonal dans le plan (i,j), j'ai t vecteur appartenant a la bissectrice entre i et j qui donne :
    t=cos(teta/2)i + sin (teta/2)k

    soit
    Xt = cos(teta/2)*(Xi/norme(i)+sin(teta/2)*(Xk/norme(k)
    Yt = cos(teta/2)*(Yi/norme(i)+sin(teta/2)*(Yk/norme(k)
    Zt = cos(teta/2)*(Zi/norme(i)+sin(teta/2)*(Zk/norme(k)

    ############################## ##########################

    je refais tout ca avec les 3 points suivant ca2, ca3 et ca4, ce qui me donne le vecteur t'.

    ############################## ########################

    Je fais le cross-produit de t*t' :
    Xaxe=(Yt*Zt')-(Zt*Yt');
    Yaxe=(Zt*Xt')-(Xt*Zt');
    Zaxe=(Xt*Yt')-(Yt*Xt');


    et je pensais obtenir un vecteur appartenant la l'axe de l'helice localisé vers les points ca1, ca2, ca3 et ca4 de l'helice.

    Mais pour vérifier mon algorithme, j'ai calculer 2 vecteurs d'un même axe distancer de 1 résidu :
    un vecteur pour ca1, ca2, ca3 et ca4
    un autre vecteur pour ca6, ca7, ca8 et ca9

    et en calculant l'angle entre ces deux vecteurs, je tombe sur 100° et non 0° ou 180°.

    Et j'ai beau cherché, je ne comprends pas ce que j'ai mal fait!

    Pouvez vous m'aider s'il vous plait?

    -----

  2. #2
    filidanril

    Re : axe d'une helice

    Ok c'est bon j'ai trouvé mes erreurs!
    J'avais oublier de normaliser xi, yi et zi , xj, yj et zj , xw, yw et zw.
    De plus j'ai inverser la direction du vexteur i en faisant :
    Xi=Xca1-Xca2
    Yi=Yca1-Yca2
    Zi=Zca1-Zca2
    au lieu de :
    Xi=Xca2-Xca1
    Yi=Yca2-Yca1
    Zi=Zca2-Zca1

    et tout marche!!!!!

    Merci tout de même pour ceux qui ont lu le post!

    Fili

Discussions similaires

  1. force d'une hélice
    Par dwarvespower dans le forum Astronautique
    Réponses: 22
    Dernier message: 12/12/2011, 22h02
  2. dimensionnement d'une hélice, calcul
    Par Tootoon dans le forum Astronautique
    Réponses: 10
    Dernier message: 21/10/2010, 19h27
  3. puissance mécanique d'une hélice
    Par ahotep dans le forum Astronautique
    Réponses: 15
    Dernier message: 11/12/2006, 11h31
  4. Dimensionnement d'une helice
    Par ABN84 dans le forum Technologies
    Réponses: 3
    Dernier message: 08/10/2006, 20h45
  5. Vitesse d'une hélice
    Par EspritTordu dans le forum Technologies
    Réponses: 28
    Dernier message: 06/06/2006, 16h45