#include <ctime>
#include <vector>
using namespace std;
{
return 1 + (int)(width * (Tools::boardRand() / (RAND_MAX + 1.0)));
}
{
board.
clear(Color::White);
Tools::initBoardRand(static_cast<unsigned int>(time(nullptr)));
vector<Point> points;
vector<Point>::iterator i1, i2, end;
int n = 22;
while (n--) {
}
end = points.end();
i1 = points.begin();
while (i1 != end) {
i2 = i1;
Color pen = Color::fromHueColormap(
static_cast<float>(Tools::boardRandDouble()));
while (i2 != end) {
if (i1 != i2 && !(Tools::boardRand() % 6)) {
board <<
Arrow(*i1, *i2, Arrow::ExtremityType::Plain, pen, pen, 0.1);
const double norm = v.
norm();
board <<
Arrow(*i1, (*i1) + ((norm > 8) ? (vn * 8.0) : v),
Arrow::ExtremityType::Plain, pen, pen, 0.1).translated(45, 0);
}
++i2;
}
++i1;
}
i1 = points.begin();
while (i1 != end) {
++i1;
}
board.
saveEPS(
"graph.eps", 100, 100);
board.
saveFIG(
"graph.fig", 100, 100);
board.
saveSVG(
"graph.svg", PageSize::BoundingBox, 2.0, Unit::Centimeter);
}
Declaration of the Board class.
int main(int argc, char *argv[])
Definition arithmetic.cpp:16
Structure representing an RGB triple.
Definition Color.h:43
int coordinate(int width)
Definition graph.cpp:19
Ellipse circle(double x, double y, double radius, Color penColor=Style::defaultPenColor(), Color fillColor=Style::defaultFillColor(), double lineWidth=Style::defaultLineWidth(), const LineStyle lineStyle=Style::defaultLineStyle())
Definition Ellipse.cpp:371
A line between two points with an arrow at one extremity.
Definition Arrow.h:38
Class for EPS, FIG or SVG drawings.
Definition Board.h:61
void saveFIG(const char *filename, PageSize size=PageSize::BoundingBox, double margin=0.0, Unit unit=Unit::Millimeter) const
Definition Board.cpp:636
void saveEPS(std::ostream &out, PageSize size=PageSize::BoundingBox, double margin=0.0, Unit unit=Unit::Millimeter, const std::string &title=std::string()) const
Definition Board.cpp:539
void clear(const Color &color=Color::Null)
Definition Board.cpp:149
void saveSVG(const char *filename, PageSize size=PageSize::BoundingBox, double margin=0.0, Unit unit=Unit::Millimeter) const
Definition Board.cpp:765
Ellipse translated(double dx, double dy) const
Definition Ellipse.cpp:93
Struct representing a 2D point.
Definition Point.h:42
Point normalised() const
Definition Point.h:465
double norm() const
Definition Point.h:460
Shape & scaleToWidth(double w, LineWidthFlag lineWidthFlag)
Definition Shape.cpp:85