Plašč pravilnih n-stranih prizem

visina = 25 (slider from 0 to 25, step 1)
O = (0, 0)
V_0: O + visina * (0.0, -1.0)
korakOsnovnaPloskev = 0 (slider from 0 to 1.57, step 0.01)
premer = 100 (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 = 7 (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)
α: 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)
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)
pravZgoraj = Sequence(O + sirina * (Element[kotOdvSumCos, k] + pogledCos * Element[kotOdvSumSin, k], -1.0 * pogledSin * Element[kotOdvSumSin, k]), k, 1.0, steviloOglisc)
pravSpodaj = Sequence(Element[pravZgoraj, k] + visina * (0.0, -1.0), k, 1.0, steviloOglisc)
PloskevPlasc = Sequence(Polygon[Element[pravZgoraj, k], Element[pravZgoraj, k + 1.0], Element[pravSpodaj, k + 1.0], Element[pravSpodaj, k]], k, 1.0, steviloOglisc)
StranicaPlasc = Sequence(Segment[Element[pravZgoraj, k], Element[pravSpodaj, k]], k, 1.0, steviloOglisc)
robF = Segment(O, V_0)
robFZg = Segment(O, Element[tockeZgoraj, 1.0])
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)
robFSp = Segment(V_0, Element[pravSpodaj, 1.0])
tekst1: "Dolžina stranice osnovne ploskve =" + (premer / steviloOglisc)
FPloskev, o, a, b, v_0, o_1 = Polygon(O, Element[tockeZgoraj, 1.0], Element[tockeSpodaj, 1.0], V_0, O)
c = Perimeter(FPloskev)
zgPloskev = Sequence(Polygon[O, Element[tockeZgoraj, i], Element[tockeZgoraj, i + 1.0], O], i, 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)
robZgoraj = Sequence(Segment[Element[tockeZgoraj, k], Element[tockeZgoraj, k + 1.0]], k, 1.0, steviloOglisc - 1.0)
robSpodaj = Sequence(Segment[Element[tockeSpodaj, k], Element[tockeSpodaj, k + 1.0]], k, 1.0, steviloOglisc - 1.0)