Introducción
Uno de los proyectos más grandes en los que he trabajado es una aplicación de simulación para tareas de perforación y control de pozo, aplicación solicitada por una empresa de la Patagonia Argentina. El desarrollo de esta aplicación comenzó en febrero del año 2021 y está en producción desde octubre del 2021 y en junio del 2022 se cerró un acuerdo con el Instituto Rumiñahui de Ecuador para instalar dos estaciones de trabajo, en las ciudades de Quito y El Coca.
Esta aplicación permite configurar una gran cantidad de parámetros, comenzando por las dimensiones del pozo, ángulo de desviación, kick-off point, profundidad de zapata, la densidad del lodo, parámetros de tubería, entre muchos otros. Al establecer las condiciones iniciales se calcula el resto de variables como por ejemplo las presiones en tubería y en fondo de pozo. La aplicación permite perforar en las condiciones dadas.
Para la parte de control de pozo se simula una situación de influjo, es decir gas filtrándose en el pozo, situación que puede desatarse debido a los trabajos de perforación o puede ser desatada manualmente por el instructor si así lo desea. Cuando ocurre la situación de influjo se procede a controlarla usando el «método del perforador» o «esperar y densificar», el operario debe asegurarse de mantener las presiones en valores estables para prevenir un blow out y también evitar que la presión del fondo del pozo caiga por debajo de la presión formacional con lo que podría ocurrir otra situación de influjo.
Esta aplicación cuenta con una serie de fallas que pueden ser activadas por el instructor en cuanto considere oportuno, algunas de estas fallas son pérdida de presión de aire en el rig, fallas eléctricas, fallas en bombas, fallas en válvulas y boquillas del trépano.
Pantallas de la aplicación
Esta aplicación está pensada para utilizarla con un mínimo de tres personas, un instructor y dos operarios, es por eso que se requiere que la aplicación pueda funcionar en múltiples monitores y para eso se creó un sistema de pantallas dinámico que permite cambiar en todo momento la pantalla que se visualiza en cada monitor. Puede trabajar con hasta 5 monitores.
En el siguiente vídeo se pueden ver las distintas pantallas disponibles en la aplicación:
Movimiento de las máquinas
En la ventana del perforador se puede observar una vista 3D de un equipo de perforación, caracterizado por ser una plataforma con una torre de varios metros de altura sobre la cual viaja un equipo de perforación conocido como «Top Drive».
En esta aplicación se puede mover el Top Drive verticalmente para desplazarlo en la torre, activar la rotación para poder perforar, extender y retraer los brazos.
Es posible agregar y quitar tuberías para poder continuar con la perforación cuando se acaba la excursión del Top Drive.
En el siguiente vídeo se puede ver cómo es este movimiento:
Elementos interactivos
En la pantalla del perforador hay elementos 3D con los que se puede interactuar, accediendo a nuevas funcionalidades del simulador, un ejemplo es el tableto 3D de la máquina «Blow Out Prevention» o BOP, al hacer clic sobre este elemento la cámara se posiciona frente a él y podemos realizar maniobras para controlar la BOP.
En el siguiente vídeo puedes ver algunos de los elementos interactivos de la pantalla del perforador:
Alternar entre el día y la noche
Esta aplicación tiene un gran número de parámetros para modificar, uno de ellos es alternar entre una simulación diurna y una nocturna, como se puede ver en el siguiente vídeo:
Fallas y catástrofes
En un rig de perforación pueden ocurrir muchas situaciones problemáticas e incluso eventos que puedan perjudicar los equipos y poner en riesgo la seguridad de los operarios y la instalación.
En esta aplicación se pueden simular una serie de fallas que pueden ser disparadas por el instructor, como falla de frenos del Top Drive, falta de presión en el sistema de aire y también algunas fallas que son consecuencia de malas maniobras por partes de los operarios, como por ejemplo no disminuir la velocidad del Top Drive al llegar a los extremos de la torre.
En el siguiente vídeo se ilustran algunas fallas del simulador:
Introducción. El problema con los materiales procedurales
En Blender tenemos la posibilidad de crear materiales procedurales utilizando la ventana Shader Editor interconectando distintos nodos que producen distintos resultados en el material final.
El problema que nos reúne aquí surge cuando queremos exportar el modelo 3D con esas texturas de Blender a Unity, actualmente toda esa información definida por los nodos no se incluye en el archivo de exportación, ya sea que usemos el formato FBX, OBJ o el propio BLEND file.
Para solucionar este problema propongo generar imágenes para representar el color y las normales que el material procedural aplica sobre el modelo 3D, de esta forma, esas texturas las podremos asignar en los campos del Standard Shader en Unity y así recrear el material.
En el siguiente vídeo puedes ver el procedimiento paso a paso para generar las texturas a partir de un material procedural hecho en Blender
Punto de partida
Vamos a comenzar con dos materiales procedurales hechos en Blender, como se observa en el vídeo de más arriba, uno de los materiales representa un no metal y el otro material un metal. Hago esta distinción porque es la forma en la que he logrado exportar texturas para utilizarlas en Unity y que representen de la mejor manera posible los materiales originales.
A continuación puedes descargar el archivo de Blender con el modelo 3D y los materiales procedurales listos para exportar las texturas y además el paquete de Unity con una escena donde se encuentra montado el modelo 3D y tiene asignadas las texturas generadas proceduralmente y posteriormente exportadas de Blender a Unity.
ARCHIVOS PARA DESCARGAR
.BLEND FILE
PAQUETE DE UNITY

ACERCA DE ESTA SOLUCIÓN
- Cuando importes el paquete de Unity encontrarás una carpeta con 1 escena, 1 script y algunos extras.
- La imagen de arriba es una captura de la escena luego de importar el paquete.
- Dentro de la escena encontrarás información sobre cómo funciona esta solución.
- En pantalla aparece la distancia que hay desde la base del bote hasta el fondo del lago.
- Muévete con WASD para conocer la distancia al fondo en distintos puntos
- EXTRAS: Modelos 3D del terreno y bote, script de control del bote, diseño de interfaz gráfica
Introducción
En esta ocasión les traigo una solución para Unity que consiste en un movimiento por carriles estilos Subway Surfers, en el cual el personaje se mueve horizontalmente en ciertos carriles predefinidos. Además esta solución viene acompañada de un paquete de Unity para descargar e importar con lo que se pueden recuperar todos los Assets de esa solución y tener una escena donde está el sistema montado.
DESCARGA DESBLOQUEADA CON 7300 SUSCRIPTORES
🟢 Cómo hacer MOVIMIENTO por CARRILES en UNITY
En este vídeo explico cómo implementar un control de movimiento por carriles en Unity, similar al movimiento del personaje en el juego Subway Surfers.
Introducción
En este artículo vamos a ver cómo hacer para conocer el estado de un GameObject cualquiera a través de código. Los GameObjects son los elementos de la escena que se utilizan para modelar todo cuanto exista en nuestro proyecto en Unity. Una de las propiedades básicas que tienen estos GameObjects es su estado de activación, en la ventana inspector puede verse como una casilla que al estar marcada el GameObject se encuentra ACTIVO y si la casilla está desmarcada el GameObject se encuentra INACTIVO.
En el siguiente vídeo explico cómo saber si un GameObject está ACTIVO o INACTIVO en la escena en Unity a través de código
Procedimiento para saber si un GameObject está ACTIVO o INACTIVO en la escena
Vamos a asumir que ya existe un script creado y asignado a un GameObject en Unity para que sus instrucciones puedan ejecutarse.
Paso 1 – Definir REFERENCIA
Para resolver practicamente cualquier problema en Unity tenemos que partir por las variables que vamos a utilizar, en este caso necesitamos contar con la referencia del GameObject que queremos analizar, en otras palabras, en nuestro script definiremos una variable global de tipo GameObject, por ejemplo de la siguiente manera:
public GameObject myGameObject
Paso 2 – Inicializar REFERENCIA
La variable que definimos en el paso anterior no va a apuntar automáticamente al GameObject que nos interesa conocer si está ACTIVO o INACTIVO en la escena, tenemos que ocuparnos de que eso pase.
Existen diversas formas de inicializar una variable, en mi canal tengo una lista de reproducción con más de 20 vídeos donde se ven métodos y ejemplos sobre este tema, en este caso vamos a ir al inspector donde tenemos asignado el script y vamos a arrastrar manualmente el GameObject que nos interesa analizar a la variable tipo GameObject que aparece en el inspector, en nuestro caso llamada»myGameObject». De esta manera ahora esa variable apuntará al GameObject que nos interesa.
Paso 3 – Cómo LEER el estado del GameObject
Una vez resuelto los dos pasos previos ahora podemos utilizar la variable que definimos para saber si el GameObject se encuentra ACTIVO o INACTIVO en la escena. Para esto usamos la siguiente instrucción.
myGameObject.activeInHierarchy
La instrucción anterior es equivalente a un valor booleano, si el GameObject al que está apuntando la variable «myGameObject» está activo en la escena la expresión dará como resultado «true», mientras que si está inactivo dará como resultado «false». Por lo tanto podemos usar esta expresión para hacer lo que queramos, por ejemplo definir una sentencia IF e imprimir un mensaje en consola si el objeto está activo y un mensaje distinto si está inactivo, por ejemplo:
if(myGameObject.activeInHierarchy){
Debug.Log(«El GameObject está ACTIVO»);
}else{
Debug.Log(«El GameObject está INACTIVO»);
}
Introducción
En este artículo vamos a ver cómo trabajar con los componentes Text Mesh Pro desde un Script, concretamente vamos a crear un objeto texto en un Canvas y otro Text Mesh para el espacio 3D y crearemos un Script dentro del cual vamos a escribir el texto TextMesh Pro a través de código.
También vamos a ver cómo cambiar el color del texto a través de código.
Crear objetos TextMesh Pro para World Space y Canvas
Comenzamos creando los objetos Text que posteriormente modificaremos desde un Script, vamos a crear dos tipos de objetos TextMesh Pro, uno para usar en la interfaz gráfica y otro para usar como un objeto 3D de la escena.
Creación de Text Mesh Pro Text para la interfaz gráfica
En Unity los objetos Text Mesh Pro que están en la sección UI deben colocarse como hijos de un objeto Canvas, por lo que vamos a asumir que ya tenemos uno de estos objetos en la escena. Para crear un nuevo objeto Text Mesh Pro vamos a la jerarquía, hacemos clic derecho sobre el Canvas (o algún objeto hijo del Canvas), vamos a la sección UI y elegimos la opción «Text – Text Mesh Pro», como se observa en la imagen 2.A.
Creación de TextMesh Pro Text para el World Space
La otra opción para escribir texto en pantalla es usar un componente Text de Text Mesh Pro como un objeto 3D y por lo tanto que se encuentre en una posición del mundo, este objeto lo encontraremos en la ventana de creación dentro de la sección 3D, como se observa en la imagen 2.B.
Primera vez usando TextMesh Pro
En caso de que aún no hayamos configurado Text Mesh Pro nos saldrá la ventana de la imagen 3 donde nos dá la opción de importar los componentes necesarios para usar Text Mesh Pro, le damos clic en «Import TMP Essentials», como se observa en la imagen 3. El segundo botón para importar ejemplos y extras es opcional.
Resultado de la creación de los objetos
Una vez creados los objetos, les hice unas pocas modificaciones en el inspector (tamaño de fuente, text) y el resultado es el siguiente:
Una vez creados los objetos e importado Text Mesh Pro ya podemos comenzar a usar el componente Text Mesh Pro Text desde el inspector o escribirlo a través de un Script. En la imagen 5 vemos el componente Text en la ventana Inspector, tiene muchas más opciones de configuración comparado con la antigua solución para textos.
IMPORTANTE
En la imagen 5 vemos el campo para editar el texto que aparece en pantalla, actualmente tiene escrito el valor «Canvas Text», ese es el campo que queremos editar por código y para hacerlo tendremos que editar la variable «text» de ese componente.
Script para escribir texto en componente Text Mesh Pro
Para poder escribir un componente Text Mesh Pro por código voy a crear un script y asignarlo a algún GameObject de la jerarquía, como se observa en la imagen 6. En este caso mi Script se llama «ModifyTextMeshPro«, dentro de este script voy a modificar los textos.
Importar namespace TMPro en nuestro Script
Para poder usar los componentes Text Mesh Pro cómodamente es conveniente importar el namespace «TMPro» agregando en la cabecera de nuestro script la línea «using TMPro;» como que se observa en la imagen 7.
Declaración de las variables a utilizar
Vamos a declarar dos variables de tipo «TMP_Text» donde estarán alojadas las referencias de los componentes Text que queremos modificar, en este casos los nombres de mis variables serán «canvasText» y «worldText» en estas variables colocaré las componentes Text Mesh Pro Text del canvas y del espacio respectivamente.
DETALLE
Los nombres «canvasText» y «worldText» son los nombres que elegí para esas variables, se puede usar cualquier otro nombre siempre que contenga los caracteres permitidos.
Inicialización de las variables (Asignación de referencias)
La inicialización de este tipo de variables no primitivas es crucial, si no nos encargamos de colocar dentro de la variable el objeto preciso al que queremos referirnos nos dará error de referencia null («Null Reference Exception»).
Hay muchas formas de asignar las referencias en Unity, en este caso lo haré de una de las formas más simple que es arrastrando los GameObjects que contienen los componentes Text que quiero modificar a los espacios de las variables en el inspector.
No aparece la variable en el inspector
En el caso de que no aparezca la variable en el inspector normalmente es porque su visibilidad es privada, se puede solucionar declarando las variables como públicas como se observa en la imagen 8, anteponiendo la palabra «public», o también se pueden declarar como privadas pero indicando que sean serializadas por el inspector, de la siguiente forma:
[SerializeField]
TMP_Text canvasText;
O también:
[SerializeField]
private TMP_Text canvasText;
Otro motivo por el que las variables no aparezcan en el inspector puede ser cuando hay errores en consola y los cambios hechos en los scripts no se actualizan, para resolver esto deberemos solucionar todos los errores que haya en consola, una vez hecho esto Unity compilará y aparecerán las nuevas modificaciones.
Instrucciones de código para modificar el texto Text Mesh Pro a través de Script y pruebas
Una vez que hemos inicializado las variables podemos utilizarlas, en este caso si queremos modificar el texto que muestra el componente TextMesh Pro, deberemos modificar la variable «text» definida en su interior, para ello usamos el operador punto que nos permite acceder a las variables y funciones públicas definidas dentro de un objeto,
Extra: Cambiar el color de un texto Text Mesh Pro por código
Introducción – ¿Qué es Occlusion Culling en Unity?
El motor Unity tiene un sistema llamado «Occlusion Culling» que permite ocultar automáticamente objetos que la cámara no está viendo de manera directa, un nombre en español para este sistema es «eliminación selectiva».
En este artículo vamos a ver cómo preparar un proyecto en Unity para que se aplique Occlusion Culling, algunos detalles sobre su funcionamiento y parámetros de configuración.
Detalle Importante – En Occlusion Culling se hacen precálculos (BAKE)
Occlusion Culling funciona con los objetos que están marcados como «estáticos» en la escena y es necesario precalcular todos los datos, lo que se conocer como hacer un «bake», esto implica que cada vez que introduzcas un nuevo objeto que deba ser apagado si la cámara no lo está viendo, o si cambias la posición de uno de estos objetos, deberás precalcular nuevamente los datos para Occlusion Culling, si no lo haces algunos objetos que están detrás de cámara o detrás de algún objeto podrían no desaparecer o incluso peor, podrías tener objetos que desaparecen frente a la cámara cuando deberían permanecer visibles.
Dónde se encuentra la ventana de configuración de Occlusion Culling en Unity
La vetana de configuración de Occlusion Culling se encuentra en Window > Rendering > Occlusion Culling, en mi caso suelo colocarla junto al inspector para más comodidad, como se observa en la imagen 2.
Cómo agregar objetos al sistema de Occlusion Culling
Para que un objeto pertenezca a los cálculos de Occlusion Culling y por ende desaparezca cuando la cámara no lo está viendo, hay que marcar cada objeto que el parámetro «Estático» en el inspector, como se observa en la imagen 3. En general los objetos importantes para marcar como estáticos son aquellos que tienen asignado algún tipo de Renderer, como un Mesh Renderer o un Sprite Renderer, ya que estos objetos son los que tienen una representación visual en pantalla.
IMPORTANTE: Los objetos que formen parte del sistema Occlusion Culling no deben cambiar de posición en ningún momento y de hacerlo es necesario volver a calcular los datos como veremos más adelante.
Cómo aplicar Occlusion Culling en Unity
Una vez que el paso previo de marcar todos los objetos estáticos vamos a hacer un «Bake» de la información para aplicar Occlusion Culling, para esto vamos a la ventana «Occlusion» que se observa en la imagen 4, en caso de no ver la ventana consultar más arriba en este artículo.
En principio en esta ventana vamos a configurar dos parámetros, «Smallest Occluder» y «Smallest Hole», el primer parámetro hace referencia al objeto más pequeño de la escena (en unidades de la escena) que podrá obstruir la cámara y hacer que todo lo que está por detrás no se renderice, cuanto más pequeño sea este parámetro más tiempo tomarán los cálculos por lo que habrá que hacer algunas pruebas para determinar un valor apropiado, en principio se pueden considerar los valores de la imagen 4.
PARA APLICAR LOS CÁLCULOS DE OCCLUSION CULLING EN UNITY HACEMOS CLIC EN EL BOTÓN BAKE A LA DERECHA DEL BOTÓN CLEAR.
El parámetro «Smallest Hole» se usa en caso de tener espacios abiertos en un modelo 3D, consideremos el ejemplo que se ilustra en la imagen 5-A, en el cual se ha aplicado Occlusion Culling con los parámetros de la imagen 4.
Como vemos en la imagen 5-B la cámara puede ver a través del agujero, sin embargo el cubo que está seleccionado en la imagen 5-A no es visible, esto se debe a que el sistema de Occlusion Culling está considerando que ese cubo debería estar oculto, ya que el agujero más pequeño está configurado en un tamaño de 0.5 unidades de Unity (imagen 4), mientras que el agujero de la imagen 5-B tiene un ancho de 0.1 por 0.1 unidades de Unity.
Modificando un poco los parámetros teniendo en cuenta estos modelos en particular y el hecho de que deberíamos ser capaces de ver objetos a través de ese agujero, hacemos un nuevo Bake con los parámetros de la imagen 6 y como se observa en la imagen 7 ahora el sistema de Occlusion Culling no oculta ese objeto porque la cámara podría verlo a través de ese agujero.
Introducción
En este artículo vemos cómo configurar un proyecto de Unity para crear compilaciones para Meta Quest 2, para esto vamos a usar el paquete «Oculus Integration SDK» para Unity el cual contiene todo lo necesario para comenzar a crear apps de realidad virtual para Oculus, además viene con modelos 3D y ejemplos útiles. Vamos a repasar cada configuración necesaria, crear una compilación y correrla en un dispositivo Meta Quest.
En el siguiente vídeo vemos cómo configurar Unity para compilar aplicación para Meta Quest (Oculus Quest 2).
Requisitos previos
Módulos Android instalados en Unity
Para poder compilar aplicaciones para Meta Quest se necesita tener instalado el motor Unity con los módulos de Android, que consisten en las siguientes tres aplicaciones:
Oculus Quest SDK – Paquete de Oculus para Unity
Vamos a descargar e importar el paquete Oculus Quest SDK para Unity el cual viene con muchos Assets útiles que nos facilitarán la creación de aplicaciones VR para Oculus.
Crear cuenta de desarrollador para Oculus
Es necesaria una cuenta de desarrollador de Oculus para poder publicar aplicaciones en la tienda de Oculus
Oculus Developer HUB (Software auxiliar para desarrollar y publicar aplicaciones para Oculus)
Oculus Developer HUB permite reconocer el dispositivo Oculus desde el ordenador, configurarlo, acceder a las imágenes y vídeos capturados y permite publicar aplicaciones en la tienda de Oculus.
Oculus Android App
La aplicación para móviles de Oculus nos permite configurar nuestro dispositivo Oculus y activar el modo desarrollador para nuestro dispositivo.
Oculus App para PC (Opcional)
La aplicación de Oculus nos permite utilizar aplicaciones de realidad virtual para PC con nuestro Oculus, lo cual se puede hacer por cable o con la conexión AirLink.
Cómo configurar Unity para exportar aplicaciones para Meta Quest (Oculus Quest 2)
Ahora vamos a ver qué parámetros tenemos que configurar en el motor para poder exportar para Oculus, para esto creo un proyecto en blanco con el que vamos a ver todos los pasos.
Configurar plataforma Android como objetivo
Los dispositivos Oculus Quest utilizan Android como sistema operativo por lo que en primer lugar vamos a File > Build Settings y vamos a cambiar la plataforma objetivo a Android, como se observa en la figura 2.
En este caso voy a utilizar el dispositivo Oculus Quest 2, con el dispositivo conectado abro la aplicación Oculus Developer HUB para comprobar que el sistema operativo reconoce el dispositivo, si tenemos éxito deberíamos ver nuestro dispositivo como en la figura 3.
Además en Unity, en la pestaña Build Settings debería aparecer el dispositivo en el campo «Run Device», como se muestra en la figura 4. Si no vemos el dispositivo hay que volver a la parte de requisitos previos, probablemente no se ha activado el modo desarrollador o hay que activar la depuración USB.
Importación del paquete Oculus SDK para Unity
Importamos el paquete Oculus SDK (link para descargar en la parte de arriba de requisitos previos).
En este caso vamos a agregar todos los archivos que vienen en el paquete.
En este punto nos aparecen varios carteles con mensajes solicitándonos una acción.
En general para todos los mensajes elijo las opciones recomendadas y las más actuales, en el caso de la figura 6 le damos a «Yes», en el caso de la figura 7 a «Use OpenXR».
Puede que nos solicite reiniciar el editor Unity, en cuyo caso reiniciamos el editor.
Las figuras 9 y 10 son otro ejemplo de mensajes que pueden aparecer, aplico el mismo criterio, elijo las opciones más actuales y reinicio de ser necesario.
Al momento de grabar el vídeo y escribir este artículo, al pasar por todo el proceso de configuración del paquete Oculus SDK para Unity, luego de reiniciar el editor por última vez se abre una escena ejemplo en la que se muestra un Avatar con LipSync (sincronización de labios con el input del micrófono, figura 11). Vamos a compilar esta misma escena por lo que abrimos la pestaña Build Settings (en File) y le damos al botón «Add Open Scene» para agregar la escena abierta a la compilación que vamos a crear.
Configuración del plugin XR Management
El siguiente paso de la configuración es ir a la ventana «Player Settings», podemos hacerlo desde «Edit» y también tenemos un acceso directo desde la ventana Build Settings como se muestra en la figura 13.
En la ventana Player Settings vamos al elemento «XR Plugin Management» y le damos clic al botón para instalar que se observa en la figura 15.
Una vez instalado el plugin le damos clic a la casilla «Oculus» que nos aparece y esa acción hace que aparezca un nuevo elemento llamado Oculus debajo del plugin (figura 17), le damos clic al elemento Oculus.
Nos aseguramos que están marcadas las casillas Quest y Quest 2 para que se aplique el plugin a estos dispositivos.
Configurar Color Space apropiado
Antes de compilar una aplicación para Oculus Quest en Unity tenemos que asegurarnos de cambiar el parámetro «Color Space» que se encuentra en la ventana Project Settings, Player y dentro del menú desplegable «Other Settings», como se observa en la figura 19. Si este paso no se hace vamos a tener errores en consola al momento de compilar la aplicación.
Compilación de aplicación de realidad virtual y prueba en Oculus Quest 2
Una vez que hemos configurado todo en el motor Unity procedemos a crear una compilación de la aplicación de realidad virtual y testearla en un dispositivo como el Oculus Quest 2, para eso vamos a la ventana Build Settings y asegurándonos que en el parámetro «Run Device» tenemos nuestro dispositivo (asegurarse de que el dispositivo esté conectado por USB o AirLink), le damos clic en Build and Run, elegimos la carpeta de destino del archivo APK y le damos un nombre, como se observa en las figuras 20 y 21.
IMPORTANTE: Si el dispositivo no aparece en el campo «Run Device» se puede hacer clic en el botón Build, exportar el archivo APK y luego instalar ese archivo por medio del software Oculus Developer HUB arrastrando el archivo APK a la ventana que se observa en la figura 3 al principio de este artículo.
Cuando el proceso termina la aplicación se ejecuta automáticamente en el dispositivo Oculus Quest 2, el resultado de esto lo vemos en la siguiente imagen:
Dónde se encuentra la aplicación instalada en Oculus
Como estamos haciendo una prueba, esta aplicación de realidad virtual no fue validada por la tienda de Oculus y por lo tanto nuestro dispositivo la coloca en una sección aparte de aplicaciones con «Orígenes desconocidos», en esa sección podemos encontrar la aplicación que fue instalada desde Unity, ver figuras 23 y 24.
Para que las aplicaciones aparezcan en la sección principal debemos subirlas a la tienda de oculus.
Introducción
En este artículo vamos a ver qué es el mínimo común múltiplo y como encontrarlo. El mínimo común múltiplo es algo que surge de comparar dos números, por lo tanto una consigna como la siguiente no tendría sentido: «Encontrar el mínimo común múltiplo de 24«. En cambio una consigna como la siguiente si puede resolverse: «Encontrar el mínimo común múltiplo de 12 y 18«, una consigna como esta puede expresarse como «m.c.m(12,18)«.
Qué es el mínimo común múltiplo de dos números
Un múltiplo común de dos números «A» y «B» es simplemente un número «C» que es múltiplo de esos números A y B, es decir que se puede tomar a C y dividirlo por A y por B y en ambos casos el resultado va a ser entero, por ejemplo 12 es un múltiplo en común que tienen los números 2 y 3, ya que 12 es igual a 2 multiplicado por 6 y también 12 es igual a 3 multiplicado por 4. Sin embargo con la misma lógica vemos que 24 también es un múltiplo común de 2 y 3, ya que 2 multiplicado por 12 es 24 y 3 multiplicado por 8 también es 24.
Aquí es donde se incluye el la palabra «mínimo» en la expresión «mínimo común múltiplo«, quiere decir que de todos los múltiplos que tienen en común dos números nos quedaremos con el que sea más pequeño, por ejemplo el mínimo común múltiplo entre 2 y 3 no es 12 ni 24, sino 6.
Cómo encontrar fácilmente un múltiplo común de dos números
Si se quiere conocer un múltiplo común de dos números enteros «A» y «B«, en general el múltiplo común más fácil de encontrar va a ser un número entero «C» tal que:
C = A . B
Al multiplicar ambos números por definición vamos a obtener un múltiplo común a ambos, ya que si se toma el número C y se lo divide por A se obtiene B, y si se toma el número C y se lo divide por B se obtiene A, ambos números enteros.
Esta operación suele ser muy práctica para la suma de fracciones en las que se necesita encontrar un denominador común a los denomidores de las fracciones que se quieren sumar.
A veces este múltiplo común será el mínimo común múltiplo a ambos números, como en el ejemplo anterior en el que m.c.n(2,3) = 6, pero no siempre es así como veremos en el siguiente ejemplo.
Cómo encontrar el mínimo común múltiplo de dos números
Para encontrar el mínimo común múltiplo de dos números hay un procedimiento que consiste en tomar cada número y expresarlo como una multiplicación de sus divisores primos, es decir números primos que al dividir por ellos al número inicial el resultado es entero, esto se explica en detalle en el artículo de divisibilidad, por ejemplo los números 12 y 18 pueden expresarse de la siguiente manera:
12 = 1 . 2 . 2 . 3
18 = 1 . 2 . 3 . 3
Tomando estas descomposiciones, para encontrar el mínimo común múltiplo se construye un nuevo número que será el resultado de la multiplicación de los números primos que más veces aparezca en ambas descomposiciones.
El número 1 aparece una única vez en cada descomposición, por lo que se coloca un 1. Luego el número 2 aparece dos veces repetido en la descomposición del 12 por lo que al 1 lo multiplicamos dos veces por 2, finalmente el número 3 aparece dos veces repetidos en la descomposición del número 18, por lo que a la expresión anterior la multiplicamos dos veces por el número 3, resultado en lo siguiente:
1 . 2 . 2 . 3 . 3 = 36
El resultado de esta operación es el mínimo común múltiplo de 12 y 18, es decir:
m.c.m(12,18) = 36
Introducción
En este artículo vamos a ver qué es el máximo común divisor y como encontrarlo. En primer lugar es importante destacar que el máximo común divisor es algo que surge a partir de comparar dos números, por lo tanto una consigna como la siguiente no tendría sentido: «Encontrar el máximo común divisor de 24». En cambio una consigna como la siguiente si puede resolverse: «Encontrar el máximo común divisor de 12 y 24», la cual podemos expresarla como «m.c.d(12,24)».
Cómo encontrar el máximo común divisor de dos números
La idea de encontrar el máximo común divisor de dos números es tomar cada número y hacer una lista de todos sus divisores, es decir números que al dividir por ellos el resultado es entero, esto se explica en detalle en el artículo de divisibilidad, conociendo los divisores de ambos números se comparan y se elige el divisor más grande que tengan en común.
Ejemplo
Encontrar el máximo común divisor de 12 y 24.
Comenzamos listando los números que son divisores de 12 y de 24:
divisores de 12: {1, 2, 3, 4, 6}
divisores de 24: {1, 2, 3, 4, 6, 8, 12}
Comparando ambas listas vemos que el máximo común divisor de 12 y 24 es el números 6:
m.c.d(12,24)=6
Introducción
Un número primo es un número que solo es divisible por si mismo y por 1, algunos ejemplos de números primos son el 2, 3, 5 y 7.
Cuando un número no es primo se llama «compuesto» y es posible expresar este número como una multiplicación de sus divisores primos. Esto es lo que se conoce como «descomponer un número en sus factores primos».
Ejemplo 1
El número 8 no es un número primo, para expresar el número 8 como una multiplicación de factores primos comenzamos buscando los divisores de 8, los cuales serían el 1, el 2 y el 4 (para mas información sobre esto consultar el artículo sobre divisibilidad), conociendo los divisores, podemos expresar al número 8 como:
8 = 2 . 4
Pero a su vez el 4 puede expresarse como un producto de factores primos, es decir como 2 multiplicado por dos, por lo tanto:
8 = 2 . 4 = 2 . 2 . 2 = 23
Ejemplo 2
El número 42 no es un número primo, por lo tanto podemos expresarlo como una multiplicación de factores primos, comenzamos dividiendo el número a la mitad para expresarlo de la siguiente manera:
42 = 2 . 21
El número 21 a su vez tampoco es un número primo, lo expresamos como una multiplicación de sus divisores y finalmente obtenemos lo siguiente:
42 = 2 . 21 = 2 . 3 . 7
Introducción
En este artículo vamos a ver qué es la divisibilidad, cuándo dos números son divisibles y algunos criterios de divibilidad entre números.
Un número natural es divisor de otro número cuando el resultado de la división del primero por el segundo es exacta (sin decimales).
Por ejemplo 2 es divisor de 8 porque 8 divido 2 es exactamente 4, en cambio 3 no es divisor de 8 ya que 8 dividido 3 es igual a 2.666.
Los números primos son números que no tienen otros divisores además de el propio número y el 1.
Criterios de divisibilidad
Existen unos criterios para saber rápidamente cuándo un número es divisible por 2, 3, 4, 5, 9 y 10, es bastante útil conocer por lo menos la divisibilidad por 2, por 5 y por 10, porque esto nos ayuda a hacer cálculos mentales.
Cuándo un número es divisible por 2
Un número es divisible por 2 si su última cifra es par, es decir si el número termina en 0, 2, 4, 6 u 8. Por ejemplo los números 24, 38 y 14 son divisibles por 2
Cuándo un número es divisible por 5
Un número es divisible por 5 si termina en 0 o en 5. Por ejemplo los números 30, 45, 100 y 115.
Cuándo un número es divisible por 10
Un número es divisible por 10 si termina en 0. Por ejemplo los números 100, 300, 1200, etc.
Se puede conocer fácilmente el resultado de dividir por 10 ya que al hacerlo se elimina el cero en la posición de la unidad, por ejemplo si tomamos el número 1000 y lo dividimos por 10 el resultado es 100, otro ejemplo: si tomamos el número 1230 y lo dividimos por 10 el resultado es 123. En el caso de que el número no termine en 0 y se lo divide por 10, lo que se hacer es colocar el punto decimal una cifra hacia la izquierda, por ejemplo 123 dividido 10 es igual a 12.3.
Conocer esto permite agilizar mucho los cálculos mentales.
Cuándo un número es divisible por 3
Sabemos que los números 3, 6 y 9 son divisibles por 3, teniendo en cuenta esto, un número es divisible por 3 si la suma de sus cifras es divisible por 3, por ejemplo el número 213, si sumamos sus cifras (2+1+3) el resultado es 6, el cual es divisible por 3, por lo tanto 213 es divisible por 3.
Lo interesante de esto es que este criterio se puede aplicar de forma recursiva, por ejemplo si queremos saber si el número 67311 es divisible por 3, aplicamos el criterio sumando sus cifras (6+7+3+1+1) y el resultado de hacer esto es 18, luego para saber si 18 es divisible por 3, nuevamente podemos aplicar el criterio sumando sus cifras (1+8) lo que dan como resultado 9, que sabemos que es un número divisible por 3, en consecuencia el número 67311 es divisible por 3.
Cuándo un número es divisible por 4
Un número es divisible por 4 si sus dos últimas cifras forman un número divisible por 4, por ejemplo 108 y 3016, por lo tanto la tabla de multiplicación del 4 nos ayuda con esta tarea.
Otro criterio es el siguiente, un número es divisible por 4 si se cumplen dos condiciones, la primera es que sea un número par, es decir que termine en 0, 2, 4, 6 u 8 y la segunda condición es que al dividir el número por 2, el resultado también es un número par. Por ejemplo, el número 188 es par y además la mitad de 188, es decir 94 también es un número par, por lo tanto el número 188 es divisible por 4.