x_{bar}

ξ

η

ρ_ξ

ρ_η

Ellisse centr. d'inerzia

nocciolo centr. d'inerzia

det. centro relativo p.1

det. centro relativo p.2

centro relativo

A = Intersect(xAxis, yAxis)
c = Circle(A, 4)
B = Intersect(c, yAxis, 2)
C = Intersect(c, xAxis, 2)
f = Ray(A, C)
g = Ray(A, B)
D = Point(f)
E = Point(g)
h = Line(D, g)
i = Line(E, f)
d = Circle(E, 4)
e = Circle(D, 4)
F = Intersect(d, i, 2)
G' = Intersect(e, h, 2)
j = Ray(E, F)
k = Ray(D, G')
H = Point(j)
I = Point(k)
l = Line(H, g)
m = Line(I, f)
J = Intersect(l, m)
poli1, a, d_1, i_1, j_1, h_1, e_1 = Polygon(A, D, I, J, H, E)
K = Intersect(l, a)
n = Segment(J, K)
p = Segment(A, H)
q = Segment(E, K)
r = Segment(J, D)
s = Segment(K, I)
G_1 = Intersect(p, q)
G_2 = Intersect(r, s)
A_1: (Distance[E, H] * Distance[E, A])
A_2: (Distance[D, K] * Distance[I, D])
S_x: (A_1 * y(G_1)) + (A_2 * y(G_2))
S_y: (A_1 * x(G_1)) + (A_2 * x(G_2))
x_G: S_y / (A_1 + A_2)
y_G: S_x / (A_1 + A_2)
G: (x_G, y_G)
t = Line(G, xAxis)
b = Line(G, yAxis)
c_1 = Circle(G, (1.35 * Max[x(I) - x(G), y(H) - y(G)]))
L = Intersect(c_1, t, 1)
M = Intersect(c_1, t, 2)
u = Vector(L, M)
N, y_{bar} = Intersect(c_1, b)
v = Vector(N, y_{bar})
I_{xbar2}: ((Distance[D, K] * Distance[I, D]^(3))) / 12 + ((Distance[D, K] * Distance[I, D]) * (y(G) - y(G_2))^(2))
I_{xbar1}: ((Distance[A, K] * Distance[E, A]^(3))) / 12 + ((Distance[A, K] * Distance[E, A]) * (y(G_1) - y(G))^(2))
I_{ybar1}: ((Distance[A, K]^(3) * Distance[E, A])) / 12 + ((Distance[A, K] * Distance[E, A]) * (x(G) - x(G_1))^(2))
I_{ybar2}: ((Distance[D, K]^(3) * Distance[I, D])) / 12 + ((Distance[D, K] * Distance[I, D]) * (x(G_2) - x(G))^(2))
I_{xbyb}: (((Distance[A, K] * Distance[E, A]) * x(G_1 - G)) * y(G_1 - G)) + (((Distance[D, K] * Distance[I, D]) * x(G_2 - G)) * y(G_2 - G))
I_{xbar}: I_{xbar1} + I_{xbar2}
I_{ybar}: I_{ybar1} + I_{ybar2}
θ: atan((-2 * I_{xbyb} / (I_{xbar} - I_{ybar}))) / 2
M'_1 = Rotate(M, θ, G)
α = Angle(M, G, M'_1)
f_1 = Line(G, M'_1)
g_1 = OrthogonalLine(G, f_1)
O, P = Intersect(c_1, g_1)
Q = Intersect(c_1, f_1, 1)
w = Vector(Q, M'_1)
u_1 = Vector(O, P)
I_ξ: (I_{ybar} * sin(θ)^(2)) + (I_{xbar} * cos(θ)^(2)) - (((2 * I_{xbyb}) * sin(θ)) * cos(θ))
I_η: (I_{ybar} * cos(θ)^(2)) + (I_{xbar} * sin(θ)^(2)) + (((2 * I_{xbyb}) * sin(θ)) * cos(θ))
ρ_ξ: sqrt(I_ξ / (A_1 + A_2))
ρ_η: sqrt(I_η / (A_1 + A_2))
testo1: "I_{\bar{x}} = " + (LaTeX[I_{xbar}]) + "\; [L^4]\\
I_{\bar{y}} = " + (LaTeX[I_{ybar}]) + "\; [L^4]\\
I_{\bar{x}\bar{y}} = " + (LaTeX[I_{xbyb}]) + "\; [L^4]\\
\vspace{1cm}
I_{\xi} = " + (LaTeX[I_ξ]) + "\; [L^4] \rightarrow \rho_{\xi} = " + (LaTeX[ρ_ξ]) + "\;[L]\\
I_{\eta} = " + (LaTeX[I_η]) + " \; [L^4] \rightarrow \rho_{\eta} = " + (LaTeX[ρ_η]) + "\;[L]"
k_1 = Circle(G, ρ_ξ)
R, S = Intersect(k_1, g_1)
m_1 = Segment(G, S)
p_1 = Circle(G, ρ_η)
T, U = Intersect(p_1, f_1)
l_1 = Segment(G, U)
q_1 = If(ρ_η  <  ρ_ξ, Circle[G, sqrt(ρ_ξ^(2) - ρ_η^(2))], Circle[G, sqrt((-ρ_ξ^(2)) + ρ_η^(2))])
V, W = Intersect(q_1, g_1)
Z, B_1 = Intersect(q_1, f_1)
r_1 = If(ρ_η  <  ρ_ξ, Ellipse[W, V, U], Ellipse[Z, B_1, S])
o = false
C_1, D_1 = Intersect(k_1, f_1)
E_1, F_1 = Intersect(p_1, g_1)
n_1 = Line(E, H)
H_1 = Intersect(g_1, n_1)
I_1 = Intersect(n_1, f_1)
s_1 = Segment(H_1, D_1)
t_1 = OrthogonalLine(D_1, s_1)
J_1 = Intersect(t_1, g_1)
a_1 = Line(J_1, f_1)
b_1 = Segment(I_1, F_1)
f_2 = OrthogonalLine(F_1, b_1)
K_1 = Intersect(f_1, f_2)
g_2 = Line(K_1, g_1)
L_1 = Intersect(g_2, a_1)
M_1 = Intersect(p_1, k_1)
h_2 = Line(E, A)
N_1 = Intersect(g_1, h_2)
O_1 = Intersect(f_1, h_2)
i_2 = Segment(N_1, D_1)
j_2 = OrthogonalLine(D_1, i_2)
P_1 = Intersect(j_2, g_1)
k_2 = Line(P_1, f_1)
l_2 = Segment(O_1, F_1)
m_2 = OrthogonalLine(F_1, l_2)
Q_1 = Intersect(m_2, f_1)
n_2 = Line(Q_1, g_1)
R_1 = Intersect(k_2, n_2)
p_2 = Line(A, D)
S_1 = Intersect(p_2, f_1)
T_1 = Intersect(p_2, g_1)
q_2 = Segment(S_1, F_1)
r_2 = OrthogonalLine(F_1, q_2)
U_1 = Intersect(r_2, f_1)
s_2 = Line(U_1, g_1)
t_2 = Segment(T_1, C_1)
a_2 = OrthogonalLine(C_1, t_2)
V_1 = Intersect(g_1, a_2)
b_2 = Line(V_1, f_1)
W_1 = Intersect(b_2, s_2)
c_2 = Line(D, I)
Z_1 = Intersect(f_1, c_2)
B_2 = Intersect(c_2, g_1)
d_2 = Segment(Z_1, F_1)
e_2 = OrthogonalLine(F_1, d_2)
C_2 = Intersect(e_2, f_1)
f_3 = Line(C_2, g_1)
g_3 = Segment(B_2, C_1)
h_3 = OrthogonalLine(C_1, g_3)
D_2 = Intersect(g_1, h_3)
i_3 = Line(D_2, f_1)
E_2 = Intersect(i_3, f_3)
j_3 = Line(I, H)
F_2 = Intersect(j_3, g_1)
k_3 = Segment(F_2, C_1)
l_3 = OrthogonalLine(C_1, k_3)
H_2 = Intersect(l_3, g_1)
m_3 = Line(H_2, f_1)
I_2 = Intersect(j_3, f_1)
n_3 = Segment(I_2, F_1)
p_3 = OrthogonalLine(F_1, n_3)
J_2 = Intersect(p_3, f_1)
q_3 = Line(J_2, g_1)
K_2 = Intersect(m_3, q_3)
poli2, w_1, r_3, l_4, k_4, e_3 = Polygon(W_1, R_1, L_1, K_2, E_2)
L_2 = (8.179077024191626, 10.570985416258956)
M_2 = (11.387566279100298, 5.131170836311147)
s_3 = Line(L_2, M_2)
N_2 = Intersect(s_3, g_1)
O_2 = Intersect(s_3, f_1)
o_1 = false
t_3 = Segment(N_2, C_1)
c_3 = CircleArc(G, S, C_1)
a_3 = OrthogonalLine(C_1, t_3)
P_2 = Intersect(a_3, g_1)
b_3 = Line(P_2, f_1)
β = Angle(P_2, C_1, N_2)
v_1 = false
d_3 = Segment(O_2, F_1)
f_4 = OrthogonalLine(F_1, d_3)
Q_2 = Intersect(f_4, f_1)
g_4 = Line(Q_2, g_1)
o_2 = false
c_4 = CircleArc(G, U, F_1)
R_2 = Intersect(b_3, g_4)
u_2 = false

Tool: Carrello
Carrello[ <Point>, <Number> ]
Input: C, Lcern
Output: poly1, g, D, poly2, t, t'

Lcern: 1
c = Circle(C, Lcern)
D = Point(c)
g = Segment(C, D)
D' = Rotate(D, 30°, C)
D'' = Mirror(D', g)
d = Circle(C, (2 * Lcern / 3))
h = Segment(C, D')
i = Segment(C, D'')
E = Intersect(d, i)
F = Intersect(d, h)
poly1, f_1, e, c_1 = Polygon(E, C, F)
j = Segment(D'', D')
k = OrthogonalLine(D'', j)
l = OrthogonalLine(D', j)
m = OrthogonalLine(F, g)
G = Intersect(k, m)
H = Intersect(l, m)
f = Segment(D'', G)
n = Segment(D', H)
A = Midpoint(f)
B = Midpoint(n)
A' = Mirror(A, j)
B' = Mirror(B, j)
poly2, a', b', b, a = Polygon(A', B', B, A)
p = OrthogonalLine(E, b)
I = Intersect(p, b)
q = Segment(I, E)
J = Midpoint(q)
r = Circle(J, E)
s = OrthogonalLine(J, q)
K, L = Intersect(r, s)
t = Circle(K, J)
t' = Mirror(t, g)

Tool: Pendolo
Pendolo[ <Number>, <Point> ]
Input: Lcern, A
Output: i, e, k, e', B, i'

Lcern: 1
c = Circle(A, Lcern)
B = Point(c)
f = Segment(A, B)
d = Circle(A, Lcern / 8)
C = Intersect(d, f, 1)
e = Circle(C, A)
g = OrthogonalLine(A, f)
h = Circle(A, Lcern / 8)
D, E = Intersect(h, g)
i = Segment(D, E)
F = Midpoint(f)
j = OrthogonalLine(F, f)
G = Intersect(e, f, 2)
e' = Mirror(e, j)
D' = Mirror(D, j)
E' = Mirror(E, j)
i' = Segment(D', E')
H = Intersect(e', f, 1)
k = Segment(G, H)

Tool: Quardipendolo
Quardipendolo[ <Number>, <Point>, <Number> ]
Input: Lcern, A, Angolo
Output: l, q, q'_1, s', s, q'', q', B, m, m', q''_1, q''', s'', s'_1, q'_2, l', A', c_1

Lcern: 0.5
c = Circle(A, Lcern)
B = Point(c)
f = Line(A, B)
g = OrthogonalLine(A, f)
h = OrthogonalLine(B, f)
i = Segment(B, A)
C = Midpoint(i)
d = Circle(A, Lcern / 2)
D, E = Intersect(d, g)
j = OrthogonalLine(D, g)
k = OrthogonalLine(E, g)
F = Intersect(h, j)
G = Intersect(h, k)
l = Segment(D, E)
m = Segment(F, G)
e = Circle(D, Lcern / 8)
I = Intersect(e, l, 1)
J = Intersect(e, j, 1)
n = OrthogonalLine(J, j)
p = OrthogonalLine(I, l)
K = Intersect(n, p)
q = Circle(K, I)
r = OrthogonalLine(C, f)
q' = Mirror(q, r)
L = Intersect(q, p, 2)
M = Intersect(q', p, 2)
s = Segment(L, M)
q'_1 = Mirror(q, f)
L' = Mirror(L, f)
M' = Mirror(M, f)
s' = Segment(L', M')
q'' = Mirror(q', f)
Angolo: 45
B' = Rotate(B, (-Angolo), F)
t = AngularBisector(B, F, B')
F' = Mirror(F, t)
G' = Mirror(G, t)
m' = Segment(F', G')
q''_1 = Mirror(q', t)
L'_1 = Mirror(L, t)
M'_1 = Mirror(M, t)
s'_1 = Segment(L'_1, M'_1)
q'_2 = Mirror(q, t)
D' = Mirror(D, t)
E' = Mirror(E, t)
l' = Segment(D', E')
c_1 = Mirror(q'_1, t)
q''' = Mirror(q'', t)
L'' = Mirror(L', t)
M'' = Mirror(M', t)
s'' = Segment(L'', M'')
A' = Mirror(A, t)

Tool: Quadripendolo
Quadripendolo[ <Number>, <Point> ]
Input: Lcern, A
Output: l, s_1, r_1, n_1, a_1, t_1, e_2, n, d_2, c_2, b_1, h_2, g_2, f_2, m, B

Lcern: 1
c = Circle(A, (2 * Lcern))
B = Point(c)
f = Line(A, B)
g = OrthogonalLine(A, f)
h = OrthogonalLine(B, f)
d = Circle(A, Lcern / 2)
e = Circle(B, Lcern / 2)
C, D = Intersect(d, g)
E, F = Intersect(e, h)
i = Segment(D, F)
G = Midpoint(i)
j = OrthogonalLine(G, f)
k = Circle(G, Lcern / 2)
H, I = Intersect(k, j)
l = Segment(C, D)
m = Segment(E, F)
n = Segment(H, I)
p = Circle(D, Lcern / 8)
q = Circle(C, Lcern / 8)
r = Circle(H, Lcern / 8)
s = Circle(I, Lcern / 8)
t = Circle(F, Lcern / 8)
c_1 = Circle(E, Lcern / 8)
J = Intersect(p, l, 1)
K = Intersect(q, l, 1)
L = Intersect(r, n, 1)
M = Intersect(s, n, 1)
N = Intersect(t, m, 1)
O = Intersect(c_1, m, 1)
a = Segment(J, M)
b = Segment(K, L)
f_1 = Segment(M, N)
g_1 = Segment(L, O)
d_1 = Circle(K, Lcern / 8)
e_1 = Circle(J, Lcern / 8)
h_1 = Circle(M, Lcern / 8)
k_1 = Circle(L, Lcern / 8)
p_1 = Circle(N, Lcern / 8)
q_1 = Circle(O, Lcern / 8)
P = Intersect(e_1, a, 1)
Q = Intersect(h_1, a, 1)
R = Intersect(h_1, f_1, 1)
S = Intersect(p_1, f_1, 1)
T = Intersect(d_1, b, 1)
U = Intersect(k_1, b, 1)
V = Intersect(k_1, g_1, 1)
W = Intersect(q_1, g_1, 1)
i_1 = OrthogonalLine(P, l)
j_1 = OrthogonalLine(T, l)
l_1 = OrthogonalLine(Q, n)
m_1 = OrthogonalLine(U, n)
Z = Intersect(i_1, l)
A_1 = Intersect(j_1, l)
B_1 = Intersect(l_1, n)
C_1 = Intersect(m_1, n)
D_1 = Intersect(j_1, m)
E_1 = Intersect(i_1, m)
r_1 = Circle(P, Z)
s_1 = Circle(T, A_1)
t_1 = Circle(U, C_1)
c_2 = Circle(V, C_1)
d_2 = Circle(R, B_1)
e_2 = Circle(Q, B_1)
f_2 = Circle(S, E_1)
g_2 = Circle(W, D_1)
F_1 = Intersect(r_1, a, 2)
G_1 = Intersect(e_2, a, 1)
H_1 = Intersect(d_2, f_1, 2)
I_1 = Intersect(f_2, f_1, 1)
J_1 = Intersect(g_2, g_1, 1)
K_1 = Intersect(c_2, g_1, 2)
L_1 = Intersect(t_1, b, 1)
M_1 = Intersect(s_1, b, 2)
n_1 = Segment(F_1, G_1)
a_1 = Segment(M_1, L_1)
b_1 = Segment(H_1, I_1)
h_2 = Segment(K_1, J_1)

Tool: Cerniera
Cerniera[ <Point>, <Number> ]
Input: C, Lcern
Output: poly1, poly2, g, D

Lcern: 1
c = Circle(C, Lcern)
D = Point(c)
g = Segment(C, D)
D' = Rotate(D, 30°, C)
D'' = Mirror(D', g)
d = Circle(C, (2 * Lcern / 3))
h = Segment(C, D')
i = Segment(C, D'')
E = Intersect(d, i)
F = Intersect(d, h)
poly1, f_1, e, c_1 = Polygon(E, C, F)
j = Segment(D'', D')
k = OrthogonalLine(D'', j)
l = OrthogonalLine(D', j)
m = OrthogonalLine(F, g)
G = Intersect(k, m)
H = Intersect(l, m)
poly2, d'', d', h_1, g_1 = Polygon(D'', D', H, G)

Tool: Bipendolo
Bipendolo[ <Number>, <Point> ]
Input: Lcern, A
Output: l, q'_1, s', q'', B, m, q', s, q

Lcern: 0.5
c = Circle(A, Lcern)
B = Point(c)
f = Line(A, B)
g = OrthogonalLine(A, f)
h = OrthogonalLine(B, f)
i = Segment(B, A)
C = Midpoint(i)
d = Circle(A, Lcern / 2)
D, E = Intersect(d, g)
j = OrthogonalLine(D, g)
k = OrthogonalLine(E, g)
F = Intersect(h, j)
G = Intersect(h, k)
l = Segment(D, E)
m = Segment(F, G)
e = Circle(D, Lcern / 8)
I = Intersect(e, l, 1)
J = Intersect(e, j, 1)
n = OrthogonalLine(J, j)
p = OrthogonalLine(I, l)
K = Intersect(n, p)
q = Circle(K, I)
r = OrthogonalLine(C, f)
q' = Mirror(q, r)
L = Intersect(q, p, 2)
M = Intersect(q', p, 2)
s = Segment(L, M)
q'_1 = Mirror(q, f)
L' = Mirror(L, f)
M' = Mirror(M, f)
s' = Segment(L', M')
q'' = Mirror(q', f)

Tool: CernieraInterna
CernieraInterna[ <Point>, <Number> ]
Input: C, Lcern
Output: D, E, h

Lcern: 1
e = Circle(C, Lcern / 4)
D = Point(e)
g = Segment(C, D)
E = Midpoint(g)
h = Circle(E, D)

Tool: Incastro
Incastro[ <Point>, <Number> ]
Input: A, Lcern
Output: B, f, poly1

Lcern: 1
c = Circle(A, Lcern / 2)
B = Point(c)
f = Segment(A, B)
g = OrthogonalLine(A, f)
C = Intersect(c, g, 1)
D = Intersect(c, g, 2)
h = OrthogonalLine(D, g)
i = OrthogonalLine(C, g)
d = Circle(C, Lcern / 4)
E = Intersect(d, i, 1)
j = OrthogonalLine(E, f)
F = Intersect(h, j)
poly1, e, c_1, d_1, f_1 = Polygon(E, C, D, F)

Tool: CaricoDistr
CaricoDistr[ <Point>, <Point>, <Point> ]
Input: A, B, C
Output: poly1, u, j, v, f, D

f = Segment(A, B)
g = Line(C, B)
h = Line(A, g)
i = Line(C, f)
D = Intersect(h, i)
u = Vector(C, B)
j = Segment(C, D)
v = Vector(D, A)
poly1, a, b, c, d = Polygon(A, B, C, D)

Tool: CaricoT
CaricoT[ <Point>, <Point>, <Point> ]
Input: A, B, C
Output: poly1, u

poly1, c, a, b = Polygon(A, B, C)
u = Vector(C, B)

Tool: Momento1
Momento1[ <Punto>, <Numero> ]
Input: A, L
Output: u, d, B, i

L: 1
c = Circle(A, L)
B = Point(c)
f = Line(B, A)
C = Intersect(c, f, 2)
d = Semicircle(C, B)
e = Circle(C, L / 8)
g = OrthogonalLine(C, f)
D = Intersect(e, g, 2)
u = Vector(C, D)
h = Circle(A, L / 4)
E = Intersect(h, f, 2)
F = Intersect(h, f, 1)
i = Segment(F, E)

Tool: Momento2
Momento2[ <Punto>, <Numero> ]
Input: A, L
Output: u', d', B, i

L: 1
c = Circle(A, L)
B = Point(c)
f = Line(B, A)
C = Intersect(c, f, 2)
d = Semicircle(C, B)
e = Circle(C, L / 8)
g = OrthogonalLine(C, f)
D = Intersect(e, g, 2)
u = Vector(C, D)
h = Circle(A, L / 4)
E = Intersect(h, f, 2)
F = Intersect(h, f, 1)
i = Segment(F, E)
d' = Mirror(d, i)
u' = Mirror(u, i)

Tool: CaricoDistrRis
CaricoDistrRis[ <Punto>, <Punto>, <Punto> ]
Input: A, B, C
Output: D, f, v, g, u, poli1, Q, E, E'

poli1, u, f, v, g, D = CaricoDistr(A, B, C)
E = Midpoint(D, C)
E': E + (u * Distance[A, B])
Q = Vector(E, E')

Tool: CaricoTriangRis
CaricoTriangRis[ <Punto>, <Punto>, <Punto> ]
Input: A, B, C
Output: poli1, u, E, E', Q

poli1, u = CaricoT(A, B, C)
D: A + ((B - A) * 2 / 3)
f = Line(D, u)
E, F = Intersect(f, poli1)
E': E + (u * Distance[A, B] / 2)
Q = Vector(E, E')

Tool: Distanza
Distanza[ <Punto>, <Punto> ]
Input: A, B
Output: k, l, m, TestoDC, C

f = Line(A, B)
g = OrthogonalLine(B, f)
C = Point(g)
h = OrthogonalLine(A, f)
i = OrthogonalLine(C, g)
D = Intersect(i, h)
c = Circle(C, Distance[B, C] / 4)
E = Intersect(c, g, 2)
j = OrthogonalLine(E, g)
F = Intersect(h, j)
k = Segment(B, E)
l = Segment(A, F)
m = Segment(D, C)
distanzaDC = Distance(D, C)
TestoDC: " " + distanzaDC + ""