• Где еще можно применить javascript ?

    aen
    @aen
    Keep calm and 'use strict';
    Node-webkit позволит вам создавать десктопные приложения.
    Ответ написан
    Комментировать
  • Где еще можно применить javascript ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Cordova/Phonegap + ionic
    Ответ написан
    Комментировать
  • Что не так в этом генераторе рандомных чисел?

    Remmi
    @Remmi
    Если числа жёстко должны быть в диапазоне от 1 до 20 - можно попробовать сделать массив с числами от 1 до 20, а потом отсортировать их в случайном порядке.

    У Кантора есть пример реализации.
    Ответ написан
    3 комментария
  • Как отсортировать динамический массив?

    @Power
    Ваш "Метод, который меняет два числа местами" на самом деле не делает вообще ничего (передача аргументов по значению и всё такое). И у вас изначально неправильный подход - вы запоминаете min/max, но не запоминаете их индексы в массиве.
    Ответ написан
    4 комментария
  • Что можно применить в качестве "движителя" очень маленького размера (менее 1 см в толщину)?

    электродвигатели могут быть очень маленькими, например у меня лежит двигатель из объектива фотоаппарата Canon A620 который отвечал за зум - он толщиной 8 мм. Вибромотор мобильного телефона еще меньше. Вопрос в том, хватит ли у него сил двигать ваш поршень (какое надо усилие).
    на али можно купить микродвигатель в сборе с редуктором и длинным валом с резьбой как раз толщиной 1 см www.aliexpress.com/item/N20-screw-gear-motor-micro...
    напишите в поиске motor gear micro и выбирайте, есть варианты и меньше
    Ответ написан
    Комментировать
  • Качество специально уменьшеной картинки — самообман?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Зависит от того, как картинку уменьшаете и в чем.
    Вероятно у браузера фильтрация лучше оказалась.
    Какой формат изображения? jpeg?
    Ответ написан
    1 комментарий
  • Являются ли все языки программирования следствием архитектуры процессора?

    Пара встречных вопросов:
    1. что считать принципиально другой архитектурой? кроме упомянутых вами Intel/AMD, есть еще такие штуки как arm/mips, arc, itanium - все они в той или иной степени отличаются друг от друга.

    2. следствием какой архитектуры, по вашему мнению, являются языки вроде haskell или prolog? А, например, всякие DSL - тоже ведь языки программирования, просто узко специализированные.

    Я не думаю, что языки программирования вообще не имею связь с процессором (как минимум компилятор/интерпретатор должен исполняться на процессоре), но, мне кажется, что ответить на ваш вопрос просто нельзя, пока нет четкого осознания, что такое "другая архитектура". С другой стороны языки являются отражением той или иной модели вычислений, если предложить новую модель, то для описания вычислений в такой модели понадобится новый язык, но будет ли он принципиально другим, и понадобится для него принципиально другой процессор не понятно (как пример, императивные языки vs декларативные, и те и те исполняются на одних процессорах).
    Ответ написан
    Комментировать
  • Как написать реал-тайм онлайн игру? Методология, паттерны, статьи?

    @kazmiruk
    Вы задаете более-менее правильные вопросы, но на них нет правильных ответов. Каждый случай очень индивидуальный и кратким ответом тут не обойтись, тут нужны лекции с тоннами теории. Я в свое время писал игры: php (api) + flash (клиент) + C++ (сервер) + mysql (база данных) + memcache (кеш), php (api) + python gevent (сервер) + mongodb (база данных) + redis (кеш) + html5 (клиент), nodejs (сервер) + html5 (клиент) + redis (кеш) + postgresql (база данных). Все они были довольно проивзодительными. Такое разнообразие технологий отчасти обуславливалось моим любопытством (проект на nodejs писал для себя).
    В целом пытаясь ответить на Ваши вопросы:
    1. Не совсем понятно что Вы имеете ввиду. Уточните вопрос.
    2. Лучше всего передавать на сервер все действия клиента и обсчет производить на сервере для невозможности подделывания результатов действий, но это приводит к возрастанию нагрузки на сервер. Протокол - мне нравится bson с готовыми библиотеками, понятным форматом и небольшим размером. Но опять же его я использовал только во втором проекте, в остальных местах я создавал свои велосипеды, которые для конкретных случаев были наиболее эффективны (в моем представлении)
    3. В базе хранить все, что не должно пропадать между играми (условно говоря после выключения сервера ;)), в оперативной памяти дублировать все в идеале (для избавления от операций чтения с диска).
    4. Зависит от потребностей. Postgresql\mysql - более традиционны. Mongodb - модная ) Если Вы понимаете, что в Вашей игре вы можете пережить ограничения mongodb (к примеру отсутствие транзакций) - юзайте его, очень удобен для хранения игровых состояний. Если не уверены - используйте традиционные реляционки.
    5. Кеширование по сути и есть перемещение данных из БД в оперативную память. Причем перемещается таким образом, что скорость выборки из оперативной памяти не зависит от количества данных. Это так называемые хэш-таблицы.

    В общем, без обид, но судя по Вашим вопросам Вам надо очень серьезно подтянуть теорию, прежде чем браться за серьезную игру. Писать серверную часть на С++ - круто, если Вы его знаете на отлично. В целом большого профита Вы не получите, так как скорость С++ проявляется в числодробилках. А игровой сервер - в основном операции чтения\записи, которые будут одинаково выполняться на практически любом современном языке и их скорость больше зависит от построенной архитектуры.
    Мои рекомендации: читать про блокирующие\неблокирующие сокеты, многопточность, структуры данных, паттерны проектирования, оптимизация запросов (включая нормализацию и денормализацию данных), кеширование. Параллельно с этим можно делать простенький чатик постепенно улучшая и оптимизируя его. Таким образом Вы приобретете и теорию, и практику. После этого можно сделать какую-нибудь простенькую игру.
    Ответ написан
    4 комментария
  • Как поменять радиатор на нет-топе?

    riddans
    @riddans
    С виду стандартная ноутбучная охлаждайка. Должен подойти любой ноутбучный вентилятор бюджетного сегмента. В крайнем случае примените кошерную синюю изоленту.
    Ответ написан
    5 комментариев
  • Как программно определить размыто ли изображение?

    GavriKos
    @GavriKos
    Вам нужно определять количество "деталей" в кадре. Например вот тут описан пример: www.tusur.ru/filearchive/reports-magazine/2012-26-...
    Можно попробовать заморочится с плотностью однородных пикселей еще. Но ели пользователь захочет загрузить картинку с модным бокэ - что вы будете делать? Да и фото фото рознь... В каком то размытие может быть в пределах номры для данной композици..
    Ответ написан
    Комментировать
  • Какая программа сможет генерировать изображения разных размеров?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    bash + imagemagick.

    Вообще если вы в фотошопе работаете, не проще ли написать под него скриптик?
    Ответ написан
    Комментировать
  • Как проверить скорость выполнения кода на C++?

    Trrrrr
    @Trrrrr
    Если это Windows, то я бы порекомендовал бы использовать QueryPerfomanceCounter.
    void StartCounter()
    {
        LARGE_INTEGER li;
        if(!QueryPerformanceFrequency(&li))
    	cout << "QueryPerformanceFrequency failed!\n";
    
        PCFreq = double(li.QuadPart)/1000.0;
    
        QueryPerformanceCounter(&li);
        CounterStart = li.QuadPart;
    }
    double GetCounter()
    {
        LARGE_INTEGER li;
        QueryPerformanceCounter(&li);
        return double(li.QuadPart-CounterStart)/PCFreq;
    }
    
    int main()
    {
        StartCounter();
        // твой код тут
        cout << GetCounter() <<"\n";
        return 0;
    }
    Ответ написан
    Комментировать
  • Как подсчитать объем?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Достаточно для каждой грани
    vertex x1 y1 z1
    vertex x2 y2 z2
    vertex x3 y3 z3
    посчитать величину Vj=(x1*(y2*z3-y3*z2)+x2*(y3*z1-y1*z3)+x3*(y1*z2-y2*z1))/6, и найти сумму этих величин (часть из них будет отрицательной, но это не страшно). Для замкнутой модели она и будет искомым объёмом.

    Работать проще с бинарным STL - там не нужно тратить силы на синтаксический разбор.
    Ответ написан
    6 комментариев
  • Где найти статьи по WebGL? Есть ли готовые библиотеки для упрощения разработки?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    three.js - фактически монополист в этом сегменте. Есть мини ide threejs.org/editor хотя как по мне, годится она лишь для перегонки моделек в формат движка и настройки источников света на них.
    Есть какие-нить библиотеки ориентированные на разработку игр?

    Для физики посмотрите еще
    https://github.com/lo-th/Oimo.js/
    или
    https://github.com/kripken/ammo.js/
    Также можно глянуть различные библиотеки поиска пути
    https://www.google.com/search?q=javascript+pathfin...
    Ответ написан
    1 комментарий
  • Бывает ли в продаже дешевая 3d камера?

    Lerg
    @Lerg
    Defold, Corona, Lua, GameDev
    Asus xtion pro - более дешевый датчик глубины. Я как раз продаю один, не пригодился для робота.
    Ответ написан
    1 комментарий
  • Как смазать линию?

    @xandox
    Используй свертку.
    В крадце - выбираешь окно (масив какой-то длины, 3,5,7) элементы которого некие коэфиценты. Этим окном проходишься по массиву. Новое значение элимента масива это сумма взешеных элиментов которые попадают в окно делнная на длину окна. Например что бы посчитать усреднить с соседями нужно окно [1,1,1]. Нужно только определиться, что делать с краями. Обычно их или игнорируют или считают так, что за концом следует начало, ну и на оборот. Надеюсь понятно объяснил. Если что спрашивай.
    Ответ написан
    Комментировать
  • Как осуществить 3d редактор модели человека в браузере?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Единственный пожалуй нормальный вариант: WebGL + полифилы для легаси браузеров или фэлбэк для flash.

    По поводу же мобильных устройств - то либо писать нативные клиенты либо просто забить.

    Вообще задача интересная, но сложная (учитывая, я так понимаю, что с 3D графикой и анимацией вы не работали) и кропотливая. Можно взять three.js, к которому есть массы статей и по скелетной анимации персонажей, и вообще по деформации объектов.
    Ответ написан
    Комментировать
  • Как в Three.js отрисовать изображение по верх всего?

    sozercanie_kosmosa
    @sozercanie_kosmosa
    Для этого нужно создать еще одну камеру которую мы не будем двигать:
    otherCamera = new THREE.PerspectiveCamera( fov, width / height, near, far );
    её необходимо направить прямо на объект.
    Создаем еще одну сцену:
    var otherScene = new THREE.Scene();
    добавить на эту сцену объект, который должен быть всегда сверху:
    otherScene.add(objAlwaysOnTop);
    на объект можно натянуть текстуру с картинкой.
    Далее необходимо вставить в место, где происходит рендеринг это:
    enderer.clear();  // отчищаем все буферы
    renderer.render(mainScene, camera); // рендерим главную сцену
    renderer.clear(false, true, false); // отчищаем только буфер глубины
    renderer.render(otherScene, otherCamera);// рендерим статичную сцену
    Все!

    Есть еще способ который гораздо проще:
    var texture = new THREE.ImageUtils.loadTexture( 'images/pic.jpg' );
    	texture.wrapS = texture.wrapT = THREE.RepeatWrapping;
    	texture.repeat.set( 0.5, 0.5 );
    	var spriteMaterial = new THREE.SpriteMaterial( {map: texture, useScreenCoordinates: true, alignment: THREE.SpriteAlignment.topLeft } );
    	sprite = new THREE.Sprite( spriteMaterial );
    	sprite.scale.set(100,100,1.0);
    	sprite.position.set( 0, 0, -1 );
    	mainScene.add( sprite );


    от 30.08.2014 последний способ для последних версий Three.js к сожалению уже не актуален.
    Ответ написан
    Комментировать