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

Totoro

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

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

  • Посещение

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

    289

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


  1. 1. Где глянуть остальные примеры, замены стандартного написания - на новое ?

    2. Кроме эстетического удовольствия, такой формат, ещё как-то влияет на программу ? ( Ускорение работы ? Уменьшение ошибок ? )

     

    1) Условия и циклы в Луа (да и любом другом языке программирования), принимают в качестве параметра выражения, результат которых - логическое значение (true, либо false).

    Функция robot.detect() согласно документации возвращает true при обнаружении препятсвия, и false в обратном случае.

    То есть твое выражение while r.detect () == true do будет в процессе выполнения программы сведено к одному из двух вариантов:

    while true == true do    -- результат: true
    или
    while false == true do   -- результат: false
    

    То есть, все выражение r.detect () == true можно смело упростить до r.detect ().

     

    Аналогично и в других похожих случаях. Если функция уже возвращает логическое значение, сравнивать его с true или false часто бывает излишне.

     

     

    2) Нет, особого ускорения не будет. Просто это выглядит короче, красивее, и даже иногда понятнее (у меня глаз всегда цепляется за такие конкструкции, и тратит пару секунд, чтобы понять, что дополнительное действие на самом деле ничего дополнительно не делает =))

    • Нравится 2

  2. Давай немного проанализируем, как происходит выполнение кода.

     

    1. Запускается самый внешний цикл с условием c ~= 10. Кстати, это довольно опасная конструкция. Если переменная c, во внутреннем цикле успеет принять значение больше 10, цикл станет вечным, и никогда не остановится.
    2. Второй цикл имеет условие h == 50. Это условие уже равно false, так как переменная h равна 0. Цикл не выполнится.
    3. Таким образом первый цикл становится вечным, но программа при этом ничего не делает, раз за разом сравнивая перменную c с числом 50.

    А если бы второй цикл все же выполнился, то программа пропустила бы третий цикл с условием r == true, потому что всего парой строк до него, переменная r получила значение false.

    • Нравится 1

  3. Тут надо подумать, по каким признакам делать теги.

     

    По платформе:  OpenComputers, ComputerCraft (можно добавить теги аддонов)

    По "железу":  компьютер, робот, дрон, микроконтроллер, нанобот

    По типу приложения:  библиотека, клиент / сервер, графическое приложение, консольная утилита, прошивка чипа, операционная система, графическая оболочка

    По области применения:  графика, сеть, добыча ресурсов, строительство, программирование, декор, навигация, игра, ерунда, что-то еще.

    • Нравится 1

  4. Думаю можно эту самую картинку заменить на скриншот т.к. мало кто делает нормальный логотип-изображение своей проги...

     

    Как вариант - сделать там не логотип, а фрагмент скриншота. Выбранный рандомно - программой, либо пользователем - при заливе.

     

    P.S. С вебом я "на Вы", поэтому не представляю сложность реализации.


  5. @@cyber01, будет возможность добавить скриншот на страницу описания, кроме картинки в табличке?
    Думаю это позволит более полно представить программу, да и выглядеть должно неплохо.
    Как вариант, чтобы не забивать диск сервера - можно сделать добавление скриншота по внешней ссылке.


  6. Решить то как?

     

    Эй! Я без понятия что ты пишешь. Даже языка не знаю.

     

     

    Если посылать запрос через терминал:

    curl -i https://LeshaInc:1234@api.github.com/
    То все работает ОК и я получаю корректный "401 Unauthorized".
    Воспроизвести твою проблему получилось в браузере. Он там по кукам или по ETag (хрен его знает) пробивает тот факт, что ты пытаешься получить данные, которые не изменились, и отвечает соответственно.

     

     

    Таким образом на основе имеющихся у меня данных, даю тебе совет: юзай терминал (шелл-скрипт) и все будет хорошо!


  7. Чем можно заменить символ "\0"? "\r" не идет.

    ---

    Нашел

     

    Ты если сам докопался до решения, не пиши "Нашел", а распиши как решил. Тогда твой пост будет нести полезную инфу. Возможно, кто-то тоже столкнется с таким же вопросом, в будущем.

    Представь вся тема будет состоять из постов вида "А как ....?  А все, нашел.".  ;)

    • Нравится 4

  8. Дело в том, что картинки имеют прозрачный фон...

     

    Вариант - оставить нулевой байт для прозрачности.

    В твоей текущей реализации пиксель кодируется в среднем 8 байтами.

    То есть это будет выгоднее предложенного мной варианта в том случае, когда площадь непрозрачного изображения составляет <= 1/8 от общей площади. Т.е. это будет достаточно небольшая иконка, окруженная большим пустым пространством.

     

    P.S. Идеально будет, конечно, замутить что-то вроде сжатия, которое предлагал Zer0Galaxy.


  9. Я скоро допишу свой Minecraft Image Manipulation Program, там свой формат изображений. Собственно, такой:

    x y c:x y c:x y c
    x - позиция по X
    y - позиция по Y
    c - индекс цвета (от 0 до 255), функции конвертирования цвета (0xRRGGBB) в индекс будет в либе, но её надо дописать.
    : - разделитель пикселей)

     

    Вопрос: а зачем писать X Y для каждого пикселя? Не проще ли написать вначале общие параметры W / H (Ширина / Высота), а затем записать последовательность цветов в виде построчной развертки?

     

    Кроме того, если количество цветов ограничено 255, можно писать файл в бинарном формате - байт на пиксель, экономя пространство и время работы с форматом.

     

    Тогда размер файла будет W*H байт + несколько байт на сами значения W и H.

    • Нравится 2

  10. @@Totoro, когда либа для показа и редактирования голограм?

     

    Если ты про вьювер - он по второй ссылке лежит.

    А если ты про библиотеку для работы с голограммами, вот, юзай на здоровье ;)

    (А если нужно работать с моим форматом файлов, разрешаю позаимствовать код вьювера, при условии сохранения копирайтов =))


  11. Красота.

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

    Отредактировал пост какой-то первый, добавил туда последнюю версию программы.

     

    Согласен. Предлагаю вообще изменить заголовок на "Hologram Editor [OpenComputers]". Так как версия и авторство прописаны в самой программе.


  12. he070.png
     
    Ура товарищи! Спустя всего лишь каких-то 10 месяцев, вышла новая версия редактора Hologram Editor v0.70 Beta!
     
    Hologram Editor v0.70 Beta
    Hologram Viewer 0.70 Beta

     

    В наличии новые плюшки:

    • Мини-интерфейс для маленьких разрешений! Теперь вы можете заценить редактор на компьютере с GPU 2 или APU 3! Однако монитор все равно потребуется алмазный. Ибо только он поддерживает высоко-точное кликанье мышкой.
    • Суперсжатие данных от Zer0Galaxy! Новый формат *.3dx весит в 15 раз меньше чем *.3d! Например, новогодняя елочка из прошлых постов (вес 18.4 Кб) после ужатия стала весить всего 1.4 Кб. Редактор и вьювер поддерживают импорт старого формата.
    • Апгрейд кнопочек и текстбоксов. Они стали более удобными, и текст теперь не лезет куда не надо.
    • Таблица для локализации. Все зависяцие от локали фразы вынесены в отдельную таблицу, с тем чтобы их было удобнее менять. Также можно в случае надобности присобачить загрузчик конкретной локализации из файла.
    • Фикс: производительность, обработка разнообразных ошибок, глюки отрисовки и прочая, прочая.

    Версия нуждается в хорошем тестировании, так как переписано было много кода, пофикшено много багов и создано еще больше новых.

    • Нравится 4

  13. Сначала подумал что эта библиотека предоставляет интерфейс для работы с векторной графикой. Как оказалось, векторы из C++. Советую сменить название темы.

     

    Это не векторы из С++, это векторы из математики.

    Я считаю текущее название подходит.

    • Нравится 1

  14. Хотелось бы...кстати большие модели не отрисовываются пишет нет памяти... 4 по 3.5 установил все равно не хватает

     

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

     

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

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

    Ну и наконец, можно реализовать что-то вроде фейкового "самозатенения" по полигонам. (Смотреться будет немного "угловато" =) Примерно так: http://i.stack.imgur.com/o90EZ.png только треугольники вместо квадратов) И повысит расход оперативной памяти и время загрузки модели.


  15. что я только не сделал... и очки включил и комп перезагрузил...может что то не так делаю...

     

    Я сделал все, что было в моих силах, и более не властен над твоей судьбой. Теперь тебе може помочь только Он. Я скрещу за тебя пальцы. Аминь.


  16. когда запускаю obj.lua ничего не происходит (вообще)

    а когда запускаю это(я изменил wolf,obj на cat,obj короче свою модель и закинул я ее в world/opencomputers/мой ж.диск) то консоль исчезает и появляется какой то чат что ли...незнаю что это, когда пишу что нибудь(любое сообщение) то оно дублируется 

     

    Саму библиотеку (obj.lua) запускать и не надо. Ее надо использовать через программу.

     

    Ты наверное не прилинковал очки. Очки из мода OpenGlasses кликнуть ПКМ по терминалу очков (блок такой, с зеленым узором). А потом надеть, вместо шлема.

     

    Из программы убери строку setScale(0.01). Модель волка у меня была очень большой. 

    Строку setPosition тоже можно убрать.

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

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


  17. Ну тогда все немного проще.

     

    1) (Желательно. Чтобы модели не моргали) Редактируешь конфиг мода OpenGlasses. Снизь энергопотребление и повысь объем буфера.

    2) Скопируй модель OBJ на жесткий твоего компьютера.

    3) Скопируй, или скачай мою библиотеку (команда pastebin get JyK7KTCQ obj.lua, если есть интернет-плата)

    4) Напиши свою программу. Для теста возьми пример из первого поста, только замени в нем название файла.

    5) Все сохрани, и запусти свою программку-тест.


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

     

    Сингл или сервер? Есть ли доступ к сейву мира? Это важно, потому что от этого зависит как ты будешь загружать файл с моделью.


  19. Круто конечно... Только зачем? Зачем обычному игроку 3D модели у двора? Ему бы ресов накопать, да мобов поубивать.

    А так, прога хорошая.

     

    Откуда такой пессимистичный настрой?  :)

     

    Зачем?

    1) Круто.

    2) Для личного удовольствия, которое я получил в процессе написания и созерцания результатов.

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

    4) Круто.

    • Нравится 5
×
×
  • Создать...