Comme je l'ai dit, je veux construire un programme pour générer n points équidistants dans un espace euclidien. De ce que je sais
- 1d: tous les deux points
- 2d: tous les triangles équilatéraux
- 3D: tous les tétraèdres équilatéraux
- jusqu'à 3d: je suppose que cela s'appelle un hypertriangle équilatéral
Donc mon problème est le suivant, dans un espace euclidien n-1, donnant un point défini construire l'autre n-1 afin d'avoir un hypertriangle équilatéral avec un d distant entre chaque point.
Je suppose que nous pouvons commencer comme suit avec par exemple un espace 3D.
- p1 = (x1, y1, z1) fixe
- p2 = (x2, y2, z2)
- p3 = (x3, y3, z3)
- p4 = (x4, y4, z4)
- ré
Nous commençons à fixer p2 connaissant d et p1
Nous avons 3 variables x2, y2, z2. Nous pouvons corriger au hasard deux d'entre eux et déterminer le troisième sans problème.
Ensuite, pour le deuxième point, nous avons maintenant 2 équations pour le définir:
Comme précédemment, je suppose que nous pouvons fixer 2 variables pour déterminer la troisième.
Pour le dernier point, nous avons maintenant 3 équations qui le définissent.
Donc, pour un espace dimensionnel n-1, nous avons l'équation n-1 pour définir le dernier point.
Je ne sais pas comment résoudre ce type de système composé d'équation quadratique à une variable et si le processus qui consiste à fixer la dimension n-1 pour déterminer la dernière conduit à un hypertriangle équidistant. De plus il existe peut-être d'autres méthodes avec une complexité moindre et plus faciles à mettre en œuvre.
J'espère avoir été assez clair et je vous remercie de votre aide.
Vous pouvez créer n-1 points équidistants en utilisant les vecteurs unitaires le long de chacun des axes aka. (1, 0, 0, 0, ..., 0); (0, 1, 0, 0, ..., 0); (0, 0, 1, 0, ..., 0); etc., Le dernier nième point sera dans la direction 1, 1, 1, ..., 1.
Ensuite, vous pouvez utiliser une échelle pour définir la distance entre les points de à et une translation pour déplacer l'un des points vers le point fixe2-√ ré
la source