#include <cassert>
#include <ctime>
{
};
{
std::vector<Polyline> result;
const Point ab = mix(a, b, 0.5);
const Point bc = mix(b, c, 0.5);
const Point ca = mix(c, a, 0.5);
result.push_back(triangle(ab, bc, ca));
result.push_back(triangle(a, ab, ca));
result.push_back(triangle(b, bc, ab));
result.push_back(triangle(c, ca, bc));
}
return result;
}
std::vector<Polyline>
divided(
const std::vector<Polyline> & v,
Division division)
{
std::vector<Polyline> result;
result.push_back(t);
}
}
return result;
}
{
Board::disableLineWidthScaling();
Style::setDefaultFillColor(Color::Null);
Style::setDefaultLineCap(RoundCap);
Style::setDefaultLineWidth(1);
std::vector<Polyline> result;
auto seed = time(nullptr);
std::cout << "SEED: " << seed << std::endl;
Tools::initBoardRand(seed);
int n = 3;
while (n--) {
}
board << result;
board.
saveSVG(
"triangles.svg", PageSize::BoundingBox);
}
Declaration of the Board class.
int main(int argc, char *argv[])
Definition arithmetic.cpp:16
Path mix(const Path &a, const Path &b, double time)
Interpolate two paths according to a time (0 is a, 1 is b)
Definition Path.cpp:390
Polyline triangle(const Point &p1, const Point &p2, const Point &p3, Color penColor=Style::defaultPenColor(), Color fillColor=Style::defaultFillColor(), double lineWidth=Style::defaultLineWidth(), const LineStyle lineStyle=Style::defaultLineStyle(), const LineCap cap=Style::defaultLineCap(), const LineJoin join=Style::defaultLineJoin())
Definition Polyline.cpp:610
Class for EPS, FIG or SVG drawings.
Definition Board.h:61
Board & setPenColor(const Color &color)
Definition Board.cpp:244
Board & setFillColor(const Color &color)
Definition Board.cpp:268
Board & setLineWidth(double width)
Definition Board.cpp:274
void saveSVG(const char *filename, PageSize size=PageSize::BoundingBox, double margin=0.0, Unit unit=Unit::Millimeter) const
Definition Board.cpp:765
bool isClosed() const
Is the path closed?
Definition Path.h:433
Struct representing a 2D point.
Definition Point.h:42
A polygonal line described by a series of 2D points.
Definition Polyline.h:38
const Path & path() const
Definition Polyline.h:461
std::size_t vertexCount() const
Definition Polyline.h:456
ShapeList & push_back(Shape *shape)
Definition ShapeList.cpp:427
std::vector< Polyline > divided(const Polyline &t, Division division)
Definition triangles.cpp:24
Division
Definition triangles.cpp:17
@ DivVertexB
Definition triangles.cpp:20
@ DivTriangle
Definition triangles.cpp:18
@ DivVertexA
Definition triangles.cpp:19
@ DivVertexC
Definition triangles.cpp:21