Поиск по сайту
Результаты поиска по тегам 'hologram'.
Найдено 4 результата
-
Сделал что-то типа карты на голограмме. Даже похоже на GeoMaps с форума, но чуть по другому, и намного менее масштабно) HoloMaps как минимум может определять пещеры под землей, и как максимум с не большой точностью руды. Проектор желательно ставить "Лицом", ну, смотря в сторону координаты Z-. Сканирование начинаеться с относительных от проектора координат X = -12, Y = -32, Z = -12 ---------------Информация------------------- Зеленый блок - Уголь, железо или алмазы Синий блок - вода или лава Красный блок (Опционально) - земля, камень и тд. Также можно разлить ведро воды, чтобы лучше понимать где вы находитесь на голограмме) ---------------------------------------------------- Запуск ///ИЛИ/// установка программы: pastebin run 6skJPcBX ///ИЛИ/// pastebin get 6skJPcBX holomaps.lua -f Вот скриншот пещеры: А вот скриншот просканированной пещеры: Как видно хоть и не все, но руды определились. Сканирование делаю блоками 4х4. Мне кажется у меня костильненько сделано, но из-за этого и в разделе "Программы новичков", в принципе, оно работает, разве что... без шумоподавления) И ещё один вопрос, как-бы нормально реализовать шумоподавление, это надо несколько раз сканировать, и брать среднее значение? И да, чем дальше от сканера, тем менее точно. Собственно тот самый код программы: https://pastebin.com/6skJPcBX
- 1 ответ
-
- 6
-
- карта
- opencomputers
- (и ещё 3 )
-
Размер голограммы 48x32x48 вокселей, при этом ее масштаб можно изменять от 1x1x1 до 9x6x9 реальных блоков. Перед началом работы не забываем загрузить компонент. local hologram = require('component').hologram В консоли lua можно сразу =component.hologram.функция И так, с чего начнем? Самая главная функция у нас будет clear() Почему главная? Да потому-что ей мы будем подтирать наши первые жалкие потуги, при освоении третьего измерения. clear, как понятно из названия - стирает все содержимое, что есть на проекторе. Далее у нас идет set(x, y, z, индекс) Собственно, это и есть одна из функций вывода. Чтобы отобразить воксель, задаем в функцию его координаты по x, y и z в виде числовых значений и состояние вокселя. Состояние вокселя это либо true/false, либо индекс палитры цветов. Координаты как во всем майнкрафте - x это ширина, y - высота, z - длинна. Для примера сделаем так: hologram.set(1, 1, 1, 1) т. е. создается воксель по координатам x = 1, y = 1, z = 1, с состоянием = 1 Если у нас монохромный монитор, то четвертый аргумент может быть только 1 или 0, в ином случае, можно задать от 0 до 3 А если необходимо узнать значение вокселя по определенным координатам, есть функция get(x, y, z) Она принимает координаты и возвращает состояние указанного вокселя. Теперь разберемся, что это за четвертый аргумент. У голопроектора I уровня можно задать только один цвет, у голопроектора II уровня - 3 Цвета задаются функцией setPalleteColor(индекс, цвет), в формате 0xRRGGBB, например: hologram.setPalleteColor(1, 0xFF0000) - теперь под индексом 1 у нас красный цвет hologram.setPalleteColor(2, 0x00FF00) - под индексом 2 установлен зеленый hologram.setPalleteColor(3, 0x00FFFF) - под индексом 3 установлен бирюзовый... ну, вроде-бы, понятно. Узнать, под каким индексом, какой цвет можно при помощи функции getPalleteColor(индекс) Она принимает номер индекса и возвращает его значение. Разберем еще один инструмент вывода. fill(x, z, минимум_y, максимум_y, индекс) Этой функцией можно рисовать столбы - задаем горизонтальные координаты по x и z, указываем координаты нижнего и верхнего блока и цвет. Пример: hologram.fill(1, 1, 1, 10, 1) - создаем столбик высотой в 10 вокселей. Это может быть полезно, если надо отрисовывать какие-то фигуры с заливкой по вертикали, например, карту рельефа. Еще один не совсем удобный инструмент это копирование. copy(от_x, от_z, до_x, до_z, цель_x, цель_z) Видно, что копировать можно только в горизонтальной плоскости. Первые два значения это точка отсчета, вторые два - конец, третьи - целевые координаты. Например: hologram.copy(1, 1, 10, 10, 10, 1) - скопирует 10x10 вокселей на 10 вокселей по x Иногда бывает нужно спрятать проектор за блоками и чтобы голограмма выглядывала сквозь блоки. Для этого можно использовать setTranslation(x, y, z) Этой функцией можно сместить всю голограмму на 0.5 собственной величины по горизонтали и на 1 по вертикали. Т.е. hologram.setTranslation(0, 1, 0) при размере голограммы 0.3 она будет отрисовываться на 1 блок выше, при размере 4 - на 6 блоков. Для работы с масштабом голограммы имеется две функции: setScale(размер) и getScale() Первая задает масштаб от 1/3 до 4, а вторая возвращает установленное значение. В недавнем обновлении, для проекторов II уровня была добавлена возможность вращения голограм. Функция setRotation(угол, x, y, z) позволяет повернуть голограмму на заданный угол по любой оси. функция setRotationSpeed(скорость, x, y, z) задает скорость вращения по определенной оси и заставляет голограмму постоянно вращаться, пока есть энергия. Для примера, сделаем такой набросок: hologram.setTranslation(0, 1, 0) -- поднимаем голограмму повыше hologram.set(1, 16, 1, 1) -- ставим точку в начале отсчета горизонтальных координат hologram.set(22, 16, 22, 2) -- ставим точку примерно в центре hologram.setRotation(45, 23, 0, 0) -- наклоняем голограмму на 45 градусов по оси x hologram.setRotationSpeed(30, 0, 23, 0) -- задаем вращение со скоростью 30 по оси y
-
Один человек попросил написать программу, предназначенную для отображения моделей в формате .3dm, используемом программой print3d (и подобных ей). Думаю программа достойна публикации pastebin get pTAFxX5K holo Запуск: holo <Файл модели> <Номер блока> скрины Минусы: - максимум 3 цвета (если их больше, в месте не достающего цвета ставится случайный, уже использованный цвет) - модель для 3d принтера должна содержать цвета. а не только одну текстуру Строка содержащая цвет: { 0,0,0,16,16,16,texture = "iron_block", tint = 0x00ee00 }, Строка не содержащая цвет { 0,0,0,16,16,16,texture = "iron_block"}, Но я всё-таки думаю что этот сайт получше будет использовать http://f0x.me/OpenComputers-3D-Designer/ (если не ошибаюсь, автор Крутой)
-
Небольшое динамичное украшательство к праздникам. pastebin run M6z8f6q1
- 25 ответов
-
- 8