IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Rotation d'un pixel


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Par défaut Rotation d'un pixel
    Bonjour,
    travaillant une image avec PHP, j'ai besoin de faire une rotation d'un pixel sur une image.

    J'ai donc :
    - un pixel déterminé par ses coordonnées X et Y.
    - un centre (centre du cercle) déterminé par coordonnées CENTRE_X et CENTRE_Y
    - Un angle en degré ANGLE

    Quelle relation dois je utiliser pour déplacer le pixel X,Y d'un angle ANGLE par rapport au centre ?

    PS : je ne peux pas utiliser les fonctions de la librairie GD, il me faudrait simplement la formule.

    PS2 : si ça peut aider, voilà la fonction actuelle de rotation (qui est vide, il me faut juste la compléter) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	/**
    	 * Applique une rotation d'un angle $angle sur le point $x, $y à partir du centre $center_x, $center_y
    	 * @param int Coordoonée X du point
    	 * @param int Coordoonée Y du point
    	 * @param int Angle de rotation
    	 * @param int Coordonnée X du centre de rotation
    	 * @param int Coordonnée Y du centre de rotation
    	 */
    	protected function rotation(&$x, &$y, $angle, $center_x, $center_y)
    	{
     
    	}
    Merci.
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  2. #2
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612

  3. #3
    Membre chevronné
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Par défaut
    Bonjour,
    merci pour le réponse .. mais j'admets que ça ne m'aide pas beaucoup, j'ai pas mal de mal avec ces formules, c'est la raison principale pour laquelle je poste ici
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    if($x == $centre_y && $centre_x() == 0)
    {
          $x = ($x * cos($angle)) - ($y * sin($angle));
          $y = ($y * cos($angle)) + ($x * sin($angle));
    }
    else
    {
    $x = $x - $centre_x;
    $y = $y - $centre_y;
     
    $x = ($x * cos($angle)) - ($y * sin($angle));
    $y = ($y * cos($angle)) + ($x * sin($angle));
    }
    Editer:
    ca doit s'approcher de quelquechose comme ca, mais j'ai fais ca vite fais...
    Il doit falloir faire quelques tests supplémentaires.

    La rotation d’un point P(x,y) d’un angle A par rapport à l’origine(centreX, centreY) est un point P'(x’,y’) tel que:

    x' = x . cos(a) – y . sin(a)
    y’ = x . sin(a) + y . cos(a)

    x' et y' sont les nouvelles coordonnées du point

Discussions similaires

  1. [TImage] Transfert de Picture par pixels.
    Par H2D dans le forum Langage
    Réponses: 9
    Dernier message: 25/10/2003, 14h37
  2. [VB6] [Graphisme] Transfert d'image pixel par pixel
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 15/10/2002, 09h53
  3. algo : rotation d'objet 3d
    Par numeror dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 19/08/2002, 22h58
  4. Réponses: 2
    Dernier message: 30/05/2002, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo