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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
максим)
 Аватар для максим)
2 / 2 / 0
Регистрация: 02.10.2010
Сообщений: 36
02.03.2011, 23:07     вращение фигуры #1
Я прекрасно знаю что такое матрица поворота, а что делать к примеру если фигура описывается не уравнением а методами, вот к примеру эллипс (часть кода, ну и родительский класс):
  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);
}
вопрос- как вращать фигуру вокруг ее геометрического центра, если нельзя обращаться ко всем ее точкам ???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2011, 23:07     вращение фигуры
Посмотрите здесь:

C++ Вводить название фигуры, выводить формулу для вычисления площади этой фигуры
C++ вращение отрезка.
C++ Вращение куба
C++ Вращение фигуры
вращение фигуры C++
C++ Вращение шара
C++ вращение фигуры
C++ Программа вычисления местонахождения точки относительно фигуры (лежит ли точка внутри, на контуре или вне фигуры)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pavel876
 Аватар для pavel876
2 / 4 / 0
Регистрация: 02.03.2011
Сообщений: 56
02.03.2011, 23:09     вращение фигуры #2
ГЫГЫГЫ ЖЕСТКО))
максим)
 Аватар для максим)
2 / 2 / 0
Регистрация: 02.10.2010
Сообщений: 36
02.03.2011, 23:31  [ТС]     вращение фигуры #3
если бы я описывал как x*x/a*a+y*y/b*b=1 тут было бы все легко...
Yandex
Объявления
02.03.2011, 23:31     вращение фигуры
Ответ Создать тему
Опции темы

Текущее время: 22:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru