|
0 / 0 / 0
Регистрация: 14.12.2009
Сообщений: 4
|
|
Необходимо сделать объемный вращающийся куб14.12.2009, 16:54. Показов 4622. Ответов 13
Метки нет (Все метки)
Нужна помощь по задачке на qbasic - необходимо сделать объемный вращающийся куб, при этом пользователем должен задаваться его размер... Очень желательно сделать его на этой неделе... Заранее благодарю за помощь!
0
|
|
| 14.12.2009, 16:54 | |
|
Ответы с готовыми решениями:
13
Вращающийся куб Вращающийся куб |
|
1 / 1 / 2
Регистрация: 04.12.2009
Сообщений: 60
|
||||||
| 14.12.2009, 22:30 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 14.12.2009
Сообщений: 4
|
|
| 15.12.2009, 00:01 [ТС] | |
|
Спасибо за пример, но я уже его видел и не смог разобраться как он работает...
И в общем мне надо немного другое, в примере куб вращается вокруг одной грани, а мне необходимо чтобы он вращался вокруг точки в центре куба..
0
|
|
| 07.06.2014, 21:28 | ||||||
|
Примите и этот. Он тоже вращается.
(программа проверена)
0
|
||||||
|
Кормпилятор
|
|
| 08.06.2014, 18:29 | |
|
Averonix, в закреплённой теме есть ссылка на FAQ как подобное делать.
Можно не только куб. Там и проекции и текстуры даже есть, правда QB но не суть. Прога из сообщения #2 не является ответом, т.к. вращается плоская картинка. Прога gehh-а тоже смутный вариант, иммитация изометрии, крутить точки по эллипсам сверху и снизу, во-первых нет относительности в пространстве, во-вторых это не 3D, а его одноразовая "эмуляция".
1
|
|
|
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
|
||||||
| 25.07.2014, 01:53 | ||||||
|
Вот более-менее рабочий вариант:
1
|
||||||
|
156 / 46 / 70
Регистрация: 01.07.2014
Сообщений: 185
|
|
| 25.07.2014, 08:00 | |
|
Я потрясен!
А что делает процедура changescreen() ??! Это на грани фантастики! Был бы вам очень благодарен, если бы вы хоть что-нибудь добавили к своей программе (мини-REM) Спасибо!
0
|
|
|
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
|
||||||
| 25.07.2014, 16:01 | ||||||
|
комментарии к программе
Тип poi - содержит координаты точки на экране.
Процедура dr - вычисляет координаты точки на экране по параметрам: координаты точки в пространстве, расстоянию до оси поворота, углам поворота (alfa=0.7 отвечает за вид "сверху", gamma - отвечает за "поворот" куба), глобальный sc - расстояние от наблюдателя до экрана. Результат помещается в параметр p. Процедура drawline - просто рисует линию от точки до точки, координаты которых содержатся в объектах типа poi. Процедура changescreen - меняет рабочую страницу экрана на демонстрирующуюся и очищает рабочую. В общем, то, что у VS, было в виде:
g = g + (TIMER - STime) * .5 - куб вращается со скоростью полрадиана в секунду. Т.е. за каждую секунду, потраченную на прорисовку, куб поворачивается на (STime+1-STime)*0.5=0.5 радиан. (STime=Timer - ожидание нового значения времени прорисовки.) Обеспечивает одинаковую (более-менее) скорость вращения куба при любых fps. IF g > 1.6 THEN g = 0 - куб делает не полный разворот, а поворачивается 90 градусов и возвращается в исходную позицию. Блок dr - вычисляются координаты на экране всех нужных в данный момент точек куба. Блок drawline - прорисовываются все нужные в данный момент ребра куба. changescreen - демонстрация экрана, работа с новой страницей.
1
|
||||||
|
156 / 46 / 70
Регистрация: 01.07.2014
Сообщений: 185
|
|
| 25.07.2014, 16:47 | |
|
Я очень Вам благодарен. Сам я никогда не применял такие
возможности QBasic-а. Да и подобная программа мне встретилась первый раз. Вы Бейсик-программист N 1 !!! Большое Спасибо Вам за комментарий.
0
|
|
|
Кормпилятор
|
||
| 27.07.2014, 03:36 | ||
|
Good-Morning, мерцание сильное на DOSBox. Попробуй мой вариант FLIP.
Проекцию я Стасу давал на другом форуме, если найдёшь посмотри, она и тут была где-то, тема, где был проанализирован чужой код. Не понятно от чего прётся xod\gehh, 3d пишется элементарно, вроде бы он и заходил в закреплённую тему. Добавлено через 16 минут
Тупо текстуры вышли из моды после Quake 2 и Half-Life, 98-й и 99-й года.
2
|
||
|
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
|
|||||||
| 27.07.2014, 18:31 | |||||||
|
Оптимизировал, теперь даже на 3000 cycles (DOSBox) тянет.
0
|
|||||||
|
Кормпилятор
|
||||||
| 28.07.2014, 03:46 | ||||||
|
Good-Morning, всё равно моргать будет, знаю, что по идее не должно, но будет.
Копируй FLIP подчистую, не боись. Суть ещё в том, что у тебя много тригонометрии и ресурсоёмких операций на каждую вершину. Я тоже свой двиг написал когда, понял что сильно дофига, что-то закешировал, но всё равно деления, синусы и прочая муть. Можно взять проекцию вот такую:
Ежели на QB\QBasic то таймер дополнительно можно эмулировать через эвент PLAY, это конечно "грязный" метод, но нативный и халявный.
0
|
||||||
|
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
|
||||||||||
| 28.07.2014, 15:49 | ||||||||||
:
0
|
||||||||||
|
Кормпилятор
|
||||||
| 29.07.2014, 06:52 | ||||||
свернуть во что-то такое можно с ограниченными проекционными возможностями. В ENLIGNT факе для демщиков используется такое: sx = xSize/2+x*dist/(z+dist), sy = ySize/2-y*dist/(z+dist). Добавлено через 12 минут
операции поворот точек делал. Правда он там копирайт наложил собака, но как-бы можно простой логикой это делать. Там в демке массив красных точек вращался, ну может видел. Добавлено через 7 минут
уже не ставить на тестирование. Но эмуляция вообще вещь очень кривая, она не учитывает hardware оптимизацию, да и QuickBasic настолько неповоротлив, что разница в скорости на разных тачках между его кодом и кодом на ассемблере сильно ощущается.
0
|
||||||
| 29.07.2014, 06:52 | |
|
Помогаю со студенческими работами здесь
14
Вращающийся куб Нарисовать вращающийся куб Вращающийся куб, управление стрелками Вывести в досе вращающийся 3d куб Вращающийся куб с кнопками управления Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|