• Aucun résultat trouvé

Tabledesmatières ————— tdr17—————Dessinemoiunemaison...

N/A
N/A
Protected

Academic year: 2021

Partager "Tabledesmatières ————— tdr17—————Dessinemoiunemaison..."

Copied!
9
0
0

Texte intégral

(1)

—————

Dessine moi une maison . . .

D. Chessel, A.B. Dufour & J.R. Lobry

—————

Une petite expérience de représentation euclidienne sert

d’introduc-tion à la nature de la carte factorielle.

Table des matières

1

Dessiner une maison : le plan

2

1.1

Importer les données . . . .

3

1.2

Implanter la fonction . . . .

3

1.3

Exécuter . . . .

3

2

Modifier l’image pour lui donner une interprétation

4

3

Exercice : refaire ces dessins

6

(2)

1

Dessiner une maison : le plan

Considérons un bâtiment formé d’une tour carrée de base 1 × 1 (supposons

que l’unité de mesure soit fixée à un mètre) et de hauteur 2 et d’une petite

maison de largeur 1, longueur 2 et hauteur 1 surmontée d’un toit symétrique à

deux pentes (a =

12

, b =

3) ). La totalité de l’information est contenue dans

la table 1.

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

x

0

1

1

1

0

0

0

1

1

0

1

1

0

0

a

a

y

0

0

1

3

3

1

0

0

1

1

1

3

3

1

3

1

z

0

0

0

0

0

0

2

2

2

2

1

1

1

1

b

b

Table 1 – La matrice des coordonnées à trois dimensions des 16 points du

bâtiment.

(3)

1.1

Importer les données

load(url("http://pbil.univ-lyon1.fr/R/donnees/maison.rda")) maison x y z A 0.0 0 0.000000 B 1.0 0 0.000000 C 1.0 1 0.000000 D 1.0 3 0.000000 E 0.0 3 0.000000 F 0.0 1 0.000000 G 0.0 0 2.000000 H 1.0 0 2.000000 I 1.0 1 2.000000 J 0.0 1 2.000000 K 1.0 1 1.000000 L 1.0 3 1.000000 M 0.0 3 1.000000 N 0.0 1 1.000000 O 0.5 3 1.732051 P 0.5 1 1.732051

options(digits = 3) # on suggère trois chiffres

t(maison) # on veut transposer

A B C D E F G H I J K L M N O P

x 0 1 1 1 0 0 0 1 1 0 1 1 0 0 0.50 0.50 y 0 0 1 3 3 1 0 0 1 1 1 3 3 1 3.00 1.00 z 0 0 0 0 0 0 2 2 2 2 1 1 1 1 1.73 1.73

1.2

Implanter la fonction

Donner un sens mathématique à cette petite procédure :

essai.3d <- function (X, alpha, beta, lab = F, ...) {

matrixh <- function(a = pi/6, b = pi/3) { h <- matrix(0, 2, 3)

h[1, 1] <- -sin(a) ; h[1, 2] <- cos(a) ; h[1, 3] <- 0 h[2, 1] <- -cos(a) * sin(b) ; h[2, 2] <- -sin(a) * sin(b) h[2, 3] <- cos(b)

return(t(h)) }

alpha <- alpha * pi/180 ; beta <- beta * pi/180 w <- matrixh(a=alpha, b=beta)

X <- as.matrix(X) X <- X %*% w plot(X, ...) if (lab)

text(X[, 1], X[, 2], rownames(X), pos = 1) return(invisible(X))

}

Noter :

? la fonction dans la fonction,

? le passage des paramètres par valeurs,

? le paramètre . . .

(4)

−0.5 0.0 0.5 1.0 1.5 2.0 2.5 −2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 X[,1] X[,2] A B C D E F G H I J K L M N O P

2

Modifier l’image pour lui donner une

inter-prétation

Définir une fonction pour peindre un pan de la maison :

peindre <- function(data, points, col = "red", border = "black") {

x <- sapply(points, function(pt) data[which(rownames(data)==pt), 1]) y <- sapply(points, function(pt) data[which(rownames(data)==pt), 2]) polygon(x,y, col = col, border = border)

}

maison2d <- essai.3d(X = maison, alpha = 30, beta = 60, lab = TRUE, asp = TRUE) peindre(maison2d, c("G","H","I","J"))

(5)

−0.5 0.0 0.5 1.0 1.5 2.0 2.5 −2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 X[,1] X[,2] A B C D E F G H I J K L M N O P

Peindre la maison :

(6)

3

Exercice : refaire ces dessins

−0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 −0.5 0.0 0.5 1.0 1.5 2.0 X[,1] X[,2] 000 001 002 010 011 012 020 021 022 100 101 102 110 111 112 120 121 122 200 201 202 210 211 212 220 221 222

(7)

4

Exercice : retrouver comment est fait ce schéma

On utilise un double changement de base. En partant d’un point M de

co-ordonnée (x, y, z) dans la base canonique, on calcule ses coco-ordonnées (u, v, w)

dans la base {u, v, w} associée à un couple d’angles (α, β). On projette M en

m de coordonnées (0, v, w) dans cette base puis on calcule les nouvelles

coor-données de m (x

0

, y

0

, z

0

) dans la base canonique. Le centre du dessin est fait

par la représentation des points M et m dans une nouvelle direction associée à

un couple d’angles (α

0

, β

0

). On montre ainsi la projection. Le résultat de cette

projection est en médaillon :

(8)

−2 −1 0 1 −2 −1 0 1 A B C D E F G H I J K L M N O P a b c d e f g h i j k l m n o p −0.5 0.0 0.5 1.0 1.5 2.0 2.5 −2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 X[,2] A B C D E F G H I J K L M N O P

Les fonctions utilisées sont :

essai.3d <- function (X, alpha, beta, lab = F, ...) { matrixh <- function(a = pi/6, b = pi/3) {

h <- matrix(0, 2, 3)

h[1, 1] <- -sin(a) ; h[1, 2] <- cos(a) ; h[1, 3] <- 0 h[2, 1] <- -cos(a) * sin(b) ; h[2, 2] <- -sin(a) * sin(b) h[2, 3] <- cos(b)

return(t(h)) }

alpha <- alpha * pi/180 ; beta <- beta * pi/180 w <- matrixh(a=alpha, b=beta)

X <- as.matrix(X) X <- X %*% w plot(X, asp=1, ...) if (lab)

text(X[, 1], X[, 2], row.names(X), pos = 1) return(invisible(X))

}

changebase <- function (X, alpha, beta) { uvw <- function(a = pi/6, b = pi/3) {

h <- matrix(0, 3, 3)

h[1, 1] <- cos(a)*cos(b) ; h[1,2] <- sin(a)*cos(b) h[1, 3] <- sin(b)

(9)

y <- x %*% w y[,1] <- 0 y <- y %*% t(w) y <- as.data.frame(y) names(y) <- names(X) row.names(y) <- letters[1:nrow(y)] X <- rbind.data.frame(X,y) return(invisible(X)) }

Figure

Table 1 – La matrice des coordonnées à trois dimensions des 16 points du bâtiment.

Références

Documents relatifs

ž  dx tool compiles the java bytecode into dalvik bytecode (classes.dex) which is executed on Dalvik virtual machine. ž  Dalvik VM, an open source software, responsible

Elaboré par l’OPAGE, GenèveRando et l’Etat de Genève, cet outil inédit propose, en un coup d'œil, les activités et lieux d'intérêt liés au terroir et à la nature.. A

Python : Fonc+ons & Bibliothèques • On peut créer ses propres fonc+ons et ses propres bibliothèques • Fonc+on – Un morceau de code, avec un nom, réalisant une fonc+onnalité

[r]

Mathdoc : membre Mathdoc (accès en lecture-modification sur toutes les pages) - resp éditorial (en + : menus, création de pages) - admin (en + : installation-MAJ modules) PLUME

Jeux libres L’imagination des enfants est stimulée à partir des formes proposées (mais pas standardisées) : des figures géométriques abstraites et mobiles qui sont « polysémiques

Isolée au milieu de la forêt, cette fortification aux dimensions réduites, de plan légèrement trapézoïdal, montre encore son rempart de terre entouré d'un

Le rotor est installé en usine et fixé à l'intérieur de la centrifugeuse au moyen de l'écrou de blocage du rotor� Vous pouvez uniquement vérifier l'état du rotor et de l'écrou