Перейти к содержимому


Фотография

Полезное применение камеры из Computronics

камера lua opencomputers computronics camera

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 15

#1 Оффлайн   Doob

Doob
  • Пользователи
  • 815 сообщений

Отправлено 07 Июль 2015 - 01:12

*
Популярное сообщение!

Нигде не нашел, что можно сделать с этой камерой интересного.
На вики есть пример рендера для CC, захотелось сделать преобразование изображения в тепловую карту высот/расстояния, но пытаясь добавить много цветов, у меня получалась каша из градиентов. Так что сделал по-проще и аккуратней.
 
При помощи этой программки можно довольно хорошо разглядывать твердые блоки (сущности и многие недоблоки через нее не видно)

pastebin get dYX5hERr cam
 
Чтобы посмотреть картинку с камеры, надо запускать программу, с параметрами зависящими от используемого монитора. Например для монитора III уровня - /# cam 0.041, для монитора II уровня - /# cam 0.085
На самом простом мониторе больше 0.14 лучше не задавать, по умолчанию этот параметр и стоит (как можно заметить - чем число больше, тем меньше детализация).
Если использовать программу на роботе с камерой, то можно смотреть вверх и вниз, указав, соответственно вторым аргументом up или down

Картинки

Спойлер



Можно сделать передачу картинки по сети, чтобы управлять роботом со всеми удобствами, еще и прикрутить к нему радар.


Сообщение отредактировал Doob: 11 Июль 2015 - 12:08


#2 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • 1 232 сообщений

Отправлено 07 Июль 2015 - 09:00

На сколько я понял, картинка на экране отражает расстояние до того или иного блока, но не отражает свойства самого блока. 



#3 Оффлайн   Fingercomp

Fingercomp
  • Гуру
  • 2 038 сообщений

Отправлено 07 Июль 2015 - 09:24

На сколько я понял, картинка на экране отражает расстояние до того или иного блока, но не отражает свойства самого блока. 

Именно! Единственное свойство, доступное у камеры — возврат расстояния до ближайшего блока. Причём у камеры можно указывать "поворот" по двум осям. Кроме того, блоки, которые дальше, чем на 32 блока, не "улавливаются" камерой. На ГитХабе CX давным-давно висит тема с возвратом цвета блока, на который смотрит камера. Но воз и ныне там.



#4 Оффлайн   Doob

Doob
  • Автор темы
  • Пользователи
  • 815 сообщений

Отправлено 07 Июль 2015 - 09:39

На сколько я понял, картинка на экране отражает расстояние до того или иного блока, но не отражает свойства самого блока.


Там довольно интересно устроено, шаг луча трассировки можно сделать очень маленьким, на мониторах OC нельзя увидеть достаточно детализировано форму блока, надо попробовать с мониторами CC.
Со стандартным шагом луча, можно отличить открытую дверь от закрытой, если шаг уменьшить, то можно увидеть, что открытая дверь отличается от пустого блока, но может это ошибки трассировки, надо будет проверить.

Сообщение отредактировал Doob: 07 Июль 2015 - 09:40


#5 Оффлайн   Doob

Doob
  • Автор темы
  • Пользователи
  • 815 сообщений

Отправлено 11 Июль 2015 - 13:24

Да, действительно, неполные блоки маленьким лучом можно довольно точно просветить. Саженцы выглядят почти как обычные блоки, а листва иногда полупрозрачна, стекло же, как ни странно - обычный блок, надо было камеру радаром назвать.

 

Вот пример, как выглядит рычаг сбоку и спереди (сделал зум x5, чтобы влезло в монитор)

Спойлер

Сообщение отредактировал Doob: 11 Июль 2015 - 13:25


#6 Оффлайн   SergOmarov

SergOmarov
  • Пользователи
  • 564 сообщений

Отправлено 13 Июль 2015 - 07:26

А как камера реагирует на сущности?



#7 Оффлайн   Doob

Doob
  • Автор темы
  • Пользователи
  • 815 сообщений

Отправлено 13 Июль 2015 - 08:08

А как камера реагирует на сущности?

 

Вот так:

Спойлер


#8 Оффлайн   SergOmarov

SergOmarov
  • Пользователи
  • 564 сообщений

Отправлено 13 Июль 2015 - 13:44

Типо, не реагирует?


А, она в виде той плоской фимгни жителя изобразила)


Сообщение отредактировал SergOmarov: 13 Июль 2015 - 13:44


#9 Оффлайн   Doob

Doob
  • Автор темы
  • Пользователи
  • 815 сообщений

Отправлено 13 Июль 2015 - 13:50

Типо, не реагирует?


А, она в виде той плоской фимгни жителя изобразила)

 

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



#10 Оффлайн   Doob

Doob
  • Автор темы
  • Пользователи
  • 815 сообщений

Отправлено 15 Июль 2015 - 16:47

Новая версия программы: pastebin get NxTSdH4G camAdv
Выкинул поддержку железных мониторов, все-равно ничего не видно, сделал для алмазных мониторов два режима - оттенки серого и тепловой.
Кнопочки:
  Z - увеличить зум, C - уменьшить
  Backspace - сбросить зум
  X - переход в тепловой режим
  Q - выход из программы.

 

Спойлер


Сообщение отредактировал Doob: 15 Июль 2015 - 16:53

  • Asummonster это нравится

#11 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • 1 232 сообщений

Отправлено 15 Июль 2015 - 17:10

Z - увеличить зум, C - уменьшить   Backspace - сбросить зум

 А перемещение вверх-вниз, вправо-влево можно?

Как я понял, один "пиксел" это два символа . Можно уменьшить зернистость используя половинки этих символов (не помню какой код)


Сообщение отредактировал Zer0Galaxy: 15 Июль 2015 - 17:13


#12 Оффлайн   Doob

Doob
  • Автор темы
  • Пользователи
  • 815 сообщений

Отправлено 15 Июль 2015 - 17:29

 А перемещение вверх-вниз, вправо-влево можно?

Как я понял, один "пиксел" это два символа . Можно уменьшить зернистость используя половинки этих символов (не помню какой код)

 

Можно сделать и перемещение, только искажение перспективы будет мешать.

У 1Ridav в QR генераторе есть отрисовка квадратных пикселей, но там битовый формат, чтобы его приспособить для цветного отображения надо потанцевать с разделением одного изображения на два - один на foreground, другой на background, пока не могу сообразить, как такое провернуть.



#13 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • 1 232 сообщений

Отправлено 15 Июль 2015 - 17:46

Каждое знакоместо будет содержать два пикселя. Необходимо заполнять экран символами ▄ (символ из псевдографики - нижняя часть закрашена, верхняя нет) предварительно установив цвет фона равным цвету верхнего пикселя, а цвет шрифта - цвету нижнего. Неплохо было бы заполнить весь экран такими символами заранее, а потом только менять атрибуты цвета для каждого знакоместа, Но, что то не найду такой возможности в библиотеке gpu.



#14 Оффлайн   Doob

Doob
  • Автор темы
  • Пользователи
  • 815 сообщений

Отправлено 15 Июль 2015 - 17:55

Каждое знакоместо будет содержать два пикселя. Необходимо заполнять экран символами ▄ (символ из псевдографики - нижняя часть закрашена, верхняя нет) предварительно установив цвет фона равным цвету верхнего пикселя, а цвет шрифта - цвету нижнего. Неплохо было бы заполнить весь экран такими символами заранее, а потом только менять атрибуты цвета для каждого знакоместа, Но, что то не найду такой возможности в библиотеке gpu.

 

Хм, точно, четные строки - цвет текста, нечетные - цвет фона, в разных таблицах

Пройтись в цикле параллельно по обоим таблицам устанавливая из них цвет фона и текста.



#15 Оффлайн   denchik

denchik
  • Пользователи
  • 6 сообщений

Отправлено 18 Июнь 2016 - 17:41

эй а этот мод где скачать?



#16 Оффлайн   Doob

Doob
  • Автор темы
  • Пользователи
  • 815 сообщений

Отправлено 18 Июнь 2016 - 19:19

Мод тут: http://wiki.vex.tty.sh/doku.php

Вот пример использования очков из OpenPeripheral: http://pastebin.com/cVJmXv94







Темы с аналогичным тегами камера, lua, opencomputers, computronics, camera

Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных