Pseudosphere

Joined 16 January 2024
1,605 bytes added ,  08:25, 31 May 2024
no edit summary
Line 1: Line 1: −
{{Mono Dark}}{{:User:Pseudosphere/Torus}}{{#css:
+
{{Mono Dark}}{{:User:Pseudosphere/Torus}}[[File:Spintest.svg]]{{#css:
 
.mw-collapsible:not(.mw-made-collapsible) {
 
.mw-collapsible:not(.mw-made-collapsible) {
 
display: none;
 
display: none;
Line 265: Line 265:  
* [[Voting]]
 
* [[Voting]]
 
* [[Title Screen]]
 
* [[Title Screen]]
 
+
* [[O (group)]]
 
==Scripts I made for pages==
 
==Scripts I made for pages==
 
===Licensing===
 
===Licensing===
Line 870: Line 870:  
     print("clip-path: polygon(", (1 - n) / 2 * 100, "% 0, ", (1 + n) / 2 * 100, "% 0, 100% 100%, 0 100%);\nheight: ", height(y) * 50, "%;\ntransform: rotateX(", y / 16, "turn) ", "translateZ(96px) rotateX(0.03125turn) translateY(-50%);\nwidth: ", wid * 50, "%;", sep="")
 
     print("clip-path: polygon(", (1 - n) / 2 * 100, "% 0, ", (1 + n) / 2 * 100, "% 0, 100% 100%, 0 100%);\nheight: ", height(y) * 50, "%;\ntransform: rotateX(", y / 16, "turn) ", "translateZ(96px) rotateX(0.03125turn) translateY(-50%);\nwidth: ", wid * 50, "%;", sep="")
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
===[[O (group)]] generator===
 +
<syntaxhighlight lang="python">
 +
import mwcollapse
    +
d = {
 +
    "R": (0, 0, 1, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 1),
 +
    "L": (0, 0, -1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1),
 +
    "U": (1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1),
 +
    "D": (1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1)
 +
}
 +
n = 0
 +
 +
def transition(state, transition):
 +
    s = d[transition]
 +
    return tuple(sum(s[row + k * 4] * state[k + col * 4] for k in range(4)) for col, row in (divmod(n, 4) for n in range(16)))
 +
def stategen(state):
 +
    global n
 +
    s = tuple(i == n for i in range(24))
 +
    print("#mw-customcollapsible-O-", n, ":not(.mw-collapsed) ~ * .cube {\n\ttransform: matrix3d", str(state), ";\n}", sep="")
 +
    n += 1
 +
    return s
 +
elements = mwcollapse.ElementContainer(
 +
    *(mwcollapse.Collapsible("div", i) for i in range(24)),
 +
    '<table style="margin: auto"><tr><td colspan="3">',
 +
    mwcollapse.Trigger("span", "U", "⮝"),
 +
    "</td></tr><tr><td>",
 +
    mwcollapse.Trigger("span", "L", "⮜"),
 +
    "</td><td>{{Cube|[[File:FRONT.BMP.PNG]]|[[File:BACK.BMP.PNG]]|[[File:RIGHT.BMP.PNG]]|[[File:LEFT.BMP.PNG]]|[[File:TOP.BMP.PNG]]|[[File:BOTTOM.BMP.PNG]]|256}}</td><td>",
 +
    mwcollapse.Trigger("span", "R", "⮞"),
 +
    '</td></tr><tr><td colspan="3">',
 +
    mwcollapse.Trigger("span", "D", "⮟"),
 +
    "</td></tr></table>"
 +
)
 +
print("\n====== CSS ======\n")
 +
elements.compile("O", mwcollapse.genStateMachine(d.keys(), transition, stategen, (1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)))
 +
print("\n==== WIKITXT ====\n")
 +
print(elements)
 +
</syntaxhighlight>
 
==Kepler–Poinsot polyhedra==
 
==Kepler–Poinsot polyhedra==
 
<ul style="list-style:none" class="polyh-list">
 
<ul style="list-style:none" class="polyh-list">
1,157

edits