Paralelepípedo
Date: 30 Mayo 2013

Arista

desenvolupament

Cubo

Q

V1

Bases cuadradas

V5

Bases rectangulares

V4

Caras transparentes

Rectángulo

DIMENSIONS:

Ponga el cursor en el punto y arrastrelo para qué pueda visualizar la red del paralelepípedo

Ponga el cursor en el punto y girelo para qué de este modo pueda
visualizar las distintas perspectivas del paralelepipedo.

O = (7.84, 0)
CIncl = (-1.82, 5.36)
CRot: CIncl + (3, 0)
circumRot = Circle(CRot, 1)
ControlRot = Point(circumRot)
ZeroRot: CIncl + (4, 0)
β = Angle(ZeroRot, CRot, ControlRot)
ZeroIncl: CIncl + (1, 0)
circumIncl = Circle(CIncl, 1)
ControlIncl = Point(circumIncl)
α = Angle(ZeroIncl, CIncl, ControlIncl)
i: (sin(β), -cos(β) * sin(α))
U = If(i ≟ (0, 0), (0, 1.0E-4), i)
veci = Vector(U)
k: (0, cos(α))
W = If(k ≟ (0, 0), (0, 1.0E-4), k)
veck = Vector(W)
e = Line(O, veck)
O1 = Point(e)
Q00: O1 + veci
O2': O1 + 2 * (O - O1)
Recta = false
gir = 0.022689280275926284 rad (slider from 0*° to 180*°, step 0.1*°)
f = false
Moduli: sqrt(x(veci)^(2) + y(veci)^(2))
j: (cos(β), sin(β) * sin(α))
V = If(j ≟ (0, 0), (0, 1.0E-4), j)
vecj = Vector(V)
l = Ray(O1, Q00)
Q0 = Point(l)
Modulk: sqrt(x(veck)^(2) + y(veck)^(2))
dimk: 2 * Length[Segment[O, O1]] / Modulk
V00: O1 + Length[Segment[O, O1]] * veci / Modulk
Q = If(f, V00, Q0)
m = Line(Q, vecj)
V001 = Point(m)
V01: Q - Length[Segment[O1, Q]] * vecj / Moduli
dimi: 2 * Length[Segment[Q, O1]] / Moduli
d = false
V1 = If(d, V01, V001)
C: V1 + 2 * (O - O1)
r = Line(O2', veci)
E = Point(r)
desvV5 = If(Recta, 0, Length[Segment[O2' + Q0 - O1, E]] / Moduli)
Angledesv2: atan(desvV5 / dimk) * 180 * ° / π
signeAngledesv2 = If((E - C) * veci < 0, 1, -1)
s: signeAngledesv2
tope4 = If(gir ≤ 90° + s * Angledesv2, 1, 0)
q = Line(E, vecj)
Oblic = Point(q)
V5 = If(Recta, C, Oblic)
tope3 = If(gir ≤ 90° - s * Angledesv2, 1, 0)
b = true
Modulj: sqrt(x(vecj)^(2) + y(vecj)^(2))
A: 2 * O1 - Q0
NTest: (V001 - Q) * j
Test = If(NTest > 0, -1, 1)
V3: 2 * O1 - V1
D: V1 + 2 * (O1 - Q)
B: 2 * D - A
p = Segment(B, A)
Paral = Point(p)
V4 = If(b, D, Paral)
signeAngledesv = If(Length[Segment[V4, A]] ≥ Length[Segment[D, A]], 1, -1)
desvV4: Length[Segment[V4, D]] / Modulj
arestafons: sqrt(dimi^(2) + desvV4^(2))
Angledesv: atan(desvV4 / dimi) * 180 * ° / π
V2: 2 * O1 - V4
dimj: Length[Segment[V1, V2]] / Modulj
tope2 = If(gir ≤ 90° + signeAngledesv * Angledesv, 1, 0)
V2': tope2 * V2 + (1 - tope2) * (V3 + arestafons * (i * sin(gir) - Test * j * cos(gir)))
V65 = 0
tope1 = If(gir ≤ 90° - signeAngledesv * Angledesv, 1, 0)
V6: V5 + V2 - V1
V8: V5 + V4 - V1
Alfa: signeAngledesv * Angledesv
gir1 = If(gir ≤ 90° - Angledesv, gir + Alfa, gir)
gir2 = If(gir ≤ 90° + Angledesv, gir - Alfa, gir)
V7: V6 + V4 - V1
Beta: -signeAngledesv * Angledesv
V6': tope2 * V6 + (1 - tope2) * (V7 + arestafons * (i * sin(gir) - Test * j * cos(gir)))
CLateral2: {Polygon[V2', V3, V7, V6']}
CFons: {Polygon[V3, V4, V8, V7]}
c = false
g = true
V5': tope1 * V5 + (1 - tope1) * (V8 + arestafons * (i * sin(gir) + Test * j * cos(gir)))
TextAltura: "Alt: " + dimk + " cm"
TextAmplaria: "Ample: " + dimj + " cm"
TextFondaria: "Fons: " + dimi + " cm"
V1': tope1 * V1 + (1 - tope1) * (V4 + arestafons * (i * sin(gir) + Test * j * cos(gir)))
CLateral1: {Polygon[V1', V4, V8, V5']}
V1'': V2' + dimj * (i * sin(gir) - Test * j * cos(gir))
V5'': V6' + dimj * (i * sin(gir) - Test * j * cos(gir))
Arestes1: {Segment[V1'', V2'], Segment[V2', V3], Segment[V3, V4], Segment[V4, V1'], Segment[V5'', V6'], Segment[V6', V7], Segment[V7, V8], Segment[V8, V5']}
Arestes2: {Segment[V1'', V5''], Segment[V2', V6'], Segment[V3, V7], Segment[V4, V8]}
CFrontal: {Polygon[V1'', V2', V6', V5'']}
texto1: "Alfa = " + Alfa
V5''': tope3 * V5 + (1 - tope3) * (V5 - dimi * i + dimi * (i * sin(180° - (gir + s * Angledesv2)) + k * cos(180° - (gir + s * Angledesv2))))
Arestes3: {Segment[V1', V5']}
V6'': tope3 * V6 + (1 - tope3) * (V6 - dimi * i + dimi * (i * sin(180° - (gir + s * Angledesv2)) + k * cos(180° - (gir + s * Angledesv2))))
V1''': tope4 * V1 + (1 - tope4) * (V1 - dimi * i + dimi * (i * sin(180° - (gir - s * Angledesv2)) - k * cos(180° - (gir - s * Angledesv2))))
Base2: {Polygon[V5''', V6'', V7, V8]}
V2'': tope4 * V2 + (1 - tope4) * (V2 - dimi * i + dimi * (i * sin(180° - (gir - s * Angledesv2)) - k * cos(180° - (gir - s * Angledesv2))))
Base1: {Polygon[V1''', V2'', V3, V4]}
Arestes4: {Segment[V5''', V6''], Segment[V6'', V7], Segment[V8, V5'''], Segment[V1''', V2''], Segment[V2'', V3], Segment[V4, V1''']}
Arestes5: {Segment[V8, V5], Segment[V7, V6], Segment[V5, V6], Segment[V4, V1], Segment[V2, V3], Segment[V1, V2]}
Arestes6: {Segment[V1, V5], Segment[V2, V6]}
O2: Sum[{V5, V6, V7, V8}] / 4
n = Segment(V1, D)
texto3: "" + Angledesv2
h = Segment(O1, O1 + 2 * (O - O1))
a = false