If you're seeing this message, it means we're having trouble loading external resources on our website.

Si vous avez un filtre web, veuillez vous assurer que les domaines *. kastatic.org et *. kasandbox.org sont autorisés.

Contenu principal

Créer des formes 3D

Une forme simple avec laquelle commencer à travailler est le cube. Bien qu'un tétraèdre possède moins de côtés, ceux-ci n'étant pas orthogonaux, cela corse les choses. Commençons par créer un cube de 200 x 200 x 200 pixels, centré à l'origine (0, 0, 0).
Nous n'allons pas commencer à tout dessiner, mais déterminer des tableaux de nombres pour décrire les formes de notre forme 3D (plus spécifiquement, des tableaux qui décrivent les nœuds et les arêtes.

Les nœuds

Nous commençons par définir un tableau de nœuds, où chaque nœud est un tableau de trois chiffres, les coordonnées x, y et z de ce nœud :
var node0 = [-100, -100, -100];
var node1 = [-100, -100, 100];
var node2 = [-100, 100, -100];
var node3 = [-100, 100, 100];
var node4 = [ 100, -100, -100];
var node5 = [ 100, -100, 100];
var node6 = [ 100, 100, -100];
var node7 = [ 100, 100, 100];
var nodes = [node0, node1, node2, node3, node4, node5, node6, node7];
Comme vous l'avez peut-être remarqué, les nœuds représentent les 8 possibilités d'arrangement des trois valeurs 100, positives ou négatives.
Vous pouvez regarder les nœuds comme un cube 2 x 2 x 2, centré à l'origine, dans la visualisation ci-dessous. Faites pivoter à l'aide de la souris :

Les arêtes

Nous définissons ensuite un tableau d'arêtes, dont chaque arête est un tableau de deux nombres. Par exemple, edge0 définit une arête entre node0 et node1. On commence à compter à partir de 0 car les tableaux sont indexés à partir de 0 (pour obtenir la valeur du premier nœud, on tape nodes[0]).
var edge0 = [0, 1];
var edge1 = [1, 3];
var edge2 = [3, 2];
var edge3 = [2, 0];
var edge4 = [4, 5];
var edge5 = [5, 7];
var edge6 = [7, 6];
var edge7 = [6, 4];
var edge8 = [0, 4];
var edge9 = [1, 5];
var edge10 = [2, 6];
var edge11 = [3, 7];
var edges = [edge0, edge1, edge2, edge3, edge4, edge5, edge6, edge7, edge8, edge9, edge10, edge11];
La partie la plus délicate est de s'assurer qu'on a bien joint les bonnes arêtes. Voici une visualisation des arêtes, connectées en forme de cube :

Vous souhaitez rejoindre la discussion ?

  • primosaur seedling style l'avatar de l’utilisateur zestelle2
    Bonjour,

    var edge0 = [0, 1];
    var edge1 = [1, 3];
    var edge2 = [3, 2];
    var edge3 = [2, 0];
    var edge4 = [4, 5];
    var edge5 = [5, 7];
    var edge6 = [7, 6];
    var edge7 = [6, 4];
    var edge8 = [0, 4];
    var edge9 = [1, 5];
    var edge10 = [2, 6];
    var edge11 = [3, 7];
    var edges = [edge0, edge1, edge2, edge3, edge4, edge5, edge6, edge7, edge8, edge9, edge10, edge11];

    A-t-il une logique pour les variables edges autre que le dessin du cube ?
    (5 votes)
    Default Khan Academy avatar l'avatar de l’utilisateur
Vous comprenez l'anglais ? Cliquez ici pour participer à d'autres discussions sur Khan Academy en anglais.