#include #include #include int main() { double v, w, d; double dt = 0.01; printf("Trajectory of twizzles\n"); printf("Linear speed, m/s:\n"); if (scanf("%lf", &v) < 1) return (-1); printf("Angular velocity rev/s:\n"); if (scanf("%lf", &w) < 1) return (-1); printf("Diameter of a circle, m:\n"); if (scanf("%lf", &d) < 1) return (-1); FILE* f = fopen("twizzle.html", "wt"); if (f == NULL) { perror("Could not open a file for writing"); return (-1); } double angle = (-M_PI)/2.; double t = 0.; double tmax = 2.; double r = d/2.; double cx = 0.; double cy = 0.; double x = 0.; double y = -r; double av = (2.*M_PI)*w; double xmin = x; double xmax = x; double ymin = y; double ymax = y; std::vector path; while (t <= tmax) { path.push_back(x); path.push_back(y); t += dt; angle += av*dt; cx += v*dt; x = cx + r*cos(angle); y = cy + r*sin(angle); if (x < xmin) xmin = x; if (x > xmax) xmax = x; if (y < ymin) ymin = y; if (y > ymax) ymax = y; } int sizeX = 640; int sizeY = 50; double x0 = 10.; double y0 = sizeY/2.; // double coeff = ((double) sizeX)*0.9/(xmax - xmin); double coeff = ((double) sizeX)*0.9/6.; fprintf(f, "\n"); fprintf(f, "\n\n\n"); fprintf( f, "\n", sizeY, sizeX ); fprintf( f, "\n"); fprintf(f, "\n"); fprintf(f, "\n\n"); fprintf(f, "\n"); fclose(f); return 0; }