Перейти к содержанию
Asterios

Програмисты АуАу!11


CheЗter

Рекомендуемые сообщения

Вобщем у меня возникла проблема с описанием класса для окружности точноее для 2х окружностей 18448508.jpg

( красная точка - базовая точка класса "графический обьект" ,а синяя - дополнительная точка определенная в классе-наследнике )

!собственно вопрос, как мне описать дынный обьект?

до етого я делал задание с ромбом , обьект описал , програма его крутит вертит и перекрашивает



//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include <math.h>

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

	: TForm(Owner)

{

}

//---------------------------------------------------------------------------



   class figure {

public:

		int x,y,r,r1;

		double grad;

		figure (int a=200, int b=200)

		{ x=a;  y=b;  grad=0; r=100; }

		virtual void draw (void)=0;

		void sdvig(int t);

		void povor(int c);

		void mas (float g);

		};


void figure::sdvig(int t)

{

x=(x>=0 && x<Form1->Width)?x+t:0;

}


void figure::povor(int c)

{

grad+=c*M_PI/180;

}


void figure::mas(float g)

{

r=r*g;

r1=r1*g;

}


class romb : public figure {

public:

        void draw(void);

		};

void romb::draw (void)

{

 float alp=30*M_PI/180;

 Form1->Canvas->Rectangle(-1,-1,Form1->Width+1,Form1->Height+1);

 Form1->Canvas->MoveTo(x-r*cos(alp)*cos(grad),y-r*cos(alp)*sin(grad));

 Form1->Canvas->LineTo(x-r*sin(alp)*sin(grad),y+r*sin(alp)*cos(grad));

 Form1->Canvas->LineTo(x+r*cos(alp)*cos(grad),y+r*cos(alp)*sin(grad));

 Form1->Canvas->LineTo(x+r*sin(alp)*sin(grad),y-r*sin(alp)*cos(grad));

 Form1->Canvas->LineTo(x-r*cos(alp)*cos(grad),y-r*cos(alp)*sin(grad));

}

romb z;


void __fastcall TForm1::Button1Click(TObject *Sender)

{

z.draw();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

z.sdvig(5);

z.draw();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

int rr, rg, rb;

rr = rand()*255/RAND_MAX;

rg = rand()*255/RAND_MAX;

rb = rand()*255/RAND_MAX;

Form1->Canvas->Pen->Color=RGB(rr,rg,rb);

z.draw();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

z.mas(1.1);

z.draw();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)

{

z.povor(20);

z.draw();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)

{

 Form1->Canvas->Rectangle(-1,-1,Form1->Width+1,Form1->Height+1);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button7Click(TObject *Sender)

{

 Close();

}

(эта ромб)

после препод попросил меня написать програму которая также будет вертеть крутить круг который дан выше (по сути заменить ромб на окружность даную выше), но с его описанием у меня возникли проблемы , памагите галоднаму студенту аписать ету фигуру сдавать скоро, а с кругами и окружностями чота полные не лады, хз какими функциями их описывать), делать окрцжность из 100500 мелких прямых я думаю вообше не вариант)))

ЗЫ С++

Изменено пользователем CheЗter
Ссылка на комментарий
Поделиться на другие сайты

http://www.cyberforum.ru во сюда ид там помогут, а то я чот не понял чо те надо :lol:
Ссылка на комментарий
Поделиться на другие сайты

предложи голды на серве) думаю сразу помогут)))

Ссылка на комментарий
Поделиться на другие сайты

  В 18.01.2011 в 08:50, Ангорн сказал:

предложи голды на серве) думаю сразу помогут)))

точно еп.... пасаны с х55, у меня там есть голдов 20+, айда писать мне лабы на С++ , задания в пм скину :lol:

Ссылка на комментарий
Поделиться на другие сайты

  В 18.01.2011 в 09:42, CheЗter сказал:

точно еп.... пасаны с х55, у меня там есть голдов 20+, айда писать мне лабы на С++ , задания в пм скину :lol:

:lol:

Ссылка на комментарий
Поделиться на другие сайты

  В 18.01.2011 в 11:59, OFFkaTheGreatGod сказал:

:lol:

ну я какбы СВЯТАВЕРЮ в то что там задрит не тока тупая шкалата и люди которые определяют вкусовые качества собачьего корма

712246_kto-opredelyaet.jpg

но шас не об етом, чо нада камунить голды на х55 ? :lol:

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...