Herramientas de usuario

Herramientas del sitio


openscad:otras_funciones_y_operadores

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
openscad:otras_funciones_y_operadores [2018/08/12 01:31] – [Funciones matemáticas] albertoopenscad:otras_funciones_y_operadores [2018/08/12 23:32] (actual) – [Operadores para vectores] alberto
Línea 19: Línea 19:
  
 ===== Funciones matemáticas ===== ===== Funciones matemáticas =====
-  * **cos:** coseno. +  * **cos():** coseno. 
-  * **sin:** seno. +  * **sin():** seno. 
-  * **tan:** tangente. +  * **tan():** tangente. 
-  * **acos:** arcocoseno (sen<sup>-1</sup>). +  * **acos():** arcocoseno (sen<sup>-1</sup>). 
-  * **asin:** arcoseno (cos<sup>-1</sup>). +  * **asin():** arcoseno (cos<sup>-1</sup>). 
-  * **atan:** arcotangente (tg<sup>-1</sup>). +  * **atan():** arcotangente (tg<sup>-1</sup>). 
-  * **abs:** valor absoluto. +  * **abs():** valor absoluto. 
-  * **ceil:** devuelve el valor entero superior al argumento indicado.+  * **ceil():** devuelve el valor entero superior al argumento indicado
 +  * **concat():** Retorna un vector con los parámetros que se le introducen como elementos del vector. No resulta un string, si no un vector. 
 +  * **cross():** calcula el producto vectorial de dos vectores en un espacio 3D. Resulta un vector perpendicular a los ds vectores de entrada. 
 +  * **exp():** número 'e' elevado al número indicado. 
 +  * **floor():** devuelve el valor entero inferior al argumento indicado. 
 +  * **ln():** logaritmo neperiano. 
 +  * **len():** retorna el tamaño (número de elementos) de un array, vector o string. 
 +  * **let():** Sirve para asignar valores a variables dentro de una expresión. Su uso principal es el de expresiones complicadas más sencillas de leer. <code>let (var1 = value1, var2 = f(var1), var3 = g(var1, var2)) expression</code> Ejemplo: <code>echo(let(a = 135, s = sin(a), c = cos(a)) [ s, c ]); // ECHO: [0.707107, -0.707107]</code> 
 +  * **log():** logaritmo en base 10. 
 +  * **lookup():** Función de búsqueda en el que se definen 2 argumentos, el primero es el valor a buscar, el segundo es la tabla, vector o par llave-valor (listas) donde buscar. 
 +  * **max():** retorna el valor máximo del parámetro (vector) o parámetros introducidos. 
 +  * **min():** retorna el valor mínimo del parámetro (vector) o parámetros introducidos. 
 +  * **norm():**  longitud de un vector (norma vectorial). 
 +  * **pow():** potencia, en la que se introducen como parámetros en primer lugar la base, y después el exponente. 
 +  * **rands():** genera números aleatorios. Parámetros que acepta: 
 +    * //min_value:// Valor mínimo del rango de números aleatorios. 
 +    * //max_value:// Valor máximo del rango de números aleatorios. 
 +    * //value_count:// número de valores aleatorios que retornarán como elementos de un vector. 
 +    * //seed_value:// parámetro opcional. Número a partir del cual el algoritmo calculará los números aleatorios (tipo double). 
 +    * //round:// redondea al valor entero más cercano. 
 +    * //sign:// retorna el símbolo del número introducido como parámetro: positivo (1.0), negativo (-1.0) o en caso de que sea cero, retornará 0.0. 
 +    * //sqrt:// raíz cuadrad.
 ===== Otras funciones ====== ===== Otras funciones ======
 ==== ECHO ==== ==== ECHO ====
Línea 43: Línea 64:
  
 ==== Superficie==== ==== Superficie====
-surface()+La función surface() lee un "mapa de altura" o //heightmap// desde un archivo de texto o de imagen.\\ 
 +A continuación indico los parámetros: 
 +  * **file:** archivo de mapa de altura. 
 +  * **center:** parámetro de tipo booleano (true/false). True el objeto está centrado en los ejes XY, False está centrado en el primer cuadrante (por defecto). 
 +  * **invert:** parámetro de tipo booleano (true/false). Indica cómo se traducen los archivos de imagen a mapa de altura en función del color. False se troquelan (por defecto), True se ponen en relieve. La altura o profundidad dependerá del color del dibujo.  
 +  * **convexity:** valor entero que se utiliza en la previsualización de la figura, y que no tiene efecto en la renderización.
  
 +Esta función puede ser muy útil para troquelar imágenes en las piezas.
 ==== Búsqueda==== ==== Búsqueda====
-search()+La función search() busca una o más ocurrencias de un valor o lista de valores, en un vector, string o cualquier otro tipo de construcción.\\ 
 +Argumentos: 
 +  * **match_value:** valor a buscar o vector de valores a buscar. Los strings serán tratados como vectores de caracteres. 
 +  * **string_or_vector:** string o vector donde buscar coincidencias. 
 +  * **num_returns_per_match:** por defecto 1. Número de coincidencias a retornar. Si es '0', retornará todas las coincidencias en una lista de listas. 
 +  * **index_col_num:** por defecto 0. 
  
 +Función de búsqueda general y muy potente, aunque puede resultar compleja en algunas ocasiones. Más información en la [[https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#Search_Usage_Examples|página oficial de OpenSCAD]].
 ==== Versión ==== ==== Versión ====
-version()+Existen dos funciones para comprobar la versión de OpenSCAD: 
 +  * **version():** retorna la versión de OpenSCAD como un vector. 
 +  * **version_num():** retorna la versión de OpenSCAD como un número.
  
 ==== Mensaje de error ==== ==== Mensaje de error ====
-assert()+Para generar mensajes de error se utiliza la función assert(). Puede ser útil, por ejemplo, para comprobar que los parámetros introducidos a una función creada por el usuario son válidos.\\ 
 +La función assert() lleva como parámetro una condición, que en caso de resultar False, se produce un error en la compilación. Muy útil si se combina con Echo para devolver mensajes de error concretos.
  
 +===== Operadores =====
 +==== Operadores aritméticos ====
 +  * **+** suma.
 +  * **-** resta.
 +  * ***** multiplicación.
 +  * **/** división.
 +  * **%** módulo.
  
-===== Bucles ===== +==== Operadores relacionales ==== 
-==== FOR ==== +  * **<** menor. 
-for() +  * **<=** menor o igual. 
-intersection_for()+  * **==** igual. 
 +  * **!=** no igual. 
 +  * **>=** mayor. 
 +  * **>** mayor o igual.
  
-==== IF ==== +==== Operadores lógicos ==== 
-if() +  * **&&** AND. 
-else if() +  * **||** OR. 
-else+  * **!** NOT.
  
-==== Condicional ==== +==== Operador condicionales ==== 
-?:+  * **?:** Se evalúa la condición, si es TRUE se realiza la primera acción, si es FALSE la segunda. <code>condición**?**acción1**:**acción2</code>
  
-==== Funciones recursivas ====+==== Operadores para vectores ==== 
 +  * *****  
 +    * Multiplica todos los elementos de un vector por un número.  
 +    * Si la multiplicación es entre dos vectores, se realiza un producto escalar. 
 +    * Si alguno de los factores es una matriz, se realiza multiplicación de matrices. 
 +  * **/** divide todos los elementos de un vector por un número. 
 +  * **+** suma de vectores, resulta otro vector. 
 +  * **-** resta de vectores, resulta otro vector.
  
-==== Asignación de valor a variables ==== 
-let() 
  
-===== Listas ===== 
  
-===== Operadores ===== 
-==== Operadores matemáticos ==== 
-Escalares asimétricos 
-Relacionales 
-Lógicos 
-Condicionales 
-Trigonométricos 
-valor absoluto 
-techo (ceil) 
-concatenar vectores 
-cross 
-exp 
-suelo 
-logaritmo neperiano 
-len 
-let 
-logaritmo en base 10 
-lookup 
-max 
-min 
-norm 
-pow 
-rands 
-round 
-sign 
-sqrt 
-Infinito y NaN 
-==== Operadores lógicos ==== 
-==== Operador condicional ==== 
-==== Operadores para vectores ==== 
-==== Producto vectorial ==== 
-c=u*v 
-==== Multiplicación de matrices ==== 
openscad/otras_funciones_y_operadores.1534030289.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki