Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

вращение фигуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Если данное четырехзначное число является симметричным http://www.cyberforum.ru/cpp-beginners/thread251335.html
помогите плз, я не пойму почему тестирующая система ошибку выдает через 3 теста...вот задача: В условии одной из задач на этом сайте написано: “Если данное четырехзначное число является...
C++ определите класс, описывающий вектор в пространстве Лаб 6 Перегрузка операторов для классов определите класс описывающий вектор в пространстве.Для класса перегрузить бинарный оператор != (сравнение модулей). Написать программу в которой... http://www.cyberforum.ru/cpp-beginners/thread251317.html
одномерный массив C++
помогите пожалуйста решить последнюю часть задачи. в общем нужно удалить элементы массива, которые имеют значение, которое больше среднего арифметического. program kaka; uses crt; var i, k :...
C++ Интегралы
написать программу, которая исполняет вычисление интеграла различными методами с возможностью сравнения результатов и заданием точности полученного результата.... плюс ко всему надо сделать...
C++ msdev.exe http://www.cyberforum.ru/cpp-beginners/thread251308.html
Добрый день! Подскажите пожалуйста... Столкнулась с такой проблемой у меня установлен Visual Studio 6.0, мне необходимо выполнить следующие действия: 4.Open a DOS window (Start -> Programs ->...
C++ запись в файл do{ i++; cout << "Enter x coordinate: "; cin >> point.x; cout << "Enter y coordinate: "; cin >> point.y; ofstream out ("coort.txt"); if (out) { out << "x=" << point.x... подробнее

Показать сообщение отдельно
максим)
2 / 2 / 0
Регистрация: 02.10.2010
Сообщений: 36

вращение фигуры - C++

02.03.2011, 23:07. Просмотров 1395. Ответов 2
Метки (Все метки)

Я прекрасно знаю что такое матрица поворота, а что делать к примеру если фигура описывается не уравнением а методами, вот к примеру эллипс (часть кода, ну и родительский класс):
  1. //----------------------------------------//
    class Elipse: public TPoint{
    protected: int rmin, rmax;
    public: Elipse( int ix, int iy ,int irmin ,int irmax,int icolor);
    void Draw(int c);
    void Move();
    void Color();
    };

    Elipse :: Elipse( int ix, int iy,int irmin, int irmax,int icolor):TPoint(ix,iy,icolor){ rmin=irmin; rmax=irmax;}
    void Elipse:: Draw(int c){
    setcolor(c);
    ellipse(x,y,0,360,rmin,rmax);
    }
    void Elipse::Move(){
    int v;
    Draw(4);
    while (v!=27)
    {
    v=getch();
    Draw(0);
    switch(v){
    case 77: x=x+5; break;
    case 75: x=x-5; break;
    case 80: y=y+5; break;
    case 72: y=y-5; break;
    }
    Draw(4);
    }
    }
    void Elipse::Color(){
    Show();
    int a;
    while(a!='e'){
    a=getch();
    Hide();
    if(a=='c')
    color++;
    Show();
    }
    }
    //----------------------------------------//


и вот точка с абстрактной фигурой:
class TShape {
protected : int x,y,color;
public : TShape(const int ix, const int iy, int icolor);
~TShape();
virtual void Draw(int c)=0;
void Show();
void Hide();
};
void TShape::Show(){
Draw(color);
}
void TShape::Hide(){
Draw(BLACK);
}
TShape::TShape(const int ix, const int iy,int icolor){
x=ix;
y=iy;
color=icolor;
}
TShape::~TShape(){}

//----------------------------------------//
class TPoint: public TShape{
public : TPoint (int ix, int iy, int icolor);
void Draw(int c);
};

TPoint::TPoint(int ix, int iy,int icolor):TShape(ix,iy,icolor){}

void TPoint:raw(int c){
putpixel(x,y,c);
}
вопрос- как вращать фигуру вокруг ее геометрического центра, если нельзя обращаться ко всем ее точкам ???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru