graphics.h Рисование Куба, Вращение, Масштабирование, Перемещение куба

В компьютерной графике часто можно встретить задание по афинным преобразованиям, среди таких заданий можно наткнуться на задание с кубом. Нужно построить, но не просто нарисовать куб, а всячески им манипулировать. Уменьшать, Увеличивать, Вращать по разным осям и перемещать. В доисторическом компиляторе C++ 3.1 эта задача вполне решаема, хотя честно признаться это достаточно геморройно. Я хотел добавить такой пример в свои учебные материалы, но все никак найти не мог. Самому сделать не получалось. Даже сейчас, несмотря на то, что это задание наверное старее чем сам Borland C++ 3.1, чтобы найти исходник в интернете для этого dos компилятора, нужно сильно постараться. Но я умудрился найти исходник. Написал код не я, поэтому подробно объяснить не могу, но думаю то, что есть сам исходник куба с возможностью различных манипуляций над ним может оказаться кому-то очень ценным, нужным и полезным материалом.


Код проверен и работает, единственное, не знаю как с плюсом и минусом. При переделывании на другии клавиши, функции масштабирования у меня работали. Чтобы выйти из программы нужно нажать Escape, для вращения нужно нажать например x и удерживать. По какой оси хотим вращать, такую букву и жмем (разумеется латинскую). Перемещение куба проводится стрелками клавиатуры. Вот такой вот код куба в С++ мне удалось отыскать.
 
Еще раз напомню, написано не мной. Там откуда я качал, комментарии есть, но кодировка сбита и приходилось как в поле чудес слова угадывать. Автор не указан, поэтому мне неизвестно чей это исходник.
 
Надеюсь этот материал смог вам помочь
Чтобы назначить свои клавиши управления, нужно изменить константы в самом верху. Там нужно прописать код нужной клавиши. Как узнать код написано здесь

15 комментариев на «“graphics.h Рисование Куба, Вращение, Масштабирование, Перемещение куба”»

  1. Injer:

    Куча ошибок в коде. Вы сами-то пробовали вращать ваш куб?

    Автор сайта отвечает:
    В коде ошибок нет. Куб вращается.

  2. Garret:

    А можете выложить исходник самой программы?

     

  3. Garret:

    Можете выложить исходник самой программы, пожалуйста?

  4. Роман:

    Кто-то может выложить скомпилированный проект? Пожалуйста, очень нужно.

    • Этот код не очень удачен, хотя рабочий. В современных системах исполняемый файл не заработает. Этот код написан для древнего borland c++ 3.1
      Я могу дать рабочий файл, но его можно легко скачать откуда угодно, наверное. А меня подождать придется.

      • Роман:

        Дайте, пожалуйста. Вы написали что этот код не очень удачен. Вы не находили более удачный код?

        • С sfml, OpenGl, DirectX.
          У меня не хватает времени, чтобы с ними разбираться. Их надо устанавливать отдельно, но зато для них примеров написано очень много.

          Я попробовал переписать, но часть этого кода мне непонятна, переписать не удалось. Так что дать не смогу. Я могу дать файл, полученный из написанного в статье кода, но он не запустится в Windows.

        • Вот код на WinApi. Он скомпилируется и запустится, если WIndows.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Поиск

 
     

Случайная книга в электронном формате

https://www.litres.ru/robertu-ieruzalimski/programmirovanie-na-yazyke-lua/?lfrom=15589587
Яндекс.Метрика