Example #1
0
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;
}
Example #2
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);
 }
Example #3
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 += dzc[l]; p.push_back(z); }
     Figure F; F.add (new Path(p, Pen(0,.2))); F.output_pdf(s);
 }