Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2012, 11:28   #1
kg250493
 
Регистрация: 25.10.2012
Сообщений: 4
По умолчанию Как изменить программу так, чтобы круг двигался не по прямой, а по какому - нибудь другому закону.Например,по какой-нибудь кривой

Код:
#include <graphics.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <conio.h>
 #include <dos.h>
 #include <math.h>

 int main(void)
 {
 /* request auto detection */
 int gdriver = DETECT, gmode, errorcode;

 /* initialize graphics mode */
 initgraph(&gdriver, &gmode, "c:\\borlandc\\bgi");

 /* read result of initialization */
 errorcode = graphresult();

 if (errorcode != grOk) /* an error occurred */
 {
 printf("Graphics error: %s\n", grapherrormsg(errorcode));
 printf("Press any key to halt:");
 getch();
 exit(1); /* return with error code */
 }

 int x=60;
 int y=60;
 int r=50;
 int shift_x=10;
 int shift_y=5;

 while (!kbhit())
 {
 setcolor(0);
 setfillstyle(1,0);
 fillellipse(x,y,r,r);


 if ((x>=600)||(x<=50))
 shift_x=-1*shift_x;
 if ((y>=430)||(y<=50))
 shift_y=-1*shift_y;
 x=x+shift_x;
 y=y+shift_y;

 setfillstyle(1,14);
 fillellipse(x,y,r,r);

 delay(10);
 }


 closegraph();
 return 0;
 }

Последний раз редактировалось Stilet; 24.11.2012 в 12:25.
kg250493 вне форума Ответить с цитированием
Старый 24.11.2012, 12:27   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Описать функцию foo(int ax, int ay){}
которая устанавливает новые координаты изменяя в себе переменные по некой формуле или закону. И использовать ее вместо x=x+shift_x; y=y+shift_y; в программе
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.11.2012, 13:44   #3
Nuklon
Форумчанин
 
Аватар для Nuklon
 
Регистрация: 05.04.2012
Сообщений: 134
По умолчанию

Используй кривые Безье, 4-е контрольные точки хватит с полна.
Nuklon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как написать программу так,чтобы в ответе выводило число и буквы,например 12 evro ? Knopo4ka Паскаль, Turbo Pascal, PascalABC.NET 3 19.02.2012 01:43
Как сделать так, чтобы когда вводишь символы, текст двигался справа налево? gylayko Помощь студентам 7 03.11.2011 20:56
смоделировать простого робота так чтобы он двигался по заданным законам brutalis Помощь студентам 15 02.06.2011 11:41
Можно ли как нибудь работать с портом "напрямую" - например, подать напряжение на pin итд Истребитель Помощь студентам 2 02.12.2008 16:30
Как позвонить с модема на какой-нибудь номер? Герыч Свободное общение 6 21.05.2007 08:16