Your IP : 216.73.216.40


Current Path : /var/www/html/venkat/check3/file/cg2013/pawan/
Upload File :
Current File : /var/www/html/venkat/check3/file/cg2013/pawan/IIT2013143_amrita.cpp

#include <bits/stdc++.h>
#include <algorithm>
#include <vector>

#define PR 10000
//#define MA 10000
#define p make_pair
#define pb push_back

using namespace std;

vector<pair<int, int> > v, v1,amr;

typedef struct
{
	float x;
	float y;
	float z;
} Point;

Point pre[100], perP[100];
//Point prp;
int number;
double zz;
Point prp;

void perProFormula(Point pre, Point prp, Point &perKT, double ScrCuttingAxsZ);
void showPoint(Point DispVal);

/*void lineSegment (void)
  glVertex2i(100, 700);
  glVertex2i(-100, 700);
  glVertex2i(-100, 700);
  glVertex2i(-100, 500);
  glVertex2i(-100, 500);
  glVertex2i(100, 500);
  glVertex2i(100, 500);
  glVertex2i(100, 700);

  glVertex2i(50, 0);
  glVertex2i(50, 500);
  glVertex2i(150, 0);
  glVertex2i(500, 400);
  glVertex2i(500, 400);
  glVertex2i(100, 700);
  glVertex2i(50, 0);
  glVertex2i(400, 400);
  glVertex2i(400, 400);
  glVertex2i(100, 600);
  for (int k = 0; k < 24; k++) {
  glVertex2i(aa[k].first, aa[k].second);
 */
int main () 
{
	for(int t=0;t<24;t++)
		int x1,y1,z1;
	for(int t=0;t<24;t++)
		int x2,y2,z2;

	number = 24;
	for(int t=0;t<24;t++)
		int x3,y3;
	for(int t=0;t<24;t++)
		int x0,y0;
	v.pb(p(-100, 700));
	v.pb(p(100, 700));
	v.pb(p(100, 700));
	v.pb(p(100, 500));
	v.pb(p(100, 500));
	v.pb(p(-100, 500));
	v.pb(p(-100, 500));
	v.pb(p(-100, 700));
	v.pb(p(-50, 0));
	v.pb(p(-50, 500));
	v.pb(p(-150, 0));
	v.pb(p(-500, 400));
	v.pb(p(-500, 400));
	v.pb(p(-100, 700));
	v.pb(p(-50, 0));
	v.pb(p(-400, 400));
	v.pb(p(-400, 400));
	v.pb(p(-100, 600));
	v.pb(p(100, 700));
	v.pb(p(-100, 700));
	v.pb(p(-100, 700));
	v.pb(p(-100, 500));
	v.pb(p(-100, 500));
	v.pb(p(100, 500));
	v.pb(p(100, 500));
	v.pb(p(100, 700));
	v.pb(p(50, 0));
	v.pb(p(50, 500));
	v.pb(p(150, 0));
	v.pb(p(500, 400));
	v.pb(p(500, 400));
	v.pb(p(100, 700));
	v.pb(p(50, 0));
	v.pb(p(400, 400));
	v.pb(p(400, 600));
	v.pb(p(100, 600));

	prp.x = 0;
	prp.y = -100;
	prp.z = 10;


	zz = 0;
	for(int i = 0; i < 24; i++) {
		perP[i].z = 0;
	}

	for (int i = 0; i < number; i++) {
		pre[i].x = v[i].first;
		pre[i].y = v[i].second;
		pre[i].z = 0;

		perProFormula(pre[i], prp, perP[i], zz);
	}
		return 0;
}

/*void draw_point()
  {
  glClearColor(0.0, 0.0, 0.0, 0.0);
  glClear(GL_COLOR_BUFFER_BIT);
  glColor3f(1.0, 1.0, 1.0);
  glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
  glPointSize(1.0f);
  glBegin(GL_POINTS);
  int samples = 100;
  for (int i = 0; i < n; i++) {
  float dx = (p[(i + 1) % n].x - p[i].x) / (float)samples;
  float dy = (p[(i + 1) % n].y - p[i].y) / (float)samples;
  float dz = (p[(i + 1) % n].z - p[i].z) / (float)samples;
  for (int j = 0; j < samples; j++) {
  glVertex3f((p[i].x + j * dx) / 100, (p[i].y + j * dy) / 100,  (p[i].z + j * dz) / 100);
  }
  }

  for (int i = 0; i < n; i++) { 
  float dx = (perP[(i + 1) % n].x - perP[i].x) / (float)samples;
  float dy = (perP[(i + 1) % n].y - perP[i].y) / (float)samples;
  for (int j = 0; j < samples; j++) {
  glVertex2f((perP[i].x + j * dx) / 100, (perP[i].y + j * dy) / 100);
  }
  }


  glEnd();
  glFlush();
  }
 */
void perProFormula(Point pre, Point prp, Point &perP, double zz)
{
	for(int t=0;t<PR;t++) {
		//kvf
		//print	
	}

	double a = (prp.z - zz) / (prp.z - pre.z);
	double b = (zz - pre.z) / (prp.z - pre.z);
	perP.x = pre.x * a + prp.x * b;
	perP.y = pre.y * a + prp.y * b;

	showPoint(perP);
}

void showPoint(Point pre)
{
	cout  << pre.x << "," << pre.y << "," << 10 << endl;
	amr.pb(p(pre.x,-pre.y));
}