IEM - Interactive Egonometric Maps

Le code de l'égonométrie comme projection géométrique est porté en tableau interactif en 2020. Le code source original est créé en 1998 en LISP au sein du laboratoire GRCAO de l'Université de Montreal. Porté en moteur interactif en 2001 sur une technologie JAVA, c'est ici la technologie JS + P5 qui est utilisée. 

Chaque tableau est interactif pour déplacer l'observateur (like a FPS game). 

P5JS code

function egonometricPoint(x, y, z) {
    // dx, dy, dz : l'écart entre le point et l'observateur
    dx = x - obsX;
    dy = y - obsY;
    dz = z - obsZ;
    // distance : la diagonale horizontale entre l'observateur et le point 
    distance = sqrt(dx * dx + dy * dy);
    // longitude : l'angle horizontal du point par rapport à l'observateur
    longitude = atan( dy/dx);

    // on ajoute l'angle d'observation
    longitude = longitude + obsA;
    if (dx < 0) {

       longitude = PI + longitude;}
    // latitude : l'angle vertical. 
    latitude = atan (dz / distance) ;
    if ( distance < 0) {

        latitude = PI + latitude;}
    //arc : le développé sur la sphere de projection
    darc = (latitude + HALF_PI) / PI;
    // calcul des coordonnées cartésiennes du point projeté en base 1
    ex = darc * cos(longitude);
    ey = darc * sin(longitude);

}

all rights reserved for Laurent Letourmy - atelier@laurentletourmy.com