CheЗter Опубликовано 16 января, 2011 Поделиться Опубликовано 16 января, 2011 (изменено) Вобщем у меня возникла проблема с описанием класса для окружности точноее для 2х окружностей ( красная точка - базовая точка класса "графический обьект" ,а синяя - дополнительная точка определенная в классе-наследнике ) !собственно вопрос, как мне описать дынный обьект? до етого я делал задание с ромбом , обьект описал , програма его крутит вертит и перекрашивает //--------------------------------------------------------------------------- #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 мелких прямых я думаю вообше не вариант))) ЗЫ С++ Изменено 16 января, 2011 пользователем CheЗter 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
VaDiMkAViDaKtry Опубликовано 16 января, 2011 Поделиться Опубликовано 16 января, 2011 Домашку по матеше выложи ешо мы решим))) 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
ChaosHEAD Опубликовано 16 января, 2011 Поделиться Опубликовано 16 января, 2011 http://www.cyberforum.ru во сюда ид там помогут, а то я чот не понял чо те надо 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
CheЗter Опубликовано 17 января, 2011 Автор Поделиться Опубликовано 17 января, 2011 неактуально))) 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
iceberg Опубликовано 18 января, 2011 Поделиться Опубликовано 18 января, 2011 circle и указываешь диаметр окружности 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
CheЗter Опубликовано 18 января, 2011 Автор Поделиться Опубликовано 18 января, 2011 через элипс написал, токачто сдал) 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
YoHo Опубликовано 18 января, 2011 Поделиться Опубликовано 18 января, 2011 Диплом тоже будеш тут писать? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
CheЗter Опубликовано 18 января, 2011 Автор Поделиться Опубликовано 18 января, 2011 а можно? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Ангорн Опубликовано 18 января, 2011 Поделиться Опубликовано 18 января, 2011 предложи голды на серве) думаю сразу помогут))) 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
CheЗter Опубликовано 18 января, 2011 Автор Поделиться Опубликовано 18 января, 2011 предложи голды на серве) думаю сразу помогут))) точно еп.... пасаны с х55, у меня там есть голдов 20+, айда писать мне лабы на С++ , задания в пм скину 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
HimDef Опубликовано 18 января, 2011 Поделиться Опубликовано 18 января, 2011 у меня завтра экзамен по экономике 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
TheOFFka Опубликовано 18 января, 2011 Поделиться Опубликовано 18 января, 2011 точно еп.... пасаны с х55, у меня там есть голдов 20+, айда писать мне лабы на С++ , задания в пм скину 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
CheЗter Опубликовано 18 января, 2011 Автор Поделиться Опубликовано 18 января, 2011 ну я какбы СВЯТАВЕРЮ в то что там задрит не тока тупая шкалата и люди которые определяют вкусовые качества собачьего корма но шас не об етом, чо нада камунить голды на х55 ? 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.