PREVIOUS UP   Technologies Internet et Education, © TECFA
  3. Faire des cercles

3. Faire des cercles

3.1 Trigonométrie

 

Formules:

Les angles sont exprimés en radians basés sur la constante Pi (3.142)

Formule: rad = deg / 180 * Pi

Calculer la position x d'un élément en connaissant l'angle et le radius:

x=ori_x + cos(arc / n_els * (i % n_els) + start_angle) * radius

ori_x = coordonné x du cercle

arc = angle total de dessin, par ex. pour 10 éléments sur 360 degrés:

n_els = nombre d'éléments

angle = arc/n_els = Pi * 2 / 10 = 6.283 / 10 = 0.63

i = numéro de l'élément ( i % n_els est égal à i dans ce contexte)

start_angle = angle de départ sur le cercle (où commencer à dessiner)

Pour calculer la position y d'un élément en connaissant l'angle et le radius:

y=ori_y + sin(arc / n_els * (i % n_els) + start_angle) * radius

3.2 Alignement en cercle avec XSLT et un brin de PhP

Exemple 3-1: Génération d'éléments SVG autour d'un cercle

Fonctions trigonométriques en XSLT

  • Il n'y en a pas
    (donc il faudrait soit les programmer avec JS, Java, ou en XSLT avec des tables, etc.)
  • Ici on a fait appel aux fonctions trigonométriques de PhP et on fait le rendering du côté serveur.
  • Pour que cela marche, il faut enregistrer les fonctions PHP dans xslt:
$proc = new XSLTProcessor;
// This allows to access ALL php functions within XSLT
$proc->registerPHPFunctions();

Attention aux namespaces dans le fichier XSLT:

<xsl:stylesheet version="1.0" 
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
 xmlns:php="http://php.net/xsl"
 xmlns:xlink="http://www.w3.org/1999/xlink">
 

(autres explications: à faire)


PREVIOUS UP -- TIE