Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 17.01.2018
Сообщений: 1
1

Подскажите куда копать

17.01.2018, 07:37. Показов 798. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. С JS практически не работал, нужно набросать фронт, надеюсь что натолкнете на пример.
Упрощу задачу:
Нужно нарисовать кучу сложных кубиков ( с данными внутри) связанных стрелками.
Не знаю как реализовать свободное перетаскивание этих кубиков ( с кешированием положения), и чтобы стрелки к ним привязанные перестраивались автоматически (не пересекая другие кубики).
Делать все руками ? (расчет координат, клик мыши, перестроение...) Или есть где-то готовые библиотеки? натолкните на пример.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2018, 07:37
Ответы с готовыми решениями:

Дали задание, понятия не имею куда копать. Куда копать и в каком направлении?
Собственно и условие задачи: Есть почти ссылка: http://tinyurl.com/DA 9D C5 DE DD Нужно...

Подскажите куда копать
Здравствуйте, форумчане помогите решить задачу или подскажите решить. суть задачи вывести из...

Приближение ломаной, подскажите куда копать
Доброго времени суток! Столкнула жизнь со следующей задачкой: Есть пачка точек на плоскости (не...

Из БД в тысячи автоматически созданные файлы. Подскажите возможно ли? куда копать
Будем делать инвентаризацию . Будем описывать несколько тысяч объектов, у каждого объекта...

1
5159 / 2771 / 465
Регистрация: 05.10.2013
Сообщений: 7,323
Записей в блоге: 149
17.01.2018, 22:21 2
Цитата Сообщение от SkrAn Посмотреть сообщение
Делать все руками ? (расчет координат, клик мыши, перестроение...)
Либо делать на чистом WebGL

Небольшие примеры на WebGL

Цитата Сообщение от SkrAn Посмотреть сообщение
Или есть где-то готовые библиотеки? натолкните на пример.
Либо взять какую-нибудь библиотеку-обёртку над WebGL:
Пример кубика на Three.js

Песочница: https://plnkr.co/edit/BzDbfrep... ?p=preview

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <title>Three.js - Cube</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/89/three.min.js"></script>
 
    <style>
        body {
            margin: 0;
        }
 
        canvas {
            width: 100%;
            height: 100%
        }
    </style>
</head>
 
<body>
    <script>
        var scene = new THREE.Scene();
        var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
 
        var renderer = new THREE.WebGLRenderer();
        renderer.setSize(window.innerWidth, window.innerHeight);
        document.body.appendChild(renderer.domElement);
 
        var geometry = new THREE.BoxGeometry(1, 1, 1);
        var material = new THREE.MeshLambertMaterial({ color: 0x00ff00 });
        var cube = new THREE.Mesh(geometry, material);
        scene.add(cube);
 
        camera.position.z = 3;
        
        var directionalLight = new THREE.DirectionalLight(0xffffff, 0.5);
        directionalLight.position = new THREE.Vector3(1, 1, 1);
        scene.add(directionalLight);
        
        var light = new THREE.AmbientLight( 0x404040 ); // soft white light
        scene.add(light);
 
        var animate = function ()
        {
            requestAnimationFrame(animate);
 
            cube.rotation.x += 0.01;
            cube.rotation.y += 0.01;
 
            renderer.render(scene, camera);
        };
 
        animate();
    </script>
</body>
 
</html>
Добавлено через 16 минут
Пример кубика на Babylon.js

Песочница: https://plnkr.co/edit/D49RTr5U... ?p=preview

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <title>BabylonJS - Getting Started</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babylonjs/2.5.0/babylon.js"></script>
 
    <style>
        html,
        body {
            overflow: hidden;
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }
 
        #renderCanvas {
            width: 100%;
            height: 100%;
            touch-action: none;
        }
    </style>
</head>
 
<body>
    <canvas id="renderCanvas"></canvas>
 
    <script>
        window.addEventListener('DOMContentLoaded', function ()
        {
            // get the canvas DOM element
            var canvas = document.getElementById('renderCanvas');
 
            // load the 3D engine
            var engine = new BABYLON.Engine(canvas, true);
            
            var cube;
 
            // createScene function that creates and return the scene
            var createScene = function ()
            {
                // create a basic BJS Scene object
                var scene = new BABYLON.Scene(engine);
 
                // create a FreeCamera, and set its position to (x:0, y:5, z:-10)
                var camera = new BABYLON.FreeCamera('camera1', new BABYLON.Vector3(0, 0, 5), scene);
 
                // target the camera to scene origin
                camera.setTarget(BABYLON.Vector3.Zero());
 
                // attach the camera to the canvas
                camera.attachControl(canvas, false);
 
                // create a basic light, aiming 0,1,0 - meaning, to the sky
                var light = new BABYLON.HemisphericLight('light1', new BABYLON.Vector3(0, 1, 0), scene);
 
                // create a built-in "cube" shape; its constructor takes 5 params: name, width, height, depth, scene
                cube = BABYLON.MeshBuilder.CreateBox("box", {width: 1, height: 1, depth: 1}, scene);
 
                // return the created scene
                return scene;
            }
 
            // call the createScene function
            var scene = createScene();
 
            // run the render loop
            engine.runRenderLoop(function ()
            {
                cube.rotation.x += 0.01;
                cube.rotation.y += 0.01;
                scene.render();
            });
 
            // the canvas/window resize event handler
            window.addEventListener('resize', function ()            
            {
                engine.resize();
            });
        });
    </script>
</body>
 
</html>
2
17.01.2018, 22:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2018, 22:21
Помогаю со студенческими работами здесь

Перебор файлов на диске. Работа с путями к файлам. Подскажите, куда копать :)
Всем приветы! Изучаю delphi, делаю небольшую программку по подсчету текстовых файлов и ведения...

BlueScreen FFFFFA7FFFFFFFD0, 002, 0001 и FFFFF800028D7AE3, подскажите пожалуйста куда копать?
Помогите пожалуйста найти причину &quot;синей смерти&quot; Значит есть комп на 7. Всё было замечательно,...

Куда копать?)
Добрый вечер. Подскажите пожалуйста, с помощью какие элементов можно реализовать данную программу?...

Куда копать?
Собственно начну с начала. Все было хорошо,скачал установил игру,сначала играл вроде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru