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

Doob

Гуру
  • Публикации

    1 089
  • Зарегистрирован

  • Посещение

  • Победитель дней

    141

Сообщения, опубликованные пользователем Doob


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

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

     

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

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


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

     

     

    LwTNjTM.png

     

    • Нравится 1

  3. Два замечания по теме:

    1) Название темы не соответствует вопросу. Не играет роли канал передачи данных. Вопрос в том, как сжать данные.

    2) Зачем сначала преобразовывать карту высот в цветное изображение, а потом его сжимать, если можно сжать первичные данные, и уже в конце декодировать в цветную картинку? Конечно, если цветопередача приемника ограничена, имеет смысл еще до передачи произвести огрубление данных, но желание передавать именно картинку, создает лишние проблемы.

     

    И один вопрос: В каком формате приходят данные с камеры? Полагаю, что это построчная развертка удаленности в каждой точке. В каком формате эти числа? Меня интересует диапазон и точность. Сколько уровней должно получиться на выходе (на тепловой карте)? Исходя из этого можно будет придумать или подобрать алгоритм сжатия без потерь.

     

    Первичные данные это числа с плавающей запятой, они округляются сразу, неважно, в цвета или индексы.

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

     

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

     

    Схема такая - проверяем какое у нас разрешение, посылаем запрос на сканирование с таким разрешением и определенным набором цветов, изображение отрисовывается в строку, используются таблицы запрошенных цветов и отправляется на управляющий комп, на управляющем компе строка преобразуется в изображение.

    Собственно, саму строку можно пожать используя data card, либо библиотеку deflate.


  4. Что - это за хрень??  :nono:

    Зачем так говно кодить???

     

     

    Мало того, что цвета огромное кол-во байт занимают, а ты ещё 11 штук приляпал. Внимательно читай: "с-ж-а-т-и-е".

     

    Вы ничего не понимаете, это чтобы не взломали)) http://computercraft.ru/topic/831-zaschischyonnye-soobscheniia-v-opencomputers/

     

    Когда то предлагал Тоторо алгоритм сжатия голограмм.  Может и тебе подойдет нечто подобное.

     

     

    Интересно.. мне Fingercomp предложил сделать проще:

    У меня есть набор из n цветов в разных таблицах, я для каждого цвета создаю индекс в виде одного символа, т.е. чтобы мне передать изображение алмазного монитора 160*50 - оно принимает вид 8 килобайт, но я использую квадратное окно, следовательно у меня абсолютный максимум для алмазного монитора = 4950 байт.


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

    Если дельных предложений не поступит - прикручу deflate на 18 килобайт.

    LwTNjTM.png

     


  6. Там новый блок добавился... Искать тут: https://github.com/MightyPirates/OpenComputers/tree/9540cb44fb797c57543f24a27c593a34afa94dbe/src/main/resources/assets/opencomputers/textures/blocks

     

    Имя текстурки netSplitter

     

    Спасибо, я как раз ждал новую версию, а то в 13 новая текстурка только DataCard


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

     

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

     

     

    9MEOgTO.png

    2yC45IF.png

     

     


  8. Угу, только своими кривыми руками я GPS портировать не мог, а что есть уже готовое решение не знал, поэтому использовал то, что мне понятней. На бумаге мне легче начертить пару треугольников, чем сфер, решал задачу на бумаге, на реальных примерах.


  9. Если игрок неподвижен, можно и без GPS в четыре движения вернуться. А если подвижен, можно за несколько циклов по 4 движения приближаться, тоже быстрее получится, чем по одному шагу случайных метаний.

     

    Интересно... Триангуляция? Я пробовал - дрон делает круг, находит примерный вектор и летит к источнику сигнала... и промахивается даже при неподвижном источнике.


  10. А это явная "Робин Гуд-схема".  Вообще по идее, раздачи "папок" на донатных сервах караются, так как это перебивает хлебушек админам, но и на ИТ в ней большого смысла тоже не вижу. Ну сделал ты поле резиновое, резину девать некуда со временем (Банк ее не зря не покупает, кстати), зачем ее раздавать?=) Это же не интересно другим игрокам, по идее. Если конечно там "порция в день", тогда норм.

     

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

    Пришел, попрыгал - получил печеньку, это же товарооборот, а не раздача))

     

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


  11. Топорный алгоритм возвращения дрона по пингу. (как-нибудь по-красивей сделаю на gps api)

     

    В качестве примера прошивка дрона:

     

     

    local drone = component.proxy(component.list('drone')())
    local port = 43
    local modem = component.proxy(component.list('modem')())
    modem.open(port)
    
    local distance = 0
    local d1 = 0
    
    local function ping()
      while true do
        e, _, _, _, d, msg=computer.pullSignal(1)
        if e=='modem_message' and msg == 'PING' then
          distance = d
          return true
        end
      end
    end
    
    local function mv(dir)
      d1 = distance
      if dir == 1 then
        drone.move(1, 0, 0)
        ping()
        if d1 > distance then
          drone.move(1, 0, 0)
        else
          drone.move(-2, 0, 0)
        end
      elseif dir == 2 then
        drone.move(0, 1, 0)
        ping()
        if d1 > distance then
          drone.move(0, 1, 0)
        else
          drone.move(0, -2, 0)
        end
      elseif dir == 3 then
        drone.move(0, 0, 1)
        ping()
        if d1 > distance then
          drone.move(0, 0, 1)
        else
          drone.move(0, 0, -2)
        end
      end
    end
    
    ping()
    
    while distance > 3 do
      for i = 1, 3 do
        mv(i)
      end
    end
    

     

    Это запускаем в интерпретаторе планшета/компьютера, с которого управляем дроном:

    while true do component.modem.broadcast(43, 'PING') os.sleep(0.5) end
    
    Хм.. Забыл добавить 'PONG', чтобы не приходилось alt+ctrl+c, но я привычный))

    Дрону нужно много пространства для маневра (примерно 4x4 блока по всему пути движения), но зато он может корректировать курс, если игрок с планшетом движется.

     

    При помощи gps api будет выглядеть опрятней и дрон будет шнырять по-прямой, без лишних движений.


  12. Собираюсь сделать дома бесплатный раздатчик печенек/тортов/латекса, написал программу, которая при помощи сенсора движения и адаптера раз в сутки выдает каждому игроку определенный набор предметов.

    Прога не интерактивная, ибо делал для себя.

     

    Чтобы сделать такой раздатчик надо установить примерно такую систему:

     

    hURV10r.png

     

    Вместо стекла можно поставить любые блоки (дроппер их пробивает), в кейс должна быть установлена редстоун карта. Ресурсы добавляются роботом в сундук снизу.

     

    В самой программе необходимо заполнить таблицу tLoot - список предметов, которые будут выдаваться, например: {'cake', 4} будет выкидывать 4 торта каждому игроку, так же подкорректировать maxStack указав максимальное количество предметов, которые могут быть выданы.

    Если кого-то хотим обломать - вносим в tBlacklist

     

    Чтобы получить ежедневную раздачу, игроку надо встать на сенсор и подпрыгнуть.

     

    Собственно, сама прога: pastebin get 8sv37f6g dropper

     


  13. На уровне земли уже обсудили. А при движении под землей куда ты собираешься саженцы втыкать?

     

    function suck()
      r.suckUp()
      for i = 1, 4 do
        r.suck()
        r.turnLeft()
      end
    end
    
    r.swingUp()
    r.up()
    if r.detectUp() then
      r.digUp()
      suck()
    else
      suck()
      r.down()
    end
    

  14. Дроны - это зло и официальный грифтулс, они преодолевают все, практически. Я их включил только для того, чтобы успокоить вопящих и показать, что не все, что в модах есть, нужно и можно использовать на серверах.

     

    По большому счету, их нужно вырубать к чертям. Байт даже меняла, который, за решеткой сидит, и то подвержен атаке. Дрон пролетает сквозь решетки, двери и даже провода и кабели, а также ставится в привате.  

     

    Водопадик, уж точно, от дрона не спасет. ;)

     

    И даже в вайте, где все свои, и то бедного Нео Монстрик  бомбанул дроном. Нео и так ни в какую играть не хотел без креатива или как минимум без убер-китов, но выиграл за статью на форуме квантовые трусы, шлем, квантовую панель, ресы, целый сундук алмазный "железа" к ОС и аддонам, а Монстрик все спёр на седующий день, буквально :)

    Байту дроппер и воронку - никаких грифов.


  15. Doob: Автокрафт у меня есть, рецепты забивать лень.

    Если тебе лень забивать рецепты, то о каком автокрафте ты говоришь?

     

    Doob: Я, к примеру, специализируюсь на селекции, если кто-нибудь может мне сказать, как робот будет анализировать семена, то можно сделать автоматическую ферму селекции.

    А мне интересно, почему на сервере, где во главу угла поставлена автоматизация, ты выбрал для себя принципиально неавтоматизируемую специализацию? Кстати, способ автоматизации есть, но не на этом сервере.

     

    Зачем тебе майнкрафт, если можно играть в своем воображении? Просто представь, что у тебя уже всё есть.

    Я говорю о таком автокрафте, в который надо забивать рецепты, как обустроюсь на сервере - сделаю терминал сохранения рецептов и буду их подновлять.

     

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

     

    А в своем воображении я играю всегда, даже когда сплю или играю в майн, это называется творчество.

×
×
  • Создать...