Como dito, eu quero construir um programa para gerar n pontos equidistantes em um espaço euclidiano. Pelo que eu sei
- 1d: todos os pontos
- 2d: todos os triângulos equilaterais
- 3d: todos os tetraedros equilaterais
- até 3d: suponho que seja chamado de hipertriangulo equilateral
Portanto, meu problema é o seguinte, em um espaço n-1 euclidiano, fornecendo um ponto definido para construir o outro n-1, a fim de ter um hiper-triângulo equilateral com um d distante entre cada ponto.
Suponho que podemos começar como a seguir, por exemplo, um espaço 3D.
- p1 = (x1, y1, z1) fixo
- p2 = (x2, y2, z2)
- p3 = (x3, y3, z3)
- p4 = (x4, y4, z4)
- d
Começamos a consertar p2 sabendo d e p1
Temos 3 variáveis x2, y2, z2. Podemos consertar aleatoriamente dois deles e determinar o terceiro sem problemas.
Então, para o segundo ponto, temos agora 2 equações para defini-lo:
Como anteriormente, presumo que possamos consertar 2 variáveis para determinar a terceira.
Para o último ponto, agora temos 3 equações que o definiram.
Portanto, para um espaço dimensional n-1, temos a equação n-1 para definir o último ponto.
Não sei como resolver esse tipo de sistema composto de equação quadrática com uma variável e se o processo que consiste em fixar a dimensão n-1 para determinar a última leva a um hipertriangulo equidistante. Além disso, existem outros métodos com uma complexidade menor e mais fácil de implementar.
Espero ter sido suficientemente claro e agradeço a sua ajuda.
Você pode criar n-1 pontos equidistantes usando os vetores unitários ao longo de cada um dos eixos aka. (1, 0, 0, 0, ..., 0); (0, 1, 0, 0, ..., 0); (0, 0, 1, 0, ..., 0); etc., o último enésimo ponto será ao longo da direção 1, 1, 1, ..., 1.
Então você pode usar uma escala para definir a distância entre os pontos de a e traduzir para mover um dos pontos para o ponto fixo2-√ d
fonte