Plašč pravilne n-strane piramide

Višina

Stranica osnovne ploskve

korakOsnovnaPloskev = 0 (slider from 0 to 1.57, step 0.01)
visina = 17.85 (slider from 5.85 to 29.85, step 1)
O = (0, 0)
V_0: O + visina * (0.0, -1.0)
premer = 68 (slider from 0 to 100, step 1)
β = 1.3962634015954636 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
pogled = 0.5 (slider from -5 to 5, step 0.1)
pogledCos: cos(β) * pogled
pogledSin: sin(β) * pogled
steviloOglisc = 6 (slider from 3 to 20, step 1)
sirina: premer / steviloOglisc
kot = Sequence(2.0 * 3.14 / steviloOglisc * i, i, 0.0, steviloOglisc - 1.0)
kotSin: sin(kot)
kotSumSin = Sequence(Sum[kotSin, k], k, 1.0, steviloOglisc)
kotCos: cos(kot)
kotSumCos = Sequence(Sum[kotCos, k], k, 1.0, steviloOglisc)
tockeSpodaj = Sequence(V_0 + sirina * (Element[kotSumCos, k] + pogledCos * cos(korakOsnovnaPloskev) * Element[kotSumSin, k], (-1.0 * sin(korakOsnovnaPloskev) - pogledSin * cos(korakOsnovnaPloskev)) * Element[kotSumSin, k]), k, 1.0, steviloOglisc)
tockeZgoraj = Sequence(O + sirina * (Element[kotSumCos, k] + pogledCos * cos(korakOsnovnaPloskev) * Element[kotSumSin, k], (sin(korakOsnovnaPloskev) - pogledSin * cos(korakOsnovnaPloskev)) * Element[kotSumSin, k]), k, 1.0, steviloOglisc)
robFZg = Segment(O, Element[tockeZgoraj, 1.0])
A = Midpoint(robFZg)
tockezgorajP = Sequence(O + sirina * (Element[kotSumCos, k] + pogledCos * cos(0.0) * Element[kotSumSin, k], (sin(0.0) - pogledSin * cos(0.0)) * Element[kotSumSin, k]), k, 1.0, steviloOglisc)
C = Element(tockezgorajP, steviloOglisc / 2.0)
S: (x(A), y(C / 2.0))
α: 2.0 * 3.141592653589793 / steviloOglisc
korakPlasc = 0 (slider from 0 to 1, step 0.01)
korakOsnovna = 0 (slider from 0 to 1, step 0.1)
kotOdv = Sequence(i * (α - 2.0 * 3.141592653589793 * korakPlasc / steviloOglisc), i, 0.0, steviloOglisc - 1.0)
kotOdvSin: sin(kotOdv)
kotOdvCos: cos(kotOdv)
kotOdvSumSin = Sequence(Sum[kotOdvSin, k], k, 1.0, steviloOglisc)
kotOdvSumCos = Sequence(Sum[kotOdvCos, k], k, 1.0, steviloOglisc)
pravZgoraj = Sequence(O + sirina * (Element[kotOdvSumCos, k] + pogledCos * Element[kotOdvSumSin, k], -1.0 * pogledSin * Element[kotOdvSumSin, k]), k, 1.0, steviloOglisc)
pravSpodaj1 = Sequence(Element[pravZgoraj, k] + visina * (0.0, -1.0), k, 1.0, steviloOglisc)
robF = Segment(O, V_0)
robSpodaj = Sequence(Segment[Element[tockeSpodaj, k], Element[tockeSpodaj, k + 1.0]], k, 1.0, steviloOglisc)
robFSp = Segment(V_0, Element[pravSpodaj1, 1.0])
zgPloskev = Sequence(Polygon[O, Element[tockeZgoraj, i], Element[tockeZgoraj, i + 1.0], O], i, 1.0, steviloOglisc)
d = Distance(V_0, S)
γ: acos((sirina^(2.0) - 2.0 * d^(2.0)) / (2.0 * d^(2.0)))
B = (-8.184204841867796, 15.80897609886445)
i = (0, 1)
V_1: (x(A), y(V_0))
v = Segment(V_1, S)
tekst2: "Višina = " + v
g = Segment(V_0, S)
h = Segment(S, Element[pravSpodaj1, 1.0])
pravSpodaj2 = Sequence(V_0 + sirina * (Element[kotSumCos, k] + pogledCos * cos(korakPlasc * 1.57) * Element[kotSumSin, k], (-1.0 * sin(korakPlasc * 1.57) - pogledSin * cos(korakPlasc * 1.57)) * Element[kotSumSin, k]), k, 1.0, steviloOglisc)
atan: v / robFSp
l = 7.963267107332633E-4
b: (v^(2.0) - robFSp^(2.0) - v^(2.0)) / (2.0 * robFSp * v)
a: acos((v^(2.0) - robFSp^(2.0) - v^(2.0)) / (2.0 * robFSp * v))
φ: acos((v^(2.0) - robFSp^(2.0) - v^(2.0)) / (2.0 * robFSp * v))
e: cos(φ)
r = Distance(Element[pravSpodaj2, 1.0], Element[pravSpodaj2, 2.0])
j: (robFSp^(2.0) - r^(2.0) - robFSp^(2.0)) / (2.0 * r * robFSp)
k = 2.0943951023931957
TockeSPom = Sequence(korakPlasc * Intersect[Semicircle[Element[pravSpodaj2, i], Element[pravSpodaj2, i + 1.0]], OrthogonalLine[Midpoint[Element[pravSpodaj2, i], Element[pravSpodaj2, i + 1.0]], Segment[Element[pravSpodaj2, i], Element[pravSpodaj2, i + 1.0]]]], i, 1.0, steviloOglisc - 1.0)
TockeS = Sequence(S + korakPlasc * (-(S)) + korakPlasc * Intersect[Circle[Element[pravSpodaj2, i], Distance[V_0, S]], Ray[Midpoint[Element[pravSpodaj2, i], Element[pravSpodaj2, i + 1.0]], Intersect[Semicircle[Element[pravSpodaj2, i], Element[pravSpodaj2, i + 1.0]], LineBisector[Segment[Element[pravSpodaj2, i], Element[pravSpodaj2, i + 1.0]]]]]], i, 1.0, steviloOglisc - 1.0)
tockeV = Sequence(((x(Element[pravSpodaj2, i]) + x(Element[pravSpodaj2, i + 1.0])) / 2.0, (y(Element[pravSpodaj2, i]) + y(Element[pravSpodaj2, i + 1.0])) / 2.0), i, 1.0, steviloOglisc - 1.0)
robZgoraj = Sequence(Segment[Element[tockeZgoraj, k], Element[tockeZgoraj, k + 1.0]], k, 1.0, steviloOglisc - 1.0)
PloskevPlasc2 = Sequence(Polygon[S + korakPlasc * (Element[TockeS, k] - S), Element[pravSpodaj2, k + 1.0], Element[pravSpodaj2, k]], k, 1.0, steviloOglisc - 1.0)
PloskevPlasc1 = Sequence(Polygon[(x(S) + korakPlasc * (x(Element[pravSpodaj1, k + 1.0]) - 2.0 * x(S) + x(Element[pravSpodaj1, k])) / 2.0, y(S)), Element[pravSpodaj1, k + 1.0], Element[pravSpodaj1, k]], k, 1.0, steviloOglisc - 1.0)
spPloskev = Sequence(Polygon[V_0, Element[tockeSpodaj, i], Element[tockeSpodaj, i + 1.0], V_0], i, 1.0, steviloOglisc - 1.0)
StranicaPlasc1 = Sequence(Segment[(x(S) + korakPlasc * (x(Element[pravSpodaj1, k + 1.0]) - 2.0 * x(S) + x(Element[pravSpodaj1, k])) / 2.0, y(S)), Element[pravSpodaj1, k]], k, 1.0, steviloOglisc - 1.0)