- #1

PRAJOL

- 5

- 0

## Homework Statement

What's wrong with code below? I tried all day and night...don't know what's wrong and how to change the code. Help anyone. I have uploaded picture of map which I have to make

http://www.portmain.com/intro/hw/hw05-field.html

## Homework Equations

## The Attempt at a Solution

//File: orbit.cxx

//Written by Suroj Lamichhane(suroj.lamichhane@colorado.edu)

//This program opens a large graphics window which simulates the

//the map of acceleration field created by 3 stars.

//Directives

#include <iostream>

#include <cstdlib>

#include <cmath>

#include <graphics.h>

using namespace std;

//Named Constants

double const wmax= 2.5*pow(10.0,11.0);

double const G=6.67*pow(10.0, -11.0);

int const S=500;

// Prototypes

//These functions creates stars at a fixed locations and creates

// grids. It also changes world coordinates to pixel coordinate

// and makes vectors in acceleration field.

void draw_star(double wx,double wy,double radius,int color);

void draw_vector(double x, double y,double yellow_x,double

yellow_y,double yellow_m,

double blue_x,double blue_y,double blue_m,double red_x

,double red_y,double red_m);

int pixel(double wx, double w0, double w1, int p0, int p1);

double accx(double x, double y, double sx, double sy, double m);

double accy(double x, double y, double sx, double sy, double m);

int pixel(double wx, double w0, double w1, int p0, int p1);

//Function definitions:

//------------------------------------------------------------------------------

int main()

{

double x, y,yellow_x,yellow_y,yellow_m,

blue_x,blue_y,blue_m,red_x,red_y,red_m,wx,wy,radius,color;

initwindow(S,S,"Field of Dreams");

setfillstyle(SOLID_FILL, WHITE);

for (y=-wmax; y<wmax; y=y+(wmax/6))

{

for(x=-wmax;x<wmax;x=x+(wmax/6))

{

draw_vector(x, y,3.0*pow(10.0,10.0),-7.5*pow(10.0,10.0),2.5*pow(10.0,30.0),

-4.5*pow(10.0,10.0),3.0*pow(10.0,10.0),9.5*pow(10.0,30.0),4.5*pow(10.0,10.0),9.0*pow(10.0,10.0),1.5*pow(10.0,31.0));

//(3.0e10, -7.5e10)

//(-4.5e10, +3.0e10)

//(+4.5e10, +9.0e10)

}

draw_star(3.0*pow(10.0,10.0),-7.5*pow(10.0,10.0),5,14);

draw_star(-4.5*pow(10.0,10.0),3.0*pow(10.0,10.0),7,1);

draw_star(4.5*pow(10.0,10.0),9.0*pow(10.0,10.0),9,4);

}

delay(60000);

}

//------------------------------------------------------------------------------

void draw_star(double wx,double wy,double radius,int color)

{

int px=pixel( wx,-1.5, +1.5,0,S);

int py=pixel( wy,-1.5, +1.5,0,S);

setfillstyle(SOLID_FILL,color);

fillellipse(int(px),int(py), int(radius),int(radius));

setcolor(color);

}

//------------------------------------------------------------------------------

void draw_vector(int x, int y,double yellow_x,

double yellow_y,double yellow_m,

double blue_x,double blue_y,double blue_m,

double red_x,double red_y,double red_m)

{

double sx,sy;

yellow_x=accx(x,y,sx,sy,yellow_m);

blue_x =accx(x,y,sx,sy,blue_m);

red_x =accx(x,y,sx,sy,red_m);

yellow_y=accy(x,y,sx,sy,yellow_m);

blue_y =accy(x,y,sx,sy,blue_m);

red_y =accy(x,y,sx,sy,red_m);

int x1=int (yellow_x+blue_x+red_x);

int y1=int (yellow_y+blue_y+red_y);

double length=sqrt((((5.0*pow(10.0,10.0))*x1)*((5.0*pow(10.0,10.0))*x1))

+(((5.0*pow(10.0,10.0))*y1)*((5.0*pow(10.0,10.0))*y1)));

if (length<wmax/(7.07107))

{

line(x,y,x1,y1);

setfillstyle(SOLID_FILL,15);

fillellipse(x,y,2,2);

}}

//------------------------------------------------------------------------------

int pixel(double wx, double w0, double w1, int p0, int p1)

{

double px;

px=p0+((wx-w0)*(p1-p0)/(w1-w0));

return (int(px));

}

//------------------------------------------------------------------------------

double accx(double x, double y, double sx, double sy, double m)

{

double dx = (sx - x);

double dy = (sy - y);

double denominator = pow(dx*dx + dy*dy, 1.5);

return G*m*dx/denominator;

}

//------------------------------------------------------------------------------

double accy(double x, double y, double sx, double sy, double m)

{

double dx = (sx - x);

double dy = (sy - y);

double denominator = pow(dx*dx + dy*dy, 1.5);

return G*m*dy/denominator;

## Homework Statement

## Homework Equations

## The Attempt at a Solution

Last edited by a moderator: