Calculation of the potential effect of inaccurate vertex positions of a triangle on the lengths of edge triangles

I am not sure how to solve the following problem:

i has a triangle in which each of the three known vertex positions A, B, C is inaccurate, which means that each of them can deviate to certain known radii rA, rB, rC in arbitrary directions.

Given such a triangle, I want to calculate how much the difference in two specific edge lengths (for example, the difference between the edge lengths a and edge b) of a triangle can change in the worst case. is there an elegant mathematical solution to this problem?

the naive way that I thought calculates all 360 ^ 3 angular combinations and measures the edge differences for each case, which is a pretty high invoice.

+4
source share
1 answer

The following image illustrates the solution:

MinMaxEdgeDiff.png http://www.freeimagehosting.net/uploads/b0f0f84635.png

Some notes:

  • Line segments AC1 and BC1 represent the highest possible value | BC | - | AC |, and lines AC2 and BC2 represent the smallest possible value. In C1, the tangent to the circle should halve the angle created by AC1 and BC1; similarly for C2.
  • AC1 (when expanding along the dashed line) and AC2 pass through A. Similarly, BC1 and BC2 pass through B. Any deviation from the center, and the lines will be longer as long as possible or as short as possible.
  • The largest and smallest differences are as follows:

    d1 = |BC1| - |AC1| = (|B->C1| + _rB_) - (|A->C1| - _rA_) = |B->C1| - |A->C1| + (_rA_ + _rB_) d2 = |BC2| - |AC2| = (|B->C2| - _rB_) - (|A->C2| + _rA_) = |B->C2| - |A->C2| - (_rA_ + _rB_) 

    Thus, the difference between the largest and smallest differences is:

     d1 - d2 = (|B->C1| - |A->C1|) - (|B->C2| - |A->C2|) + 2*(_rA_ + _rB_) 

The last point suggests that a solution can be found by solving from the centers A and B, and then adding the radii rA and rB. Thus, locations C1 and C2 can be found iteratively (and separately, since they are independent of each other) by changing only one angle around the bounding circle C.

I suspect there is an analytical solution. This is an interesting problem, but for me it is not enough for my head against this particular task. Sorry .; -)

+4
source

Source: https://habr.com/ru/post/1306546/


All Articles