JSFiddle - React, Tailwind, and code Playground
by minagabriel
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="info">
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/84/three.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js">
</script>
JavaScript
var scene, renderer, camera;
var controls;
init();
animate();
function init() {
var width = window.innerWidth;
var height = window.innerHeight;
renderer = new THREE.WebGLRenderer({
antialias: true
});
renderer.setSize(width, height);
renderer.setClearColor(0x031C4D);
document.body.appendChild(renderer.domElement);
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(45, width / height, 1, 10000);
camera.position.y = 300;
camera.position.z = 300;
camera.lookAt(new THREE.Vector3(0, 0, 0));
controls = new THREE.OrbitControls(camera, renderer.domElement);
var gridXZ = new THREE.GridHelper(200, 20, 'red', 'white');
scene.add(gridXZ);
window.addEventListener('resize', onWindowResize, false);
var geometry = new THREE.SphereGeometry(3, 32, 32);
var material = new THREE.MeshBasicMaterial({
color: 0xffff00
});
var sphere = new THREE.Mesh(geometry, material);
scene.add(sphere);
data = [];
transposition = [
[1, 0, 0, 1],
[1, 0, -1, 1],
[0, 0, -1, 1],
[-1, 0, -1, 1],
[-1, 0, 0, 1],
[-1, 0, 1, 1],
[0, 0, 1, 1],
[1, 0, 1, 1]
];
for (var i = -10; i <= 10; i = i + 1) {
for (var j = -10; j <= 10; j = j + 1) {
var vertex = new THREE.Vector4(i, 0, j, 1).multiplyScalar(10);
//console.log("**************", vertex, "***********************")
list = {}
list.v = vertex;
list.a = [];
list.color = 'white';
$.each(transposition, function(index, value) {
x = value[0];
y = value[1];
z = value[2];
w = value[3];
var translationMatrix = new THREE.Matrix4();
translationMatrix.set(
1, 0, 0, x,
0, 1, 0, y,
0, 0, 1, z,
0, 0, 0, 1
);
var vertex = new THREE.Vector4(i, 0, j, 1);
// adjacant = vertex.applyMatrix4(translationMatrix).multiplyScalar(10);
adjacant = vertex.applyMatrix4(translationMatrix).multiplyScalar(10);
//...