Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
strangerintheq

Stranger in the Q

z = z*z + с
  • 13
    вклад
  • 0
    вопросов
  • 10
    ответов
  • 90%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Как обьект преобразовать в массив?

    strangerintheq
    Stranger in the Q @strangerintheq
    z = z*z + с
    формально это возможно, массив ведь тоже объект, однако зачем так делать - загадка

    const obj = {name: 'Иван', surname: 'Иванов'}
    const arr = Array(0);
    Object.keys(obj).forEach(key => arr[key] = obj[key]);
    console.log(arr);


    5f884c5ec70d6937540833.png
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как сделать при помощи js или других средств такой пробел без JQuery?

    strangerintheq
    Stranger in the Q @strangerintheq
    z = z*z + с
    new Intl.NumberFormat().format(10000)
    Ответ написан более двух лет назад
    2 комментария
    2 комментария
  • Export/Import не могу оперировать данными в косоли. Что делать?

    strangerintheq
    Stranger in the Q @strangerintheq
    z = z*z + с
    И не должны, в глобальной области видимости не определено свойства time, у Вас же модули, область видимости модуля остается внутри модуля.

    Если очень хочется Вы можете добавить ссылку на объект в глобальный скоуп руками:

    window.time = time;
    Ответ написан более двух лет назад
    4 комментария
    4 комментария
  • Как применить разные текстуры к сторонам icosahedron?

    strangerintheq
    Stranger in the Q @strangerintheq
    z = z*z + с
    https://codepen.io/strangerintheq/pen/abNrYdj

    Вот разные геометрии

    const meshes = [
          new THREE.BoxGeometry(),
          new THREE.SphereGeometry(),
          new THREE.CylinderGeometry(),
          new THREE.ConeGeometry(),
          new THREE.IcosahedronGeometry(),
          new THREE.OctahedronGeometry(),
          new THREE.TorusGeometry(),
          new THREE.TorusKnotGeometry(),
          new THREE.DodecahedronGeometry(),
    ].map(geometry => new THREE.Mesh( geometry, materials ));


    У каждого face геометрии есть materialIndex, смотрим на них:

    console.log(meshes.map(mat => [
        mat.geometry.type, 
        mat.geometry.faces.map(face => face.materialIndex).join('')
    ]));


    И видим, что разные индексы есть далеко не везде:

    0: (2) ["BoxGeometry", "001122334455"]
    1: (2) ["SphereGeometry", "00000000000000000000000000000000000000000000000000000000000000000000000000000000"]
    2: (2) ["CylinderGeometry", "00000000000000001111111122222222"]
    3: (2) ["ConeGeometry", "0000000022222222"]
    4: (2) ["IcosahedronGeometry", "00000000000000000000"]
    5: (2) ["OctahedronGeometry", "00000000"]
    6: (2) ["TorusGeometry", "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]
    7: (2) ["TorusKnotGeometry", "00000000000000000000000000000000000000000000000000…0000000000000000000000000000000000000000000000000"]
    8: (2) ["DodecahedronGeometry", "000000000000000000000000000000000000"]
    Ответ написан более двух лет назад
    7 комментариев
    7 комментариев
  • Что не так с кодом?

    strangerintheq
    Stranger in the Q @strangerintheq
    z = z*z + с
    В onclick необходимо не передать ссылку на функцию, а вызвать её:

    <input type='button' value='Заказать' onClick="vibor()">
    Ответ написан более двух лет назад
    1 комментарий
    1 комментарий
  • Как сделать так чтобы анимация gltf модели воспроизводилась в three js?

    strangerintheq
    Stranger in the Q @strangerintheq
    z = z*z + с
    Загружаем модель, выбираем проигрываемую анимацию:

    const gltfLoader = new THREE.GLTFLoader();
    const clock = new THREE.Clock();
    
    let mixer;
    
    gltfLoader.load( "model.gltf", model =>  {
        mixer = new THREE.AnimationMixer(model.scene);
        mixer.clipAction(model.animations[0]).play();  // <- первая по списку анимация
        scene.add(model.scene);
    });


    И потом в requestAnimationFrame обновляем время:

    mixer.update( clock.getDelta() )
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как врашать объекты в threejs с помощью мыши?

    strangerintheq
    Stranger in the Q @strangerintheq
    z = z*z + с
    Можно, но необходимо будет вручную пытаться определить какой же Вы объект собрались вращать.

    Например можно поделить экран на 3 области, закрыть их прозрачными элементами и на них уже повесить слушатели мыши, которые будут вращать объекты.

    Или, вариант 2: вешать один слушатель, но анализировать координату по X, определять в какую из третей экрана она попала при начале перетаскивания - тот объект и вращать.
    Ответ написан более двух лет назад
    2 комментария
    2 комментария
  • Почему XOR 0 убирает дробную часть числа?

    strangerintheq
    Stranger in the Q @strangerintheq
    z = z*z + с
    все побитовые операции в js приводят сначала число к целому

    https://learn.javascript.ru/bitwise-operators

    Побитовые операторы работают следующим образом:

    1. Операнды преобразуются в 32-битные целые числа, представленные последовательностью битов. Дробная часть, если она есть, отбрасывается.
    2. Для бинарных операторов – каждый бит в первом операнде рассматривается вместе с соответствующим битом второго операнда: первый бит с первым, второй со вторым и т.п. Оператор применяется к каждой паре бит, давая соответствующий бит результата.
    3. Получившаяся в результате последовательность бит интерпретируется как обычное число.
    Ответ написан более двух лет назад
    2 комментария
    2 комментария
  • Как правильно делать векторный JS-редактор для экспорта SVG?

    strangerintheq
    Stranger in the Q @strangerintheq
    z = z*z + с
    я что-то похожее делал на d3 https://codepen.io/strangerintheq/pen/LYpGEjb

    5e96c3dbe4faa297484050.png
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как нарисовать букву S на SVG?

    strangerintheq
    Stranger in the Q @strangerintheq
    z = z*z + с
    Редактор тут не нужен, тут нужны кривые Безье:

    2 квадратичных и 2 кубических:

    <svg width="320px" height="320px" viewBox="0 0 16 16">
      <path fill="none" stroke="#333" stroke-width="2" d="
        m 3 10
        c 0 4 8 4 8 0
        q 0 -2 -4 -3 
        q -4 -1 -4 -3 
        c 0 -4 8 -4 8 0
        "></path>
    </svg>


    или 3 кубических:

    <svg width="175px" height="175px" viewBox="0 0 16 16">
      <path fill="none" stroke="#333" stroke-width="2" d="
        m 3 10
        c 0 4 8 4 8 0
        c 0 -4 -8 -2 -8 -6 
        c 0 -4 8 -4 8 0
        "></path>
    </svg>
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
Самые активные сегодня
  • Sozdavan
    • 15 ответов
    • 0 вопросов
  • Evgenii
    • 9 ответов
    • 0 вопросов
  • Dr. Bacon
    • 9 ответов
    • 0 вопросов
  • Drno
    • 6 ответов
    • 0 вопросов
  • Денис
    • 5 ответов
    • 1 вопрос
  • delphinpro
    Сергей delphinpro
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации