how to get the center of moved equilateral triangle according to endpoints displacement?

60 Views Asked by At

sorry if I did not use the proper jargon because I can't recall any specific words.

$\mathbf Conditions:$

There is an equilateral $\Delta ABC$ in $\Bbb{R^3}$ with given side-length which lies on $XOY$ plane and $A$ is on $X$-axis, the origin $O$ is the center of $\Delta ABC$.

A curve $L$ runs across original $\Delta A_0B_0C_0$ just like finger ring runs across finger. Now move $\Delta A_0B_0C_0$ along curve $L$, some rotation may be made too. So we get a series of new equilateral $\Delta A_1B_1C_1$, $\Delta A_2B_2C_2$ and so on. For the first move from $\Delta A_0B_0C_0$ to $\Delta A_1B_1C_1$, the move direction is given( for example along Z-axis)

the length of every straight lines, i.e. 3 endpoints displacement and one displacement of the middle point :($A_0-A_1, B_0-B_1, C_0-C_1, O_0-O_1$), ($A_1-A_2, B_1-B_2, C_1-C_2, O_1-O_2$), ..., ($A_i-A_{i+1}, B_i-B_{i+1}, C_i-C_{i+1}, O_i-O_{i+1}$) are given,

$\mathbf Question:$

how can we get the center of of every $\Delta A_iB_iC_i$(i.e. $O_1=(A_1+B_1+C_1)/3$, ..., $O_i=(A_i+B_i+C_i)/3$)?

$\mathbf My\,stupid\,solution:$

there may be not an equation for the answer, so a numerical solution is ok

currently, I have a thought but it is some stupid and time-wasted, in other words, I will not use it in my computer program:

answer = NULL
for every possibleA1 on sphere(origin=A0, radius=A1-A0)
  for every possibleB1 on sphere(origin=B0, radius=B1-B0)
    for every possibleC1 on sphere(origin=C0, radius=C1-C0)
      if possibleA1, possibleB1 and possibleC1 makes same sized triangle as ABC
        if distance(O1 - O0) is desired
        # I think there is only answer. What if many are produced, how to eliminate the invalid one? 
          answer.record((possibleA1, possibleB1, possibleC1)/3) 

Any hints for a non-iteration-over-all-possible-solution? Thanks

Edit on Oct. 14, 2018 in fact I know there is a solution which uses differential geometry method. But I found some values run against theoretical value. So I try to find whether there is another discipline can handle the case.