1 # Clase 12-04-24 2 3 \tableofcontents 4 5 ## Geometrias 6 ### Superficies de Revolucion 7 8 ### [LatheGeombetry](https://threejs.org/docs/#api/en/geometries/LatheGeometry) 9 10 Genera superficies de revolución a partir de una forma, no interpola las 11 normales 12 13 ### ExtrudeGeometry 14 15 * Shape 16 * Path 17 18 ### ConvexGeometry 19 20 Genera el polígono más chico que encierra a una nube de puntos 21 22 ### ParametricGeometry 23 24 Permite implementar superficies de barrido 25 26 ```js 27 const geometry = new THREE.ParametricGeometry( THREE.ParametricGeometries.klein, 25, 25 ); 28 ``` 29 30 * `u` y `v` varían siempre entre 0 y 1 independiente del tamaño de la superficie 31 32 ### ShapeGeometry 33 34 ### TubeGeometry 35 36 ### SDFGeometry 37 38 * shadertoy -> Raymarching 39 40 ### [InstancedBufferGeometry](https://threejs.org/docs/#api/en/core/InstancedBufferGeometry) 41 42 ### Curvas de Bézier 43 44 > Controlar la tangente de la curva 45 46 Permite realizar curvas a tramos mucho más fácil que con puntos, luego para 47 representarla o utilizarla se discretiza 48 49 Puntos de control 50 51 #### Quadratic Bézier 52 53 #### Cubic Bézier 54 55 `getPoint(t)` devuelve el valor de la curva analíticamente 56 57 `getPointAt(u)` devuelve el valor de la curva al evaluar `u` en `lookUpTable` 58 59 * La distancia minima para dibujar una curva son 4 puntos de control 60 61 ### Catmull-Rom Spline 62 63 > Documental ILM: LIGHT & MAGIC (2022) 64 65 Son similares a las curvas de bezier pero permite calcular una curva suave que 66 pasa por un conjunto determinado de puntos 67 68 ### [Frenet Frames](https://janakiev.com/blog/framing-parametric-curves) 69 70 Es un algoritmo que permite obtener un vector tangente 71 72 `TubeGeometry`