Advertisement
Guest User

Untitled

a guest
Oct 19th, 2018
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset=utf-8>
  5. <title>My first three.js app</title>
  6. <style>
  7. body { margin: 0; }
  8. canvas { width: 100%; height: 100% }
  9. </style>
  10. </head>
  11. <body>
  12. <script src="three.js"></script>
  13. <script>
  14. var scene = new THREE.Scene();
  15. var camera = new THREE.PerspectiveCamera( 1000, window.innerWidth / window.innerHeight, 0.1, 1000 );
  16.  
  17. var renderer = new THREE.WebGLRenderer();
  18.  
  19. camera.position.z = 5;
  20.  
  21. renderer.setSize( window.innerWidth, window.innerHeight );
  22. document.body.appendChild( renderer.domElement );
  23.  
  24.  
  25. document.addEventListener('keydown', (event) => {
  26. const keyName = event.key;
  27. // console.log(event.keyCode);
  28. if(event.keyCode == 38){
  29. // cube.position.y += 0.2;
  30. mesh.rotation.y += 0.1;
  31. }else if (event.keyCode == 104){
  32. // cube.position.x += 0.2;
  33. mesh.rotation.x += 0.1;
  34. }else if (event.keyCode == 102){
  35. // cube.position.y -= 0.2;
  36. mesh.rotation.y -= 0.1;
  37. }else if (event.keyCode == 100){
  38. // cube.position.x -= 0.2;
  39. mesh.rotation.x -= 0.1;
  40. }else if (event.keyCode == 98){
  41. // cube.position.y -= 0.2;
  42. mesh.rotation.y -= 0.1;
  43. }else if (event.keyCode == 103){
  44. // cube.position.x -= 0.2;
  45. mesh.rotation.z -= 0.1;
  46. }else if (event.keyCode == 105){
  47. // cube.position.x -= 0.2;
  48. mesh.rotation.z -= 0.1;
  49. }
  50.  
  51. });
  52.  
  53.  
  54.  
  55. var geometry = new THREE.Geometry();
  56. var material = new THREE.MeshBasicMaterial({ color: 0xFFF, wireframe: true});
  57.  
  58. var r = 3;
  59. for (var i = 0; i <= 360; i++){
  60. geometry.vertices.push( new THREE.Vector3(r*Math.cos(i/180 * Math.PI), Math.sin(i/180 * Math.PI), 1));
  61. }
  62.  
  63. // geometry.vertices.push(
  64.  
  65. // );
  66.  
  67. for (var i = 0; i <= 360 - 2; i++){
  68. geometry.faces.push( new THREE.Face3(i, i+1, i+2));
  69. }
  70.  
  71. geometry.computeBoundingSphere();
  72.  
  73. var mesh = new THREE.Mesh(geometry, material);
  74. scene.add(mesh);
  75.  
  76. var geometry2 = geometry.clone();
  77. var mesh2 = new THREE.Mesh(geometry2, material);
  78.  
  79. mesh2.position.y += 2.5;
  80.  
  81.  
  82. console.log();
  83. scene.add(mesh2);
  84.  
  85. var newgeo = new THREE.Geometry();
  86.  
  87. // newgeo.merge(geometry);
  88. // newgeo.merge(geometry2);
  89.  
  90. linematerial = new THREE.LineBasicMaterial({ color: 0xFFF });
  91.  
  92. var lines = [];
  93. var tempLine = [];
  94. for (var i = 0; i < 360; i++) {
  95. lines[i] = new THREE.Geometry();
  96.  
  97. lines[i].vertices.push(
  98. geometry.vertices[i],
  99. mesh2.geometry.vertices[i],
  100. );
  101.  
  102. // tempLine[i] = new THREE.Line(lines[i], linematerial);
  103. // tempLine[i].computeLineDistances();
  104.  
  105. // scene.add(lines[i]);
  106. }
  107.  
  108. console.log(lines[0].vertices);
  109. var finalgeo = new THREE.Geometry();
  110. // for (var i = 0; i <= 360 - 2; i++){
  111. // finalgeo.faces.push( lines[i].vertices );
  112. // }
  113.  
  114. finalgeo.computeBoundingSphere();
  115.  
  116. var mesh23 = new THREE.Mesh(finalgeo, material);
  117. scene.add(mesh23);
  118.  
  119.  
  120.  
  121.  
  122.  
  123. function animate() {
  124. requestAnimationFrame( animate );
  125.  
  126. // mesh.rotation.z += 0.02;
  127. // mesh.rotation.x += 0.02;
  128. // mesh.rotation.y += 0.02;
  129.  
  130. renderer.render( scene, camera );
  131. }
  132. animate();
  133.  
  134. </script>
  135. </body>
  136. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement