실용 양자 컴퓨팅 현황 (Status of Practical Quantum Computing)Joo-Won Jung
YouTube: https://www.youtube.com/watch?v=GbARqdkcMo4
에서 사용했던 slide입니다.
양자 컴퓨팅 (quantum computing)을 조사해 본 결과를 공유합니다.
실제로 양자 컴퓨터를 써 볼수 있을 정도로 기술이 발전했더군요.
This is a presentation given at the Center for Nonprofit Excellence on useful legal and compliance tips for officers and directors of nonprofit organizations. The featured speaker was Richmond, Virginia business and nonprofit attorney Eric Perkins, who also shared with the group his Five Finger Philosophy of Nonprofit Board Composition. Which finger are you? Email eric@ericperkinslaw.com for copies of the program handouts.
실용 양자 컴퓨팅 현황 (Status of Practical Quantum Computing)Joo-Won Jung
YouTube: https://www.youtube.com/watch?v=GbARqdkcMo4
에서 사용했던 slide입니다.
양자 컴퓨팅 (quantum computing)을 조사해 본 결과를 공유합니다.
실제로 양자 컴퓨터를 써 볼수 있을 정도로 기술이 발전했더군요.
This is a presentation given at the Center for Nonprofit Excellence on useful legal and compliance tips for officers and directors of nonprofit organizations. The featured speaker was Richmond, Virginia business and nonprofit attorney Eric Perkins, who also shared with the group his Five Finger Philosophy of Nonprofit Board Composition. Which finger are you? Email eric@ericperkinslaw.com for copies of the program handouts.
Ben and Frank were just at Dartmouth Medical School taking about the science behind Gunner's approach. Check out the presentation and let us know if you like free Pizza (i.e. if you'd like us to visit your school to talk about USMLE prep, match, etc.)! :)
Ben and Frank were just at Dartmouth Medical School taking about the science behind Gunner's approach. Check out the presentation and let us know if you like free Pizza (i.e. if you'd like us to visit your school to talk about USMLE prep, match, etc.)! :)
#DEVIEW 2014
아직 기존 프론트엔드 기술로 된 웹에 머물러 계시나요? 매번 더 강력한 GPU를 내장하고 있는 PC, 모바일 기기 출시소식을 듣지만, 하드웨어 발전을 잘 활용하고 있기는커녕 더욱 고도화되는 요구사항 앞에 기존 웹페이지 랜더링 기술들은 한계에 봉착되어 있는 상황입니다. 기존 중심적인 그래픽 처리 방법인 DOM의 렌더링 한계를 극복하기 위해 WebGL을 활용하는 방안을 살펴봅니다. 과연 현재의 브라우저 환경이 WebGL을 적용하기에 적합한지 실제 조사자료를 통해 검증해보고, 기존의 프론트엔드 기술이 해소하기 어려웠던 부분을 Web GL로 극복하기 위해 진행했던 시행착오와 오픈소스 WebGL프레임워크를 개발하면서 알게된 여러 가지 경험을 나누는 자리를 갖고자 합니다. 본 세션은 이를 통해서 DOM 프로세싱으로 기존의 프론트엔드 개발에 한계에 봉착한 개발자들에게 새로운 프론트엔드 패러다임으로 안내하는 길잡이가 될거라 생각합니다.
4. Mesh
var sphereGeometry = new THREE.SphereGeometry( 4, 20, 20 );
var sphereMaterial = new THREE.MeshBasicMaterial({color:0x7777FF});
var sphere = new THREE.Mesh( sphereGeometry, sphereMaterial );
Geometry에서 오브젝트가 어떤 형태로 보여질지 정의. ( 그려질 영역 )
Material에서 영역이 어떻게 칠해질지 정의.
Mesh에서 Geometry와 Material을 결합.
6. Three.js에 이미 준비되어 있는 Geometry들.
geoms = [
new THREE.CylinderGeometry( 1, 4, 4 ),
new THREE.BoxGeometry( 2, 2, 2),
new THREE.SphereGeometry(2),
new THREE.IcosahedronGeometry(4),
new THREE.OctahedronGeometry(3),
new THREE.TetrahedronGeometry(3),
new THREE.TorusGeometry( 3, 1, 10, 10 ),
new THREE.TorusKnotGeometry( 3, 0.5, 50, 20 )
];
Material만 결합하면 Mesh를 생성하고 3D Scene에서 사용 가능
Vertex나 Face를 직접 정의할 필요는 없음.
Box 지오메트리를 만들기 위해서는 width, height, depth 만 지정하면 됨.
Vertex와 Face를 Three.js 라이브러리에서 생성해 줌.
DEMO
8. var verices = [
new THREE.Vector3( 3, 5, 3 ), // 0
new THREE.Vector3( 3, 5, 0 ), // 1
new THREE.Vector3( 3, 0, 3 ), // 2
new THREE.Vector3( 3, 0, 0 ), // 3
new THREE.Vector3( 0, 5, 0 ), // 4
new THREE.Vector3( 0, 5, 3 ), // 5
new THREE.Vector3( 0, 0, 0 ), // 6
new THREE.Vector3( 0, 0, 3 ) // 7
];
var faces = [
new THREE.Face3( 0, 2, 1 ),
new THREE.Face3( 2, 3, 1 ), // left
new THREE.Face3( 4, 6, 5 ),
new THREE.Face3( 6, 7, 5 ), // right
vertices : 각 점들의 위치를 정의.
faces : 점들을 연결하여 삼각형 face를 정의.
Material과 결합하여 Mesh를 생성할 수 있음.
DEMO
9. vertices update
/* 208 render loop */
mesh.geometry.vertices = vertices; // face를 다시 정의할 필요는 없음. face는 여전히 연결되어 있음.
mesh.geometry.verticesNeedUpdate = true; // 성능을 위해 업데이트 필요시 지정.
mesh.geometry.computeFaceNormals(); // face를 다시 계산.
clone
/* 100 gui */
var geometry = mesh.children[0].geometry.clone(), // Mesh 그룹의 첫번째 Mesh의 Geometry를 복사.
materials = [
new THREE.MeshLambertMaterial({opacity:0.6, color:0xFF44FF, transparent:true}),
new THREE.MeshBasicMaterial({color:0x000000, wireframe:true})
],
mesh2 = THREE.SceneUtils.createMultiMaterialObject( geometry, materials ); // 다른 Material과 결합.
10. multi material
/* 164 add mesh */
materials = [
new THREE.MeshLambertMaterial({opacity:0.6, color:0x44FF44, transparent:true}),
new THREE.MeshBasicMaterial({color:0x000000, wireframe:true})
];
geom.vertices = vertices;
geom.faces = faces;
geom.computeFaceNormals();
mesh = THREE.SceneUtils.createMultiMaterialObject( geom, materials);
mesh.children.forEach( function(e){e.castShadow = true; } ); // Mesh 그룹을 loop
scene.add(mesh);
THREE.SceneUtils.createMultiMaterialObject( geometry, [material, material, ...] )
각각의 Mesh를 생성하여 그룹을 지어주는 것