/* :ts=8 bk=0 */ #include #include extern void *OpenLibrary(), *OpenWindow(); struct NewWindow windef = { 320, 0, 320, 100, -1, -1, NULL, WINDOWDRAG | WINDOWDEPTH | SMART_REFRESH | NOCAREREFRESH, NULL, NULL, (UBYTE *) "Graph output", NULL, NULL, 0, 0, 0, 0, WBENCHSCREEN }; struct Window *win; void *IntuitionBase, *GfxBase; main () { register struct RastPort *rp; float gravity, v1, start, end, step, x, y; openstuff (); rp = win -> RPort; printf ("Enter gravity: "); scanf ("%f", &gravity); printf ("Enter initial velocity: "); scanf ("%f", &v1); printf ("Enter start and ending X: "); scanf ("%f %f", &start, &end); printf ("Enter step rate: "); scanf ("%f", &step); for (x=start; x<=end; x+=step) { y = -gravity * (x*x) + v1*x; WritePixel (rp, (long) x+20, (long) (97.-y/2.)); } getchar (); getchar (); closestuff (); } openstuff () { if (!(IntuitionBase = OpenLibrary ("intuition.library", 0L))) die ("-=RJ=-'s missing."); if (!(GfxBase = OpenLibrary ("graphics.library", 0L))) die ("Dale's missing."); if (!(win = OpenWindow (&windef))) die ("Window painted shut."); } closestuff () { if (win) CloseWindow (win); if (GfxBase) CloseLibrary (GfxBase); if (IntuitionBase) CloseLibrary (IntuitionBase); } die (str) char *str; { puts (str); closestuff (); exit (20); }