int main (int, char **) { Lattice L = SV(); L.relax(1e-14); L.tau = L.tau_rw(); L.optimize (cost_cp); H.L->info ("Modulus: tau = {}", L.tau); Pen p (Color(255,0,0),1,Color(255,255,0)); Figure F; vector<cpx> fd; fd.push_back(L(coo(1,1))); fd.push_back(L(coo(2,1))); fd.push_back(L(coo(2,2))); fd.push_back(L(coo(1,2))); F.add (std::make_unique <Polygon> (fd, Pen(0,0,200,true))); for (int i=0; i<3; ++i) for (int j=0; j<3; ++j) for (unsigned k=0; k<L.n; ++k) F.add (std::make_unique <Circle> (L(coo(i,j),k), L.r[k], Pen(0,.2))); for (int i=0; i<3; ++i) for (int j=0; j<3; ++j) for (unsigned k=0; k<L.n; ++k) for (unsigned l=0; l<L.adj[k].size(); ++l) F.add (std::make_unique <Segment> (L(coo(i,j),k), L(coo(i,j),k) + L.shift(k,l), Pen(0,.1))); F.show(); F.pause(); F.output_pdf(); return 0; }
void OldPath::output_pdf (const std::string &s) const { int l=0; cpx z(0); std::vector<cpx> p(1); for (char i : *this) { l = (relative ? l+i : i) % 4; z += gsl::at(dzc,l); p.push_back(z); } Figure F; F.add (std::make_unique <Path> (p, Pen(0,.2))); F.output_pdf(s); }
void OldPath::output_pdf (const std::string &s) const { int l=0; cpx z(0); std::vector<cpx> p(1); for (char i : *this) { l = (relative ? l+i : i) % 4; z += dzc[l]; p.push_back(z); } Figure F; F.add (new Path(p, Pen(0,.2))); F.output_pdf(s); }