|
0 / 0 / 0
Регистрация: 29.11.2020
Сообщений: 14
|
|
Как вывести на экран множество точек29.11.2020, 05:11. Показов 7142. Ответов 36
Уважаемые форумчане, добрый вечер! Пишу игру "Жизнь", нужно вывести на экран массив точек. Просто точек, не соединенных линиями.
Как нарисовать этот массив? Есть ли какая-нибудь glDrawPoints?
0
|
|
| 29.11.2020, 05:11 | |
|
Ответы с готовыми решениями:
36
Дано множество A из N точек на плоскости. Найти точку (вывести её номер и значение) среди всех точек этого множества
|
|
249 / 79 / 31
Регистрация: 29.03.2020
Сообщений: 497
|
|
| 03.12.2020, 13:33 | |
|
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||||||||
| 03.12.2020, 14:10 | |||||||||
|
Я вот не могу понять…это разве не одинаковые условия? Вход целые. if(SUM <2 || SUM>3) //if(SUM!=2 || SUM!=3) Верхнее пашет а нижнее не хочет- магия.
Вот так надобыло, Значит первый алгоритм вообще рекурсия рекурсии..очень сложный клеточный автомат. А этот намного проще. Но жизнь тут быстро угасает и скучно, надобы сделать прворку каждого фрейма: если живых точек меньше Порог то поменять правила для размножения, чтобы анимация оставалась а не зависала скучно и однообразно. Также хотел сделать проверку не области 3 на 3 а 5 на 5 с выбором какие точки брать, но не хочет пахать..где-то неуловимый баг.
0
|
|||||||||
|
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|
| 03.12.2020, 14:16 | |
|
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||||||
| 03.12.2020, 15:28 | ||||||
|
Да, забыл символ в 2 часа ночи…
//if(SUM <2 || SUM>3) if(SUM!=2 && SUM!=3) Добавлено через 46 минут Сделал коррекцию правил. Вместо if(SUM <2 || SUM>3) параметр R, меняет R=3 на R=4 это приводит к плавному размножению. if(SUM <2 || SUM>R) Если процент живых больше LimLifeUP то R=3, иначе если процент живых меньше LimLifeDN то R=4. Теперь игра бесконечна =). Надо поискать клеточные автоматы посложней…
0
|
||||||
|
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
|
||
| 03.12.2020, 19:33 | ||
|
0
|
||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 03.12.2020, 22:40 | |
|
На старом глуте и компе разбрасывал порядка 100 000 точек с альфой при 60 фпс. Значит растеризует на ГПУ =).
0
|
|
|
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
|
|
| 03.12.2020, 22:50 | |
|
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 03.12.2020, 23:45 | |
|
Antikl, Сделайте тест вывода пару млн. точек пусть выводит glpoint жирный такой квадратик пикселей 10 и софтверно. Очень сомневаюсь что ЦПУ такое вытянет.
Добавлено через 2 минуты А как ставить точку putpixel? Лезть в ассемблер? =)) Гуглите Нарисовать квадрат ассемблер…
0
|
|
|
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
|
||
| 04.12.2020, 01:09 | ||
|
0
|
||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||||||
| 09.12.2020, 16:33 | ||||||
|
Вспомнил, давно спрашивал тоже самое.
Нарисовать массив glDrawPixels Вот пофиксил на цветной рандом. Не уверен нужен ли тут такое data[y][x][0] = (int)255*(float)rand()/RAND_MAX;
0
|
||||||
|
0 / 0 / 0
Регистрация: 29.11.2020
Сообщений: 14
|
||||||
| 25.12.2020, 11:07 [ТС] | ||||||
|
Продолжаю возиться с точками. Хочу вывести "решетку" из красных точек 10x10.
В качестве хранителя данных использую трехмерный массив A с пятью слоями. Первый слой - координаты точек X, просто индексы. Второй слой - координаты Y, тоже индексы. Третий, четвертый и пятый - цвета R, G и B. Заполняю единицами только красный, синий и зеленый - нули. В функции void display сделал условие. Если запуск функции первый (IF Z = 0, и тут же меняем на Z = 1) , то заполняем массивы vertex и colors из трехмерного массива (из первого слоя берем X, из второго Y, из третьего красный цвет). Выводим решетку на экран. Когда первоначальная инициализация прошла (Z = 1), в условии ELSE заполняем красный цвет из массива A еще раз. Просто так, потом буду менять цвет в точках. Вместо решетки почему-то выводятся четыре разноцветных точки. На 95 строке пишет предупреждение "C6385: Чтение недопустимых данных из A[i][j]. Доступный для чтения объем равен 20 байт, однако считать можно только 24 байт". Что ему не нравится?
0
|
||||||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||||||||||||||||||||||||||||||
| 25.12.2020, 13:40 | |||||||||||||||||||||||||||||||
|
Сделал по этому примеру
https://www.firststeps.ru/mfc/opengl/r.php?26 Работает.
С инт массивами вроде не пашет без отчета об ошибке( спасибо разработчикам), вроде там float это внутренний формат gl если это для скорости. Если даже будет инт в коде или еще как то он будет переводиться во флоат скрыто. Вот наколдовал. Бреинфаково выглядит это, не думаю что это правильно, как проще хз.
Вообще более правильно так
Добавлено через 6 минут вот так тоже пашет
0
|
|||||||||||||||||||||||||||||||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 26.12.2020, 16:24 | |
|
Может кто знает как сделать раздельную компиляцию этого кода пост 32?
Раздельная компиляция
0
|
|
|
0 / 0 / 0
Регистрация: 29.11.2020
Сообщений: 14
|
||||||
| 27.12.2020, 09:22 [ТС] | ||||||
|
Если упростить задачу. Берем два двумерных массива: в одном координаты X, в другом координаты Y. Как мне их склеить в одномерный массив вершин?
Я написал два вложенных цикла for. Но почему-то опять не работает ((
0
|
||||||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 27.12.2020, 13:12 | |
|
wxthplvl65, Вам уже написали 3 варианта рисования + пару вообще готовых прог.
1)Пост 24. Мой мод бесконечная игра жизнь. Рисует glBegin(GL_POINTS); 2)Пост 30. Рисует glDrawPixels. 3)Пост 32. Рисует glDrawArrays. 10 000 точек с заданием цвета каждой. А тут вчера раздолбал пример раздельная компиляция этой же проги, каждая функция в отдельном файле с парой десяток строк. Раздельная компиляция Это намного удобней листания простыни из 100500 строк и кучей функций которые отвлекают. Так делают уже настоящие программисты в больших проектах. Что вам еще надо для экспериментов? Хз… Берите работающий пример и изменяйте под себя.
0
|
|
|
|
|||||||
| 27.12.2020, 14:23 | |||||||
|
+ в одномерном массиве нужно учитывать строку - добавлять смещение целую строку из 10 эл-тов i*10
0
|
|||||||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|||
| 27.12.2020, 20:13 | |||
|
Сравните бреинфак код
0
|
|||
| 27.12.2020, 20:13 | |
|
Из множества целых чисел 1.10 выделить множество чисел, на которые делится без остатка число 7. Вывести это множество на экран Сформировать множество точек по заданному правилу и вывести координату последней точки
Вывести множество на экран На плоскости заданы множество точек А и множество прямых В (каждая прямая задается значениями коэффициентов ур Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|