Профиль пользователя заблокирован сроком с 3 октября 2024 г. и навсегда по причине: систематические нарушения правил размещения вопросов + нарушение п.6.5 и 6.6 правил сервиса
  • Как без PIL выполнить сжатие изображение до, например 100х100 пикселей?

    @maksam07
    import cv2
    
    image = cv2.imread('path_to_your_image.jpg')
    resized_image = cv2.resize(image, (100, 100))
    cv2.imwrite('resized_image.jpg', resized_image)
    Ответ написан
    5 комментариев
  • Какие библиотеки и как использовались для создания Minecraft Bedrock?

    @maksam07
    как без UE и какого-то игрового движка

    А по вашему, игровые движки не = скелет какой-то игры?

    У вас в описании указано "Python". Вы же знаете, что такое библиотека для питон? Или фреймворк для питон (аля Django и пр.). Представьте что UE это django. А джанго это что? Просто инструмент для быстрого и удобного создания полноценного сайта. Можно ли обойтись без джанго? Конечно да! Только сайт придется реализовывать значительно дольше, продумывая весь функционал с нуля, практически с нативного кода питон, самому обрабатывать запросы, коды ответов, роутинг и кучу-кучу всего.

    Как это работает в джанго?
    from django.http import HttpResponse
    
    def hello_world(request):
        return HttpResponse("Hello, World!")

    from django.urls import path
    from myapp.views import hello_world
    
    urlpatterns = [
        path('hello/', hello_world),
    ]


    Как это работает без фреймворка:
    from http.server import BaseHTTPRequestHandler, HTTPServer
    
    class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):
        def do_GET(self):
            self.send_response(200)
            self.send_header("Content-type", "text/html")
            self.end_headers()
            self.wfile.write(b"Hello, World!")
    
    httpd = HTTPServer(('localhost', 8000), SimpleHTTPRequestHandler)
    httpd.serve_forever()


    То же самое и с игровыми движками, но немного сложнее.
    Ответ написан
    3 комментария
  • Вектор и класс инициализация?

    maaGames
    @maaGames
    Погроммирую программы
    Никак. В векторе придётся размещать указатели на второй класс и реализацию обязательно выносить в cpp файлы. А в заголовке без инклюда второго класса, только forward declaration, как уже посоветовали.
    Ответ написан
    8 комментариев
  • Вектор и класс инициализация?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    forward declaration
    Ответ написан
    8 комментариев
  • Как направить частицы в blender во внутрь объекта?

    paran0id
    @paran0id
    Умный, но ленивый
    66783ca79c2ad700405669.png

    66783c4be8b82504002774.png

    Выделяешь грани, из которых растут волосья, в верхнем меню Mesh -> Normals -> Flip
    Ответ написан
    2 комментария
  • Почему отказались от оператора GoTo в высокоуровневых языках?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Поскольку goto позволяет писать очень запутанный и непонятный код. Слишком легко написать плохой код.
    Ну не могут люди в голове удерживать спагетти из кучи возможных путей исполнения. if/else, да циклы - это людям понятно. Появилась инструкция goto изначально, потому что в машинных кодах, а значит и в асемблере эта инструкция есть. Оттуда она перекочевала в языки более высокого уровня. Процессоры, наоборот, if/else вообще не умеют. Вместо это там всякие условные goto.
    В новых языках программирования goto вообще нет, а в старых его обычно запрещают использовать в правилах кодовой базы. Если кто злоупотребляет - ему дают по рукам.
    Ответ написан
  • Почему компьютеры не используют двоично-десятичный формат для вычислений?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Во-первых, что значит "без приближений"? Совсем не понял о чем речь.
    Во-вторых, процессор работает только с числами - про цифры он ничего не знает (точнее для него есть только 2 цифры - 0 и 1). очень редко надо оперировать именно цифрами
    В-третьих, аргумент "в 2,5 раза меньше памяти" - сомнителен. Где меньше?

    Дополнительно - то, как процессор работает с числами - это его дело. Программист работает с ЯП, на его уровне абстракции. И знать как там устроены/хранятся битики, чиселки и т.д. - не нужно
    Ответ написан
    2 комментария
  • Почему компьютеры не используют двоично-десятичный формат для вычислений?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Потому что на самом низком уровне ячейки памяти могут иметь только два состояния - 0 и 1, есть сигнал и нет сигнала. Это самая простая реализация. Остальные системы счисления и все остальное, что сверху - это абстракции для людей. Вот поэтому и используются двоичная система счисления. Да, можно написать эмулятор системы с любой битностью - но это стоит ресурсов. С точностью тоже проблем никаких нет: кроме чисел с плавающей точкой есть еще и целые числа - любая нужная точность достигается без проблем. Просто для этого нужны дополнительные ресурсы в виде вычислений/памяти. Есть куча математических библиотек и прочее. Так же, ничего не мешает делать вычислительные системы с основой на любой битности. Это лишь вопрос трудозатрат/финансов и совместимости со всем остальным современным ПО. В СССР был успешный проект трехбитной ЭВМ Сетунь - она успешно решала поставленные задачи. Очень интересный и перспективный проект - жаль, что не получил развития.
    Ответ написан
    2 комментария
  • Почему компьютеры не используют двоично-десятичный формат для вычислений?

    hint000
    @hint000
    у админа три руки
    Идея двоично-десятичного представления не нова. Как минимум, 60 лет назад (а вероятно, что и ещё раньше) она имела практическую реализацию, как в аппаратной части (например, на IBM System/360), так и на языке высокого уровня (Cobol, 65 лет назад). https://ru.wikipedia.org/wiki/Двоично-десятичный_код
    Поскольку Cobol до сих пор немножко жив (в США есть спрос на опытных программистов на Cobol, в основном в финансовом секторе), то при желании можете его использовать вместе с его реализацией двоично-десятичной арифметики.
    Но скорость вычислений может быть меньше на порядок по сравнению с двоичным кодированием.

    ради точных вычислений
    арифметика с плавающей точкой в принципе не может быть точной. Например, в вашей любимой десятичной системе вы не сможете точно записать 1/3, 1/6, 1/7, 1/9, 1/11, 1/12, 1/13, 1/14, 1/15,.. (вам для этого потребуется бесконечно много разрядов, так же как в двоичной системе для ваших примеров 2,1;3,4;45,9). Проблему можно решить арифметикой с рациональными числами, но это будет ещё на порядок медленнее даже по сравнению с двоично-десятичной арифметикой. Реализации (библиотеки) тоже существуют - можете их найти и использовать, если готовы ради точности потерять в скорости в 100, а то и в 1000 раз (иногда точность на самом деле настолько важна, спору нет, но таких задач мало). Кстати, сравните возможности арифметики рациональных чисел с возможностями длинной арифметики. :) Тут не всё так однозначно.
    https://ru.wikipedia.org/wiki/Длинная_арифметика

    В целом вопрос хороший в плане вашей любознательности.
    Ответ написан