Esempio n. 1
0
void line::set_point(point p1, point p2) {
	this->p1.set_x(p1.get_x());
	this->p1.set_y(p1.get_y());
	
	this->p2.set_x(p2.get_x());
	this->p2.set_y(p2.get_y());
}
parachute::parachute(point center) {
	this->radius = 60;
	this->center = center;

	for (int i=0; i<4; i++) {
		// 4 titik di bagian bawah parasut
		point_parachute[i].set_x(center.get_x()-radius+i*(radius/3)*2);
		point_parachute[i].set_y(center.get_y());
	}
	point_parachute[4].set_x(center.get_x());		// titik temu tali parasut
	point_parachute[4].set_y(center.get_y() + 60);
	point_parachute[5].set_x(center.get_x());		// pusat kepala
	point_parachute[5].set_y(center.get_y() + 40);
	point_parachute[6].set_x(center.get_x() - 10);	// kiri atas badan
	point_parachute[6].set_y(center.get_y() + 45);

	// koordinat untuk polygon badan
	people.add_point(5,7);
	people.add_point(17,7);
	people.add_point(22,12);
	people.add_point(22,15);
	people.add_point(17,10);
	people.add_point(17,40);
	people.add_point(14,40);
	people.add_point(14,30);	
	people.add_point(8,30);	
	people.add_point(8,40);
	people.add_point(5,40);
	people.add_point(5,10);
	people.add_point(0,15);
	people.add_point(0,12);
	people.scale(1);
}
Esempio n. 3
0
//
// Calculate the distance between two points.
//
float edge::calc_length( const point& a, const point& b )
{
	int dx = a.get_x() - b.get_x();
	int dy = a.get_y() - b.get_y();
	return static_cast<float>(
			std::sqrt( static_cast<double>( dx * dx + dy * dy ) ) );
}
Esempio n. 4
0
err pcd8544< Spi, Cs_gpio, Mode_gpio, Rst_gpio >::clear_point(const point& coord)
{
    // TODO: checks
    // TODO: common parts (see set_point())
    int x = coord.get_x();
    int y = coord.get_y();

    if (x < 0 || y < 0 || x > 83 || y > 47)
        return -1;

    // Calculate a byte offcet
    int y_byte = y >> 3;

    // Calculate a bit offcet inside a byte
    int y_bit = y & 0x7;

    // Clear appropriate bit
    m_array[x][y_byte] &= ~(1 << y_bit);

    return 0;
}
Esempio n. 5
0
bool operator ==(const point &p1, const point &p2) 
{
	return ( p1.get_x() == p2.get_x() && 
			p2.get_y() == p2.get_y() );
}
void point::translate(point p2) {
	set_x(x + p2.get_x());
	set_y(y + p2.get_y());
}
double point::twopointdist(point p2) {
	return sqrt( pow((x-p2.get_x()),2) + pow((y-p2.get_y()),2) ) ;
}
Esempio n. 8
0
line::line(point _p1, point _p2) : p1(_p1.get_x(), _p1.get_y()), p2(_p2.get_x(), _p2.get_y()) {}
Esempio n. 9
0
bool point::cmp_y(const point& p1, const point& p2) {
	return p1.get_y() < p2.get_y();
}
Esempio n. 10
0
point::point(point const& p):
	x(p.get_x()),
	y(p.get_y())
	{}