Skip to main content
Became Hot Network Question
added 15 characters in body
Source Link
Lawton
  • 287
  • 1
  • 7

I've been using Wolfram Engine 14.3 for a personal project, one part of which required finding the center-point of a circle in 3D space when given the coordinate-triples of three points on the circle's boundary (see below). I followed the steps in this Mathematics Stack Exchange post but wound up with extremely long expressions that were tricky to simplify (as referenced in my first question about simplification here and my second question about simplification here). The user @azerbajdzan suggested I post a question specifically about finding the center-point as they had a better way to solve it that did not require all the tedious simplification steps.

The three points on the circle have the following coordinates:

ApointA = {
    r/Sqrt[3]*(Sqrt[2]*Q*(2 - U^2) + 2 - Sqrt[2]/4*c*U^2)/(Q*(2 - U^2) - 2), 
    r/Sqrt[1]*((c*(Q - 1) - 1)*U)                        /(Q*(2 - U^2) - 2), 
    r/Sqrt[6]*(Sqrt[2]*Q*(2 - U^2) + 2 - Sqrt[2]/4*c*U^2)/(Q*(2 - U^2) - 2)
}

BpointB = {
    r/Sqrt[3]*(Sqrt[2]*Q*(1 - U^2) + 3 - 1/2*c*(1 + U^2))/(Q*(1 - U^2) - 2), 
    r/Sqrt[1]*(-(1 + c)*U)                               /(Q*(1 - U^2) - 2), 
    r/Sqrt[6]*(Sqrt[2]*Q*(1 - U^2)*(1 + 2*c*Q) + 2*c)    /(Q*(1 - U^2) - 2)
}

CpointC = {
    r/Sqrt[3]*(Sqrt[2]*Q*(1 - U^2) + 1 + c*(Sqrt[2]*Q*(1 - U^2) + 1))/(Q*(1 - U^2) - 2), 
    r/Sqrt[1]*(-(1 + c)*U)                                           /(Q*(1 - U^2) - 2), 
    r/Sqrt[6]*(Sqrt[2]*Q*(1 - U^2) + 4 + c*((1/2 + Q)*(1 - U^2) - 2))/(Q*(1 - U^2) - 2)
}

where r is a positive real number, U is a real number in the interval $[-1, 1]$, c is a real number in the interval $[0, 1]$, and Q := (2 - Sqrt[2])/4.

I've been using Wolfram Engine 14.3 for a personal project, one part of which required finding the center-point of a circle in 3D space when given the coordinate-triples of three points on the circle's boundary (see below). I followed the steps in this Mathematics Stack Exchange post but wound up with extremely long expressions that were tricky to simplify (as referenced in my first question about simplification here and my second question about simplification here). The user @azerbajdzan suggested I post a question specifically about finding the center-point as they had a better way to solve it that did not require all the tedious simplification steps.

The three points on the circle have the following coordinates:

A = {
    r/Sqrt[3]*(Sqrt[2]*Q*(2 - U^2) + 2 - Sqrt[2]/4*c*U^2)/(Q*(2 - U^2) - 2), 
    r/Sqrt[1]*((c*(Q - 1) - 1)*U)                        /(Q*(2 - U^2) - 2), 
    r/Sqrt[6]*(Sqrt[2]*Q*(2 - U^2) + 2 - Sqrt[2]/4*c*U^2)/(Q*(2 - U^2) - 2)
}

B = {
    r/Sqrt[3]*(Sqrt[2]*Q*(1 - U^2) + 3 - 1/2*c*(1 + U^2))/(Q*(1 - U^2) - 2), 
    r/Sqrt[1]*(-(1 + c)*U)                               /(Q*(1 - U^2) - 2), 
    r/Sqrt[6]*(Sqrt[2]*Q*(1 - U^2)*(1 + 2*c*Q) + 2*c)    /(Q*(1 - U^2) - 2)
}

C = {
    r/Sqrt[3]*(Sqrt[2]*Q*(1 - U^2) + 1 + c*(Sqrt[2]*Q*(1 - U^2) + 1))/(Q*(1 - U^2) - 2), 
    r/Sqrt[1]*(-(1 + c)*U)                                           /(Q*(1 - U^2) - 2), 
    r/Sqrt[6]*(Sqrt[2]*Q*(1 - U^2) + 4 + c*((1/2 + Q)*(1 - U^2) - 2))/(Q*(1 - U^2) - 2)
}

where r is a positive real number, U is a real number in the interval $[-1, 1]$, c is a real number in the interval $[0, 1]$, and Q := (2 - Sqrt[2])/4.

I've been using Wolfram Engine 14.3 for a personal project, one part of which required finding the center-point of a circle in 3D space when given the coordinate-triples of three points on the circle's boundary (see below). I followed the steps in this Mathematics Stack Exchange post but wound up with extremely long expressions that were tricky to simplify (as referenced in my first question about simplification here and my second question about simplification here). The user @azerbajdzan suggested I post a question specifically about finding the center-point as they had a better way to solve it that did not require all the tedious simplification steps.

The three points on the circle have the following coordinates:

pointA = {
    r/Sqrt[3]*(Sqrt[2]*Q*(2 - U^2) + 2 - Sqrt[2]/4*c*U^2)/(Q*(2 - U^2) - 2), 
    r/Sqrt[1]*((c*(Q - 1) - 1)*U)                        /(Q*(2 - U^2) - 2), 
    r/Sqrt[6]*(Sqrt[2]*Q*(2 - U^2) + 2 - Sqrt[2]/4*c*U^2)/(Q*(2 - U^2) - 2)
}

pointB = {
    r/Sqrt[3]*(Sqrt[2]*Q*(1 - U^2) + 3 - 1/2*c*(1 + U^2))/(Q*(1 - U^2) - 2), 
    r/Sqrt[1]*(-(1 + c)*U)                               /(Q*(1 - U^2) - 2), 
    r/Sqrt[6]*(Sqrt[2]*Q*(1 - U^2)*(1 + 2*c*Q) + 2*c)    /(Q*(1 - U^2) - 2)
}

pointC = {
    r/Sqrt[3]*(Sqrt[2]*Q*(1 - U^2) + 1 + c*(Sqrt[2]*Q*(1 - U^2) + 1))/(Q*(1 - U^2) - 2), 
    r/Sqrt[1]*(-(1 + c)*U)                                           /(Q*(1 - U^2) - 2), 
    r/Sqrt[6]*(Sqrt[2]*Q*(1 - U^2) + 4 + c*((1/2 + Q)*(1 - U^2) - 2))/(Q*(1 - U^2) - 2)
}

where r is a positive real number, U is a real number in the interval $[-1, 1]$, c is a real number in the interval $[0, 1]$, and Q := (2 - Sqrt[2])/4.

Source Link
Lawton
  • 287
  • 1
  • 7

How can I find the center-point of a circle given three 3D points on its boundary, without dealing with huge expressions?

I've been using Wolfram Engine 14.3 for a personal project, one part of which required finding the center-point of a circle in 3D space when given the coordinate-triples of three points on the circle's boundary (see below). I followed the steps in this Mathematics Stack Exchange post but wound up with extremely long expressions that were tricky to simplify (as referenced in my first question about simplification here and my second question about simplification here). The user @azerbajdzan suggested I post a question specifically about finding the center-point as they had a better way to solve it that did not require all the tedious simplification steps.

The three points on the circle have the following coordinates:

A = {
    r/Sqrt[3]*(Sqrt[2]*Q*(2 - U^2) + 2 - Sqrt[2]/4*c*U^2)/(Q*(2 - U^2) - 2), 
    r/Sqrt[1]*((c*(Q - 1) - 1)*U)                        /(Q*(2 - U^2) - 2), 
    r/Sqrt[6]*(Sqrt[2]*Q*(2 - U^2) + 2 - Sqrt[2]/4*c*U^2)/(Q*(2 - U^2) - 2)
}

B = {
    r/Sqrt[3]*(Sqrt[2]*Q*(1 - U^2) + 3 - 1/2*c*(1 + U^2))/(Q*(1 - U^2) - 2), 
    r/Sqrt[1]*(-(1 + c)*U)                               /(Q*(1 - U^2) - 2), 
    r/Sqrt[6]*(Sqrt[2]*Q*(1 - U^2)*(1 + 2*c*Q) + 2*c)    /(Q*(1 - U^2) - 2)
}

C = {
    r/Sqrt[3]*(Sqrt[2]*Q*(1 - U^2) + 1 + c*(Sqrt[2]*Q*(1 - U^2) + 1))/(Q*(1 - U^2) - 2), 
    r/Sqrt[1]*(-(1 + c)*U)                                           /(Q*(1 - U^2) - 2), 
    r/Sqrt[6]*(Sqrt[2]*Q*(1 - U^2) + 4 + c*((1/2 + Q)*(1 - U^2) - 2))/(Q*(1 - U^2) - 2)
}

where r is a positive real number, U is a real number in the interval $[-1, 1]$, c is a real number in the interval $[0, 1]$, and Q := (2 - Sqrt[2])/4.