Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> мой курсовой 8), просто показываю.. 
V
    Опции темы
vinter
Дата 11.4.2007, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



Цитата(JackYF @  11.4.2007,  14:56 Найти цитируемый пост)
P.S. Может, топик отдельный откроем? или перенесем куда... а то здесь сплошной оффтопик сейчас получается...

 smile упаси боже от нового холивара, все это закончится холиваром Windows vs Linux, так что хорошь обсуждать, а если кому то нужно то в религиозных войнах тем про это много, просим вас тудаsmile smile 


--------------------
Мой блог
PM MAIL WWW   Вверх
ivashkanet
Дата 11.4.2007, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: нет
Всего: 149



fantast, неплохо. Молодец.
А, до кучи, листинг выложить не хочешь?
PM MAIL WWW ICQ   Вверх
JAnty
  Дата 11.4.2007, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 366
Регистрация: 6.12.2004
Где: Москва

Репутация: 1
Всего: 2



Цитата(JackYF @  11.4.2007,  14:56 Найти цитируемый пост)
Меня и XP устраивает.

Это временно, чем Виста не устраивает???
В дальнейшем всё будет под Висту, например в ней не работает RegCleaner, в холостую пашет, а инсталяторы типа *.msi  вообще не работают, потехоньку всё заточится под Висту!!!.

ЗЫ Да тема не по теме.


--------------------
Русский справочник по WinAPI

Возможно всё, что возможно вообразить! Это и значит быть гением как я!
PM MAIL   Вверх
fantast
Дата 11.4.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 10.12.2006
Где: минск, столица на шей Родины

Репутация: 2
Всего: 2



Цитата(ivashkanet @  11.4.2007,  15:43 Найти цитируемый пост)
А, до кучи, листинг выложить не хочешь?

выложить то можно, но тебе нужен этот гемор в нем копаться 8)
однако мне это льстит smile 

Это сообщение отредактировал(а) fantast - 11.4.2007, 17:39
--------------------
Эпитафия: Он старался.                                   Неизвестный
PM MAIL   Вверх
JackYF
Дата 11.4.2007, 17:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(JAnty @  11.4.2007,  17:30 Найти цитируемый пост)
Цитата(JackYF @  11.4.2007,  14:56 Найти цитируемый пост)
Меня и XP устраивает.

Это временно, чем Виста не устраивает???


Не вижу логики. Я сказал, что меня устраивает XP. Пока меня устраивает XP, я даже пробовать не хочу что-то новое.
Тем более, что я прочитал немало обзоров про Висту и не нашел ничего нового, по крайней мере для себя.

Цитата(JAnty @  11.4.2007,  17:30 Найти цитируемый пост)
Это временно

Согласен. Поэтому уже перехожу на Линуха smile.



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
ivashkanet
Дата 11.4.2007, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: нет
Всего: 149



fantast, лично мне нет  smile  smile 
Я говорю про "до кучи" ;-) Может кому в будущем понадобится. На то ведь форум и нужен ;-)
PM MAIL WWW ICQ   Вверх
fantast
Дата 11.4.2007, 17:57 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 10.12.2006
Где: минск, столица на шей Родины

Репутация: 2
Всего: 2



структура кода немного изменялась поэтому там есть некоторые излишества, которых можно легко и красиво избежать
но мне было просто впадлу 8)
вот
Код
  #include <graphics.h>
  #include <conio.h>
  #include <stdlib.h>
  #include <math.h>

  #define ki1 (*((buffer_point+((buffer_brink[i]).point_1-1))->z)*0.2+1)
  #define ki2 (*((buffer_point+((buffer_brink[i]).point_2-1))->z)*0.2+1)
  #define ki3 (*((buffer_point+((buffer_brink[i]).point_3-1))->z)*0.2+1)
  #define ki4 (*((buffer_point+((buffer_brink[i]).point_4-1))->z)*0.2+1)


  double pi=2*asin(1);

  int view=0;

  struct point
  {
    double* x;
    double* y;
    double* z;
  };

  struct index
  {
    int point_1;
    int point_2;
    int point_3;
    int point_4;
  };

  void  init        (point*,index*);
  void  close        (point*);
  void  render        (point*,index*);
  void  move        (point*,char);
  void  change        (double*,double*,int);
  void  add_point    (point*,double,double,double);
  index add_index    (int,int,int,int);
  char getch_user    (char,char);
  void cod        (char);

  void main()
  {
    point *buffer_point=0;

    buffer_point=(point*)calloc(8,sizeof(point));
    index buffer_brink[6];

    for(int i=0;i<8;i++)
    {
        (buffer_point+i)->x=(double*)malloc(sizeof(double));
        (buffer_point+i)->y=(double*)malloc(sizeof(double));
        (buffer_point+i)->z=(double*)malloc(sizeof(double));
    }

    init (buffer_point,buffer_brink);
    render(buffer_point,buffer_brink);

    char key='0';
    while(key!=27)
    {
        if(kbhit())
        {
            key=getch();
            if(kbhit()) {
                     char key2=getch();
                     key2=getch_user(key,key2);
                     if (key2) move(buffer_point,key2);
                     else      cod(key);
                     }
            else cod(key);
            render(buffer_point,buffer_brink);
        }
    }

    close(buffer_point);
  }

  void init(point *buffer_point,index *buffer_brink)
  {
    int driver=DETECT,
        mode  ;
    //detectgraph (&driver,&mode);
    initgraph   (&driver,&mode,"d:\\lucky\\turbo\\bgi\\");
    for (int i=0;i<16;i++)
    {
        setrgbpalette(i,i*4,i*4,i*4);
        setpalette(i,i);
    }
    setcolor(1);
    clrscr();
    outtextxy(300,240,"3.04.2007");
    outtextxy(240,260,"Davidchick Andrey PO 313");
    getch();


     add_point(buffer_point,  -1.0, 1.0,-1.0);
     add_point(buffer_point+1,-1.0, 1.0, 1.0);
     add_point(buffer_point+2, 1.0, 1.0, 1.0);
     add_point(buffer_point+3, 1.0, 1.0,-1.0);
     add_point(buffer_point+4,-1.0,-1.0,-1.0);
     add_point(buffer_point+5,-1.0,-1.0, 1.0);
     add_point(buffer_point+6, 1.0,-1.0, 1.0);
     add_point(buffer_point+7, 1.0,-1.0,-1.0);

     buffer_brink[0]=add_index(1,2,3,4);
     buffer_brink[1]=add_index(5,1,4,8);
     buffer_brink[2]=add_index(5,1,2,6);
     buffer_brink[3]=add_index(6,2,3,7);
     buffer_brink[4]=add_index(7,3,4,8);
     buffer_brink[5]=add_index(5,6,7,8);

  }

  void add_point(point *p,double x,double y,double z)
  {
    *(p->x)=x;
     *(p->y)=y;
      *(p->z)=z;
  }

  index add_index(int point_1,int point_2,int point_3,int point_4)
  {
    index buffer;

    buffer.point_1=point_1;
     buffer.point_2=point_2;
      buffer.point_3=point_3;
       buffer.point_4=point_4;

    return buffer;
  }

  void close(point *buffer_point)
  {
    free(buffer_point);
  }

  void render(point *buffer_point,index *buffer_brink)
  {
    clrscr();
    for(int i=0;i<6;i++)
    {

        if (!view)
        {
        moveto(*((buffer_point+((buffer_brink[i]).point_1-1))->x)*50*ki1+320,
               *((buffer_point+((buffer_brink[i]).point_1-1))->y)*50*ki1+240);
        lineto(*((buffer_point+((buffer_brink[i]).point_2-1))->x)*50*ki2+320,
               *((buffer_point+((buffer_brink[i]).point_2-1))->y)*50*ki2+240);
        lineto(*((buffer_point+((buffer_brink[i]).point_3-1))->x)*50*ki3+320,
               *((buffer_point+((buffer_brink[i]).point_3-1))->y)*50*ki3+240);
        lineto(*((buffer_point+((buffer_brink[i]).point_4-1))->x)*50*ki4+320,
               *((buffer_point+((buffer_brink[i]).point_4-1))->y)*50*ki4+240);
        lineto(*((buffer_point+((buffer_brink[i]).point_1-1))->x)*50*ki1+320,
               *((buffer_point+((buffer_brink[i]).point_1-1))->y)*50*ki1+240);
        }
        else
        {
        double dz=(*((buffer_point+((buffer_brink[i]).point_1-1))->z)/ki1
              +*((buffer_point+((buffer_brink[i]).point_2-1))->z)/ki2
              +*((buffer_point+((buffer_brink[i]).point_3-1))->z)/ki3
              +*((buffer_point+((buffer_brink[i]).point_4-1))->z)/ki4)/4;
        if (dz>0)
        {
            int mass[8];
            mass[0]=(int)(*((buffer_point+((buffer_brink[i]).point_1-1))->x)*50*ki1+320);
            mass[1]=(int)(*((buffer_point+((buffer_brink[i]).point_1-1))->y)*50*ki1+240);
            mass[2]=(int)(*((buffer_point+((buffer_brink[i]).point_2-1))->x)*50*ki2+320);
            mass[3]=(int)(*((buffer_point+((buffer_brink[i]).point_2-1))->y)*50*ki2+240);
            mass[4]=(int)(*((buffer_point+((buffer_brink[i]).point_3-1))->x)*50*ki3+320);
            mass[5]=(int)(*((buffer_point+((buffer_brink[i]).point_3-1))->y)*50*ki3+240);
            mass[6]=(int)(*((buffer_point+((buffer_brink[i]).point_4-1))->x)*50*ki4+320);
            mass[7]=(int)(*((buffer_point+((buffer_brink[i]).point_4-1))->y)*50*ki4+240);
            setcolor((int)(dz*14+1));
            setfillstyle(1,(int)(dz*14+1));
            fillpoly(4,mass);
        }


        }
    }

  }

  void move(point *buffer_point,char key)
  {
    for(int i=0;i<8;i++)
    {    switch (key)
        {
        case 1:change(((buffer_point+i)->z),((buffer_point+i)->y),-1);break;
        case 2:change(((buffer_point+i)->z),((buffer_point+i)->y), 1);break;
        case 3:change(((buffer_point+i)->x),((buffer_point+i)->z), 1);break;
        case 4:change(((buffer_point+i)->x),((buffer_point+i)->z),-1);break;
        }
    }

  }
  void change(double *x,double *y,int n)
  {

          double d=sqrt(pow(*x,2)+pow(*y,2));
          double dx=(*x)/(d);
          double dy=(*y)/(d);
          if(dy>=0) *x=(cos((double)(      acos((double)(dx))+(n*pi/180)))*d);
          if(dy<0)  *x=(cos((double)(2*pi- acos((double)(dx))+(n*pi/180)))*d);
          if(dy>=0) *y=(sin((double)(      acos((double)(dx))+(n*pi/180)))*d);
          if(dy<0)  *y=(sin((double)(2*pi- acos((double)(dx))+(n*pi/180)))*d);

  }

  char getch_user(char lo,char hi)
  {
    if(lo==0)
    {
    switch(hi)
    {
        case 72:return 1;
        case 80:return 2;
        case 75:return 3;
        case 77:return 4;
    }
    }
    return 0;
  }

  void cod(char key)
  {
  switch (key)
  {
  case 'v':view=!view;setcolor(1);break;
  }
  }


--------------------
Эпитафия: Он старался.                                   Неизвестный
PM MAIL   Вверх
ivashkanet
Дата 11.4.2007, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: нет
Всего: 149



fantast, довольно изящный код, во всяком случае на первый взгляд --- молодец ;-)
PM MAIL WWW ICQ   Вверх
fantast
Дата 11.4.2007, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 10.12.2006
Где: минск, столица на шей Родины

Репутация: 2
Всего: 2



ivashkanet, пасибо, я старался
--------------------
Эпитафия: Он старался.                                   Неизвестный
PM MAIL   Вверх
betal
Дата 11.4.2007, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 26.12.2006

Репутация: нет
Всего: 1



Не fantast молодец. Для этого форум и нужен чтоб обмениваться опытом.


А насчет резкого переключения темы. Что есть то есть smile 
--------------------
101100010100001101100001110100101111011легкие деньги
PM WWW ICQ   Вверх
Валерия
Дата 12.4.2007, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: нет
Всего: 8



Автор, давай зачетку smile

Прикольно получилось..!
А я вот школу прогуливала когда мы учили тригонометрию, теперь приходиться самой разбираться с этими косинусами)

З.Ы было бы прикольнее если бы был режим 1024х768 с 256 цветами (там есть такой)
И что бы квадрат плавно начинал крутиться, потом когда отпускаешь кнопку плавно останавливался..
И еще что бы можно было сразу нажатием двух стрелок крутить, скажем одновременно вправо и в верх...
PM MAIL   Вверх
NoNo
Дата 12.4.2007, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 14.11.2006

Репутация: нет
Всего: нет



fantast, молодца

PM MAIL   Вверх
ivashkanet
Дата 12.4.2007, 08:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: нет
Всего: 149



Цитата(Валерия @  12.4.2007,  07:15 Найти цитируемый пост)
З.Ы было бы прикольнее если бы был режим 1024х768 с 256 цветами (там есть такой)
И что бы квадрат плавно начинал крутиться, потом когда отпускаешь кнопку плавно останавливался..
И еще что бы можно было сразу нажатием двух стрелок крутить, скажем одновременно вправо и в верх... 

Валерия, это задание для другой курсовой  smile  smile 
PM MAIL WWW ICQ   Вверх
NoNo
Дата 12.4.2007, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 14.11.2006

Репутация: нет
Всего: нет



Цитата(JAnty @ 11.4.2007,  10:54)
 Но не пройдёт и года как у всех будет Виста и все замолчат(ИМХО).

Поставь себе SUSE Linux...очень похож на Висту.....
Контора Гейтца, SP3 для XP обещают в скором времени выпустить.....

Добавлено через 1 минуту и 28 секунд
Точнее Виста напоминает SUSE Linux smile
PM MAIL   Вверх
ivashkanet
Дата 12.4.2007, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: нет
Всего: 149



 smile 
Товарищи, 5 модераторов в разделе, а вы тут злостный оффтоп устраиваете 
 smile  smile  smile 
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0984 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.