diff --git a/hypgraph.cpp b/hypgraph.cpp index 339abf98..9dbbedd7 100644 --- a/hypgraph.cpp +++ b/hypgraph.cpp @@ -1296,6 +1296,27 @@ void draw_boundary(int w) { return; } break; + + case mdSpiral: { + using namespace hyperpoint_vec; + if(euclid) return; + if(p == PPR::CIRCLE) p = PPR::OUTCIRCLE; + auto& sm = conformal::spiral_multiplier; + if(real(sm)) { + queuereset(mdUnchanged, p); + for(ld a=-10; a<=10; a+=0.1) { + cld z = exp(cld(a, a * imag(sm) / real(sm) + M_PI)); + hyperpoint ret = hpxyz(real(z), imag(z), 0); + if(vid.skiprope) + ret = mobius(ret, vid.skiprope, 1); + ret *= vid.radius; + curvepoint(ret); + } + queuecurve(ringcolor, 0, p); + queuereset(pmodel, p); + } + return; + } default: break; }