How to draw a triangle given two points?

I want to draw a triangle given the center and end points.
Any advice on maths please?
2023-08-02 123453

A = start + rotate( end-start, 2π/3 )
B = start + rotate( end-start, -2π/3 )

2 Likes

let center = new THREE.Vector2(0, -1);
let rand = new THREE.Vector2(2, 1);
let around = new THREE.Vector2();
let verts = 3;
let tri = new THREE.Mesh(
  new THREE.ShapeGeometry(
    new THREE.Shape(
      new Array(verts).fill().map((_, idx, arr) => {
        return new THREE.Vector2()
          .subVectors(rand, center)
          .rotateAround(around, idx * Math.PI * 2 / verts)
          .add(center)
      })
    )
  ),
  new THREE.MeshBasicMaterial({color: "maroon"})
);
scene.add(tri);

Changing of verts will give different regular polygons.

2 Likes

thank you your post was very helpful