p [Rojo]

q [Naranja]

r [Amarillo]

s [Verde]

t [Azul]

u [Indigo]

x [Violeta]

Rojo (p)

Naranja (q)

Amarillo (r)

Verde (s)

Azul (t)

Añil (u)

Violeta (x)

Rojo (p):

Naranja (q):

Amarillo (r):

Verde (s):

Azul (t):

Añil (u):

Violeta (x):

Mezcla de colores

Centro de masa

Posiciónespectro = Point(xAxis)
h = OrthogonalLine(Posiciónespectro, xAxis)
Tamañoespectro = Point(Ray[(x(Posiciónespectro) + 1, 0), Vector[(1, 0)]])
Altura17 = Point(h)
f = Line(Altura17, xAxis)
g = Line(Altura17, f)
a: (Distance[Posiciónespectro, Tamañoespectro] * Distance[Altura17, Posiciónespectro] / 17)
c = Circle(Posiciónespectro, a)
F_1 = Intersect(c, h, 2)
i = Line(F_1, xAxis)
Violeta17 = Point(i)
Rojo17 = Point(i)
b: (Distance[Posiciónespectro, Tamañoespectro] * Distance[F_1, Violeta17] / 17)
d = Circle(F_1, b)
j: (Distance[Posiciónespectro, Tamañoespectro] * Distance[F_1, Rojo17] / 17)
p = Circle(F_1, j)
I = Intersect(p, i, 2)
G_1 = Intersect(d, i, 2)
k = OrthogonalLine(G_1, i)
l = OrthogonalLine(I, i)
Altura217 = Point(k)
e: (Distance[Posiciónespectro, Tamañoespectro] * Distance[G_1, Altura217] / 17)
q = Circle(G_1, e)
A_1 = Intersect(q, k, 2)
m = OrthogonalLine(A_1, k)
B_1 = Intersect(l, m)
n = Segment(A_1, B_1)
r = Segment(I, G_1)
s = Segment(A_1, G_1)
t = Segment(B_1, I)
C_1 = Point(n)
D_1 = Point(n)
E_1 = Point(n)
H = Point(n)
J = Point(n)
K = Point(n)
f_1 = OrthogonalLine(C_1, xAxis)
g_1 = OrthogonalLine(D_1, xAxis)
h_1 = OrthogonalLine(E_1, xAxis)
i_1 = OrthogonalLine(H, xAxis)
j_1 = OrthogonalLine(J, xAxis)
k_1 = OrthogonalLine(K, xAxis)
L = Intersect(f_1, r)
M = Intersect(g_1, r)
N = Intersect(h_1, r)
O = Intersect(i_1, r)
P = Intersect(j_1, r)
Q = Intersect(k_1, r)
l_1 = Segment(C_1, L)
m_1 = Segment(D_1, M)
n_1 = Segment(E_1, N)
p_1 = Segment(H, O)
q_1 = Segment(J, P)
r_1 = Segment(K, Q)
Puntosespectro: {B_1, K, J, H, E_1, D_1, C_1, A_1}
l1 = Sequence(Segment[Element[Puntosespectro, w], Element[Puntosespectro, w + 1]], w, 1, 7, 1)
l2 = Sequence((Element[l1, w] * 100 / Distance[A_1, B_1]), w, 1, 7, 1)
P1rojo = Element(l2, 1)
P2naranja = Element(l2, 2)
P3amarillo = Element(l2, 3)
P4verde = Element(l2, 4)
P5azul = Element(l2, 5)
P6añil = Element(l2, 6)
P7violeta = Element(l2, 7)
C': C_1
D': D_1
E': E_1
A': A_1
H': H
J': J
K': K
B': B_1
R = Midpoint(Posiciónespectro, Tamañoespectro)
s_1 = OrthogonalLine(R, xAxis)
Posicióncircunferencia = Point(s_1)
Tamañocircunferencia = Point(Ray[Posicióncircunferencia, Vector[(0, -1)]])
c_1 = Circle(Posicióncircunferencia, Tamañocircunferencia)
D = Intersect(c_1, s_1, 2)
l3 = Sequence((Element[l2, w] * 360 / 100), w, 1, 7, 1)
E = Rotate(D, ((-Element[l3, 1]))°, Posicióncircunferencia)
F = Rotate(E, ((-Element[l3, 2]))°, Posicióncircunferencia)
G = Rotate(F, ((-Element[l3, 3]))°, Posicióncircunferencia)
A = Rotate(G, ((-Element[l3, 4]))°, Posicióncircunferencia)
B = Rotate(A, ((-Element[l3, 5]))°, Posicióncircunferencia)
C = Rotate(B, ((-Element[l3, 6]))°, Posicióncircunferencia)
t_1 = Segment(Posicióncircunferencia, D)
a_1 = Segment(Posicióncircunferencia, E)
b_1 = Segment(Posicióncircunferencia, F)
d_1 = Segment(Posicióncircunferencia, G)
e_1 = Segment(Posicióncircunferencia, A)
f_2 = Segment(Posicióncircunferencia, B)
g_2 = Segment(Posicióncircunferencia, C)
h_2 = AngularBisector(D, Posicióncircunferencia, E)
i_2 = AngularBisector(E, Posicióncircunferencia, F)
j_2 = AngularBisector(F, Posicióncircunferencia, G)
k_2 = AngularBisector(G, Posicióncircunferencia, A)
l_2 = AngularBisector(A, Posicióncircunferencia, B)
m_2 = AngularBisector(B, Posicióncircunferencia, C)
n_2 = AngularBisector(C, Posicióncircunferencia, D)
S, T = Intersect(c_1, h_2)
U, V = Intersect(c_1, i_2)
W, Z_2 = Intersect(c_1, j_2)
H_1, I_1 = Intersect(c_1, k_2)
J_1, K_1 = Intersect(c_1, l_2)
L_1, M_1 = Intersect(c_1, m_2)
N_1, O_1 = Intersect(c_1, n_2)
p_2 = Segment(T, S)
q_2 = Segment(V, U)
r_2 = Segment(Z_2, W)
s_2 = Segment(I_1, H_1)
t_2 = Segment(K_1, J_1)
a_2 = Segment(M_1, L_1)
b_2 = Segment(O_1, N_1)
P_1: T
Q_1: V
R_1: Z_2
S_1: I_1
T_1: K_1
U_1: M_1
V_1: O_1
Rojo = 7 (slider from 0 to 10, step 1)
Naranja = 4 (slider from 0 to 10, step 1)
Amarillo = 3 (slider from 0 to 10, step 1)
Verde = 2 (slider from 0 to 10, step 1)
Azul = 3 (slider from 0 to 10, step 1)
Añil = 2 (slider from 0 to 10, step 1)
Violeta = 6 (slider from 0 to 10, step 1)
CasillaDeEntrada1 = Textfield(Rojo)
CasillaDeEntrada2 = Textfield(Naranja)
CasillaDeEntrada3 = Textfield(Amarillo)
CasillaDeEntrada4 = Textfield(Verde)
CasillaDeEntrada5 = Textfield(Azul)
CasillaDeEntrada6 = Textfield(Añil)
CasillaDeEntrada7 = Textfield(Violeta)
sumatotal: Rojo + Naranja + Amarillo + Verde + Azul + Añil + Violeta
texto2: "Suma total: " + sumatotal + ""
n1: Rojo / (Rojo + Naranja)
n2: (Rojo + Naranja) / (Rojo + Naranja + Amarillo)
n3: (Rojo + Naranja + Amarillo) / (Rojo + Naranja + Amarillo + Verde)
n4: (Rojo + Naranja + Amarillo + Verde) / (Rojo + Naranja + Amarillo + Verde + Azul)
n5: (Rojo + Naranja + Amarillo + Verde + Azul) / (Rojo + Naranja + Amarillo + Verde + Azul + Añil)
n6: (Rojo + Naranja + Amarillo + Verde + Azul + Añil) / (Rojo + Naranja + Amarillo + Verde + Azul + Añil + Violeta)
c_2 = Segment(T, V)
qp: (Distance[T, V] * n1)
d_2 = Circle(V, qp)
W_1 = Intersect(d_2, c_2)
e_2 = Segment(W_1, Z_2)
rqp: (Distance[W_1, Z_2] * n2)
c_3 = Circle(Z_2, rqp)
Z_1 = Intersect(c_3, e_2)
f_3 = Segment(I_1, Z_1)
srqp: (Distance[I_1, Z_1] * n3)
d_3 = Circle(I_1, srqp)
A_2 = Intersect(d_3, f_3)
g_3 = Segment(K_1, A_2)
tsrqp: (Distance[K_1, A_2] * n4)
e_3 = Circle(K_1, tsrqp)
B_2 = Intersect(e_3, g_3)
h_3 = Segment(B_2, M_1)
utsrqp: (Distance[B_2, M_1] * n5)
k_3 = Circle(M_1, utsrqp)
C_2 = Intersect(k_3, h_3)
i_3 = Segment(C_2, O_1)
xutsrqp: (Distance[C_2, O_1] * n6)
p_3 = Circle(O_1, xutsrqp)
Z = Intersect(p_3, i_3)
j_3 = Ray(Posicióncircunferencia, Z)
E_2 = Intersect(c_1, j_3)
u = Vector(Posicióncircunferencia, E_2)
D_3: Z
texto3: "                      qp = " + qp + " cm
                  r(qp) = " + rqp + " cm
             s(r(qp)) = " + srqp + " cm
         t(s(r(qp))) = " + tsrqp + " cm
    u(t(s(r(qp)))) = " + utsrqp + " cm
x(u(t(s(r(qp))))) = " + xutsrqp + " cm"
o: (Rojo * x(T)) + (Naranja * x(V)) + (Amarillo * x(Z_2)) + (Verde * x(I_1))
Centrodemasa: (((Rojo * x(T)) + (Naranja * x(V)) + (Amarillo * x(Z_2)) + (Verde * x(I_1)) + (Azul * x(K_1)) + (Añil * x(M_1)) + (Violeta * x(O_1))) / (Rojo + Naranja + Amarillo + Verde + Azul + Añil + Violeta), ((Rojo * y(T)) + (Naranja * y(V)) + (Amarillo * y(Z_2)) + (Verde * y(I_1)) + (Azul * y(K_1)) + (Añil * y(M_1)) + (Violeta * y(O_1))) / (Rojo + Naranja + Amarillo + Verde + Azul + Añil + Violeta))
YCM: y(Z) - y(Posicióncircunferencia)
XCM: x(Z) - x(Posicióncircunferencia)
texto4: " XMC = " + XCM + "
 YMC = " + YCM + ""
Porcentajedesaturación: (Distance[Posicióncircunferencia, Z] / Distance[Posicióncircunferencia, E_2] * 100)
texto5: " Porcentaje de saturación = " + Porcentajedesaturación + " "
v = false
w = false
texto1: " Rojo: " + P1rojo + " 
 Naranja: " + P2naranja + " 
 Amarillo: " + P3amarillo + " 
 Verde: " + P4verde + " 
 Azul: " + P5azul + " 
 Índigo: " + P6añil + " 
 Violeta: " + P7violeta + ""