You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

18 lines
692 B

# Rotating triangle torus
define @angle0 (1/3) * φ
define @angle1 (1/3) * φ + ⅓π
define @angle2 (1/3) * φ + 2 * ⅓π
define @angle3 (1/3) * φ + π
define @angle4 (1/3) * φ + π + ⅓π
define @angle5 (1/3) * φ + 2π - ⅓π
define @exp1 (ρ - (3 * s) - s * (cos @angle0)) * (cos @angle1) + (z - s * (sin @angle0)) * (sin @angle1)
define @exp2 (ρ - (3 * s) - s * (cos @angle2)) * (cos @angle3) + (z - s * (sin @angle2)) * (sin @angle3)
define @exp3 (ρ - (3 * s) - s * (cos @angle4)) * (cos @angle5) + (z - s * (sin @angle4)) * (sin @angle5)
-5 * s < x < 5 * s
-5 * s < y < 5 * s
-s < z < s
{@exp1 < 0 and @exp2 < 0 and @exp3 < 0} xor {@exp1 < -1 and @exp2 < -2 and @exp3 < -1}