diff --git a/components/src/lens.js b/components/src/lens.js new file mode 100644 index 0000000000000000000000000000000000000000..ce4b9043101e75f763bdf9764974020cf27f99f6 --- /dev/null +++ b/components/src/lens.js @@ -0,0 +1,44 @@ + import * as THREE from 'three'; + + // lens + export function lens(param) { + const lensContiner = new THREE.Object3D(); + const lensObject = new THREE.Object3D(); + + //cylinder mid + const cylgeometry = new THREE.CylinderGeometry(65, 65, 30, 20); + const cylmaterial = new THREE.MeshLambertMaterial({color: 0xc7c7c7}); + const cylmesh = new THREE.Mesh(cylgeometry, cylmaterial); + cylmesh.rotateX(Math.PI * 1); + cylmesh.rotateY(Math.PI * 1.0); + cylmesh.rotateZ(Math.PI * 1.5); + cylmesh.position.set(0, 0 , 0); + lensObject.add(cylmesh); + + //cylinder center + const cyl2geometry = new THREE.CylinderGeometry(45, 45, 31, 20); + const cyl2material = new THREE.MeshLambertMaterial({color: 0x737373}); + const cyl2mesh = new THREE.Mesh(cyl2geometry, cyl2material); + cyl2mesh.rotateX(Math.PI * 1); + cyl2mesh.rotateY(Math.PI * 1.0); + cyl2mesh.rotateZ(Math.PI * 1.5); + cyl2mesh.position.set(0, 0 , 0); + lensObject.add(cyl2mesh); + + // base1 + const basegeometry = new THREE.BoxGeometry(29, 160, 60 ); + const basemesh = new THREE.Mesh(basegeometry, cylmaterial); + basemesh.position.set(0, -40, 0); + lensObject.add(basemesh); + + + lensObject.scale.setX(1); + lensObject.scale.setY(1); + lensObject.scale.setZ(1); + lensObject.position.set(0, 0, 0); + lensContiner.add(lensObject); + lensContiner.rotateY(Math.PI * -1); + + + return lensContiner; + }