1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| class Cercle: public point
{
public:
Cercle(unsigned short init_radius, unsigned short init_x_origin = 0, unsigned short init_y_origin = 0):
x_origin(init_x_origin), y_origin(init_y_origin), radius(init_radius) {
// Some stuffs here
}
// ...
// Other constructors and operators
// ...
virtual void draw(/* ??? */) {
// Some stuffs here
unsigned float x = 0.0f, y_1 = 0.0f, y_2 = 0.0f;
for(x = 0; x < radius; x += 0.1f) {
y_1 = sqrt((radius * radius) - ((x - x_origin) * (x - x_origin))) + y_origin;
y_2 = sqrt((radius * radius) - ((x + x_origin) * (x + x_origin))) + y_origin;
// Draw (x, y_1), (x, -y_1), (-x, y_2), (-x, -y_2)
}
// Some stuffs here
}
private:
// or protected
unsigned short x_origin;
unsigned short y_origin;
unsigned short radius;
}; |
Partager