Week 10 Assignment

 

Problem3

void Mesh::makePath()
{
float Rad=80; //fixed radius
float MRad=-10; //Mov rad
float o= 30; // offset
float Amp=10;
float Amp2=80;
int A;

float Frequency=4;
float Phase=8;

Vec3d Q;
Vec3d center(180,100,0);
Vec3d vecList[gridW];


for(A = 0; A< gridW; A++){

Q.x = (Rad +MRad)*cos(A)-(MRad +o)* cos(((Rad+MRad)/MRad)*A);
Q.y = (Rad +MRad)*sin(A)-(MRad +o)* sin(((Rad+MRad)/MRad)*A);
Q.x+= Amp2* sin(A*Frequency+Phase);
Q.y+= Amp* sin(A*Frequency);
Q.z=0;
Q = Q+ center;
vecList [A].x=Q.x;
vecList [A].y=Q.y;
vecList [A].z=Q.z;

}

for (int i=0; i<gridW; i++){

for(int j=0; j<gridH; j++){

float radius= vecList[i].x;
float angle = j/((float)gridW-1)*2*3.16;
grid[i][j].y=vecList[i].y;
grid[i][j].x=radius*cos(angle);//cos
grid[i][j].y+=600*sin(3.14*4*angle/gridW);
grid[i][j].z=radius*sin(angle);//sin


}
}




}