simulador de interfaz tangible - uniandes

46
Simulador de Interfaz Tangible Proyecto de grado de Ingeniería de Sistemas y Computación Presentado por: Carlos Andrés Barrientos Achury Profesor Asesor Mario Fernando De la Rosa Rosero 28 de Noviembre de 2015

Upload: others

Post on 23-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Simulador de Interfaz Tangible - Uniandes

SimuladordeInterfazTangible

ProyectodegradodeIngenieríadeSistemasyComputación

Presentadopor:

CarlosAndrésBarrientosAchury

ProfesorAsesor

MarioFernandoDelaRosaRosero

28deNoviembrede2015

Page 2: Simulador de Interfaz Tangible - Uniandes

2

TabladeContenido

1.Introducción..........................................................................................................6

2.Problemática........................................................................................................82.1DescripcióndeTecnologíasautilizar............................................................................9

3.EstadodelArte....................................................................................................11

4.Metodología,DiseñoeImplementacióndelaSolución........................................174.1Diseñodefuncionamientodelsistema......................................................................174.2Implementación.........................................................................................................20

5.ResultadosdelproyectoyPruebas......................................................................265.1Pruebasdeusuario....................................................................................................41

6.ConclusionesyTrabajosFuturos..........................................................................43Bibliografía...............................................................................................................46

Page 3: Simulador de Interfaz Tangible - Uniandes

3

TabladeFiguras1.EsquemadeInteracciónUsuario/InterfazTangible.................................................92.DispositivoMisTable............................................................................................123.IlustracióndecomponentesdeldispositivoMisTable...........................................124.ProyeccióndeldispositivoMisTable.....................................................................135.DispositivoCityScape............................................................................................146.IlustracióndecomponentesdeldispositivoTangibleCityScape............................147.Ilustraciónderayosláser......................................................................................158.ProyeccionesdeldispositivoAerialBurton...........................................................169.Diseñomodulardesoftware................................................................................1710.Gestosdedesplazamiento..................................................................................1811.Gestosdeescalamiento......................................................................................1812.Gestosderotación..............................................................................................1913.MecanismoRaycast............................................................................................2214.Mecanismodeesferasdecolisión.......................................................................2315.Mecanismodefuncionesdesuperficie...............................................................2416.Menúinicial........................................................................................................2717.Caja(Paralelepípedo)continuo...........................................................................2718.Caja(Paralelepípedo)discreto............................................................................2819.OrtoedroContinuo.............................................................................................2820.Ortoedrodiscreto...............................................................................................2921.Tetraedrocontinuo.............................................................................................2922.Tetraedrodiscreto..............................................................................................3023.Pirámidecontinua..............................................................................................3024.Pirámidediscreta................................................................................................3125.Cilindrocontinuo................................................................................................3126.Cilindrodiscreto.................................................................................................3227.Cilindroelípticocontinuo....................................................................................3228.Cilindroelípticodiscreto.....................................................................................3329.Conocontinuo....................................................................................................3330.Conodiscreto.....................................................................................................3431.Conoelípticocontinuo........................................................................................3432.Conoelípticodiscreto.........................................................................................3533.Paraboloidecontinuo.........................................................................................3534.Paraboloidediscreto...........................................................................................3635.Paraboloideelípticocontinuo.............................................................................3636.Paraboloideelípticodiscreto..............................................................................3737.Torocontinuo.....................................................................................................3738.Torodiscreto......................................................................................................3839.Automóvilapartirdemodelosgeométricoscontinuas.......................................3840.Automóvilapartirdemodelosgeométricosdiscretos........................................3941.Gestosdecambiodevista..................................................................................3942.GestosdedesplazamientoenelejeX,yY...........................................................4043.GestosdeescalamientoenelejeX,yY...............................................................41

Page 4: Simulador de Interfaz Tangible - Uniandes

4

44.GestosdeescalamientoenelejeZ.....................................................................4045.Gestoderotaciónconlasmanecillasdelreloj.....................................................4046.Gestoderotacióncontralasmanecillasdelreloj................................................4147.Formatodepruebasdeusuario..........................................................................4148.Resultadospruebasdeusuario...........................................................................42

Page 5: Simulador de Interfaz Tangible - Uniandes

5

ResumenHoyendíaexistendesarrollosdedispositivosquenospermitenloquehasidollamadocomo“interaccióntangible”.Lainteraccióntangibleesuntipodeinteraccióncuyoobjetivoesdesarrollarycontrolar“sistemasinteractivosenlosqueobjetosconvencionalesson,almismotiempo,controlyrepresentaciónfísicadelainformacióndigital”.Asímismoesteproyectotienecomoobjetivosimularlavisualizacióneinteraccióndeunainterfaztangible.Estetrabajoproponeunsimulador3Ddegeneracióndecontenido3Dsobreunapantallatridimensionaldebajocosto.Elsimuladorintegraunmecanismodeinteracciónnaturalbasadoengestosrealizadosconlasmanosquepermitenalusuariointeractuarsobreelcontenidoproyectadoenlapantalla.Estecontenidosecomponedeunconjuntodeobjetosgeométricosylasposiblesinteraccionessonoperacionesdemovimiento,escalamiento,yrotacióndeestosobjetos.

Page 6: Simulador de Interfaz Tangible - Uniandes

6

1.IntroducciónLa visualización de la información siempre ha sido unmotivador importante para latecnología.Atravésdelahistoriaestanecesidadhaestadodetrásdegrandesinventoscomo la televisióny laspantallasquemuestranunaprofundidad tridimensional.Porotro lado, la interacción con estos dispositivos ha dado el acceso a un mejoraprovechamientodelosrecursos,dispositivoscomopantallastáctilesdanmuestradeeso.Asímismo, lamezclade tecnologías de interacción y visualización se enfoca enpermitir manejar grandes cantidades de información al instante, y con lasherramientas adecuadas para que el usuario pueda interactuar de una maneraamigablesobrelamisma.Hoyendíaexistendesarrollosdedispositivosquenospermitenloquehasidollamadocomo “interacción tangible”. La interacción tangible es un tipo de interacción cuyoobjetivo es desarrollar y controlar “sistemas interactivos en los que objetosconvencionalesson,almismotiempo,controlyrepresentaciónfísicadelainformacióndigital” (Baldassarri, 2014, p. 3). Este proyecto tiene como objetivo simular lavisualizacióneinteraccióndeunainterfaztangible.ObjetivoGeneralSimularundispositivoqueproyectaobjetostridimensionalesypermitirlainteraccióngestualdelasmanosconestosobjetoshaciendousodeldispositivoLeapMotion.ObjetivoEspecíficos

1. Caracterizarlosgestosdelasmanosparalograrlarotación,eldesplazamiento,yelcambiodetamañodelosobjetosproyectados.

2. Generar la visualización 3D que representa/aproxima la proyección en eldispositivofísico(simulación).

3. Comparar la visualización 3D del objeto modelado con su visualización 3Daproximada.

4. Trabajarconmodelosgeométricostipo:cubo/caja,cilindroelíptico,pirámides,modelo2Dconbarridoyalmenosunobjetodefinidoporunafuncióncontinua.

5. Probarel sistemaconusuariosparaaseguraruna interacciónamigableconelusuario.

Estedocumentoconstade6capítulos.Enelprimeroseencuentranlosobjetivostantoelgeneralcomolosespecíficos,luegoestáladescripcióndelaproblemáticaqueguíaeste proyecto. A continuación, están las tecnologías que se usaron en la soluciónpropuestaenesteproyecto,posteriormenteseubicaelestadodelarteconproyectosrelacionados a la problemática que ya han sido desarrollados. En este punto, seencuentralametodología,eldiseño,ylaimplementaciónquedescribenelprocesodediseño del proyecto y los detalles de implementación de la propuesta que sedesarrolló.Luego,estánlosresultadosobtenidosatravésdedichaimplementación,ylaspruebasrealizadasparaevidenciarlascaracterísticasdeldesarrollo.Acontinuación

Page 7: Simulador de Interfaz Tangible - Uniandes

7

sehablade las conclusionesyel trabajo futuroque se considerópertinentedadoelalcanceactualdelproyecto.Finalmente,sedescribenlasreferenciasbibliográficasqueseusaroncomoapoyoparalaconstrucciónyeldesarrollodetodoelproyecto.

Page 8: Simulador de Interfaz Tangible - Uniandes

8

2.ProblemáticaLa visualizaciónde la informaciónnecesita borrar los límites de las pantallas planas.Esto lo está logrando con ilusiones tridimensionales sobre pantallas de dosdimensiones.Sinembargo,estetipodetecnologíapresentaciertos limitantesatadosalusodeunapantalladedosdimensiones.Porlotanto,esnecesariohacerusodelastecnologíasdevisualizacióntridimensionalemergentesparamitigarlasnecesidadesdelosusuarios.La interacción con la información que es mostrada a los usuarios en cualquierdispositivohademostradoserunodelosmotivadorestecnológicosmásimportantes.Losusuariosdehoyendíaexperimentaninteraccionestáctilesconunagranvariedadde dispositivos. Por lo tanto, una nueva tecnología de visualización debe veniracompañadadeunsistemainteractivoamigablequepermitaalosusuariosaprovecharlasposibilidadesdelamismaalmáximo.Latecnologíadeinteraccióntangiblepresentaunaseriedecomponentesbásicoscomoelcontrolyrepresentacióntangible loscualessonpresentadosalusuariodemanerafísica, y por otro lado la información digital y representación intangible quienes sontransparentes al usuario. Un esquema de esto se puede apreciar en la Figura 1. Elproyectoque sepresentaenestedocumentoproponeun simuladordeuna interfaztangibleypoderinteractuardeformanaturalconsucontenido.Sinembargosecentraeneldesarrollodelsoftwareysimulaelhardwareyaqueeldesarrollodelhardwarenoestádentrodelalcancedelproyecto.Teniendo en cuenta la problemática planteada es importante tener en cuenta lascaracterísticas del dispositivo simulado, tales como que debe estar en capacidad deproyectar objetos en tres dimensiones haciendo uso de un medio tangible, lo cualpermite dejar atrás las ilusiones ópticas y abre el camino a proyecciones realmentetridimensionales. El contenido3Dqueesposibleproyectar se encuentra atadoa lascaracterísticas intrínsecas del dispositivo, tales como la resolución, el tiempo derespuestay laversatilidaddelmismo.Elmecanismode interaccióndelusuariodebepresentardeigualmaneraunaexperienciasimilaralainteracciónquesetendríaconunobjetotangible,estoselograatravésdeunmecanismodeinteracciónnatural.

Page 9: Simulador de Interfaz Tangible - Uniandes

9

Figura1.EsquemadeInteracciónUsuario/InterfazTangible.Fuente:Baldasarri,S.(2014).ParadigmasAvanzados:

InteracciónTangible.Recuperadodehttp://webdiis.unizar.es/asignaturas/DCU/wp-content/uploads/2015/02/DCU_Tangible_2014-15.pdfel24deAgostode2015.

2.1DescripcióndeTecnologíasautilizar

EldispositivoLeapMotionesundispositivoqueseencargadeseguirlaposicióndelasmanosylosdedos.Porotroladopresentacompatibilidadcondiversastecnologíasqueproporcionan un ambiente gráfico, tales como Unreal, Unity, y Scratch. EstacompatibilidadsehaceperfectamentetransparenteatravésdelSDKdeLeapMotion.Deestamanerael lenguaje y ladinámicadeprogramación sondeterminadosporelmotorgráficoautilizar.LascaracterísticasmásimportantesdelSDKsonlasfacilidadesparaelreconocimientodegestosyaqueentresusfuncionesestáelreconocimientodelagranmayoríadelosgestos que requiere el software para su funcionamiento. Estas facilidades incluyengestos para el desplazamiento, selección de objetos y distancia de las manos conrespectoaalgúnpuntoespecífico.Porotrolado,aunqueexistenfuncionescomohacermás grande un objeto o extenderlo las cuales no están soportadas por algún gestoproporcionado por el SDK, otras funcionalidades como conocer la posición de losdedoshacenquelaimplementacióndeestosgestosseaposible.DebidoalacompatibilidadyalaexperienciadetrabajoconelsoftwareUnityseharáusodelmismocomomotorgráfico.Unitypresentaunagranflexibilidadencuantoala

Page 10: Simulador de Interfaz Tangible - Uniandes

10

creacióndeinterfacesgráficasysudinámicadesacopladaylenguajedeprogramación(C#) permiten implementar diferentesmódulos para verificar su funcionamiento sinnecesidaddeafectarotrosmódulos,locualesdevitalimportanciaparacadaiteracióndel proyecto. Por último, Unity se acopla muy fácilmente con los dispositivos derealidadvirtualcomoelOculus locualayudaríaa laextensibilidaddelproyectoydelsoftwaresiasísequiere.

Page 11: Simulador de Interfaz Tangible - Uniandes

11

3.EstadodelArteAcontinuaciónsedescribentrabajosanterioresrelacionadosconeltemadelproyectorealizado.MisTable[2](Sokol,2014).

• Descripción:UnequipoenlauniversidaddeBristolprodujoundispositivoquees capaz de proyectar imágenes en una cortina de vapor con interactividadtáctil.El profesor de interacción humano-computador, Sriram Subramania, lideró elproyectoMisTablejuntoconeldoctorDiegoMartínezPlasenciaenlaunidaddeinteracciónygráficosdelaUniversidaddeBristol(BIG)porsussiglaseninglés.

● Cómoselogra:Este dispositivo usa una pareja de ventiladores para desplegar una serie decortinas de humo compuestas por unamezcla de glicerina y vapor de agua,estascortinassonusadascomopantallas.

Las pantallas reconocen gestos táctiles de tal manera que los usuarios soncapacesdemanipularlasimágenesquesonproyectadasyademásdejardeserproyectadasenlapantallaactualparaservisualizadasenotradelaspantallasdehumooenlapantallaLCDquetieneeldispositivo.

● Usosyproblemasresueltos:

El equipo no apuntó a producir una imagen en 3D sino a superar laslimitacionesdelaspantallasexistentes,sinembargolanaturalezaflotantedelaimagen producida porMisTable genera un pseudo efecto 3D. Por otro lado,estaspantallasnomojanlasmanosalatravesarlasyaquelamezclaproduceunvaporseco.

Page 12: Simulador de Interfaz Tangible - Uniandes

12

Figura2.DispositivoMisTable.

Fuente:Sokol,Z.(2014).MisTableLetsYouManipulateFloatingProjectionsMadeOfMist.Recuperadodehttp://thecreatorsproject.vice.com/blog/mistable-lets-you-manipulate-floating-

projections-made-of-mistel24deAgostode2015.

Figura3.IlustracióndecomponentesdeldispositivoMisTable.

Fuente:Sokol,Z.(2014).MisTableLetsYouManipulateFloatingProjectionsMadeOfMist.Recuperadodehttp://thecreatorsproject.vice.com/blog/mistable-lets-you-manipulate-floating-

projections-made-of-mistel24deAgostode2015.

Page 13: Simulador de Interfaz Tangible - Uniandes

13

Figura4.ProyeccióndeldispositivoMisTable.

Fuente:Sokol,Z.(2014).MisTableLetsYouManipulateFloatingProjectionsMadeOfMist.Recuperadodehttp://thecreatorsproject.vice.com/blog/mistable-lets-you-manipulate-floating-

projections-made-of-mistel24deAgostode2015.

TangibleCityScape[3](Tang,Sekikawa,Leithinger,Follmer&Ishii,2013)

● Descripción:Proyectodesarrolladoporel grupodemedia tangibledelMIT sepropusounsistema compuesto de una pantalla de actuadores 2.5D, un proyector deimágenesdigitales,yundetectordegestos.Elobjetivodelproyectoesayudaralprocesodeurbanizacióntangibilizandolainformaciónabstractadelosplanosyconstruccionesexistentesenunmismodiagramainteractivo.

● Cómoselogra:El dispositivo toma la informaciónde la posición y la altura de los edificios avisualizarylatraduceaunmodelodinámicoaescalaemulandolaalturaconlosactuadoresyellímitedelasedificacionesconlaproyección.Sinembargoéstedispositivomuestrauncuadrantedeunplanomásgrandedeterminadoporelseguimientogestualdelasmanosdelusuario.

● Usosyproblemasresueltos:En el proceso de urbanización es importante determinar las medidas,proporciones y relaciones entre las diferentes edificaciones debido a lasnormas del ordenamiento territorial. Por otro lado el Proyecto ayuda avisualizar las dependencias y conflictos entre sistemas urbanos muycomplicados. Actualmente las diversas herramientas de diseño que soportandiferentes partes del proceso, debido a la brecha existente entre larepresentación física y digital de la información, lo hacen ineficiente. Por elcontrario Tangible CityScape permite manipular las dos representaciones yademás comentar los diseños con los colaboradores en tiempo real y demaneraremota.

Page 14: Simulador de Interfaz Tangible - Uniandes

14

Figura5.DispositivoCityScape.

Fuente:Tang,S.,Sekikawa,Y.,Leithinger,D.,Follmer,S.,Ishii,H.(2013).TangibleCityScape.Recuperadodehttp://tangible.media.mit.edu/project/tangible-cityscape/el24deAgostode2015.

Figura6.IlustracióndecomponentesdeldispositivoTangibleCityScape.

Fuente:Leithinger,D.,Follmer,S.,Olwal,A.,Hogge,A.,Ishii,H.(2013).inform.Recuperadodehttp://tangible.media.mit.edu/project/inform/el24deAgostode2015.

Aerial3D[4](TechnoCrazed,2014).

● Descripción:El proyecto tiene como objetivo superar los problemas vistos en otrosdispositivos que dibujan imágenes pseudo 3D en planos 2D, tales como la

Page 15: Simulador de Interfaz Tangible - Uniandes

15

limitación del campo de visión, y la incomodidad fisiológica que produce lapoca familiaridad con las imágenes virtuales. Para lograr superar estosproblemaselequipodesarrollóloqueasuconceptoeralaverdaderapantallaen 3D. Éste dispositivo puede producir puntos de luz en el aire creando asíimágenestridimensionalesenéstemedio.

● Cómoselogra:El dispositivo hace uso del fenómeno de emisión de plasma cerca del puntofocaldeconcentracióndeluzdeunrayoláser.Controlandolascoordenadasdelospuntosfocalesesposibleformarfigurasconstruidasapartirdearreglosdepuntos.

● Usosyproblemasresueltos:El objetivo de la investigación es ayudar con las operaciones pos desastrenatural,demaneratalquesepuedanproyectaravisosenelairequeindiquenala gente dónde puede encontrar refugio, alimento y centros de atenciónmédica.Por lotanto,es importantequelasproyeccionessepuedanhacersinalterarelmediodeproyección,esdecirquesevisualicenenelairecomún.

Figura7.Ilustraciónderayosláser.

Fuente:TechnoCrazed.(2014).Aerial3D:ARevolutionary3DProjectionSystemForAdvertisementsInTheAir.Recuperadodehttp://www.technocrazed.com/aerial-3d-a-

revolutionary-3d-projection-system-for-advertisements-in-the-airel24deAgostode2015.

Page 16: Simulador de Interfaz Tangible - Uniandes

16

Figura8.ProyeccionesdeldispositivoAerialBurton.

Fuente:TechnoCrazed.(2014).Aerial3D:ARevolutionary3DProjectionSystemForAdvertisementsInTheAir.Recuperadodehttp://www.technocrazed.com/aerial-3d-a-

revolutionary-3d-projection-system-for-advertisements-in-the-airel24deAgostode2015.

Page 17: Simulador de Interfaz Tangible - Uniandes

17

4.Metodología,DiseñoeImplementacióndelaSoluciónInicialmentesetrabajóundiseñodecomponentesdelsistema.Resultadodeldiseñosedesarrollaron las componentes de software (interacción gestual y visualizacióntridimensional)yposteriorintegracióncondiferentestecnologías.Ademássetuvieronencuentapruebasdeusuarioparaevaluarlacalidad,tantodelainteraccióncomodela visualización. Por lo tanto se desarrolló cada componente por separado paraverificar su correcto funcionamiento y el cumplimiento de los requerimientosfuncionales asociados a cada uno, y evaluar su calidad desde el punto de vista delusuario. Por último se realizó el trabajo de integración de las componentesdesarrolladasylasrespectivaspruebas.

4.1Diseñodefuncionamientodelsistema

El diseño de funcionamiento del sistema está compuesto por cinco componentes:Interacciónestática, interaccióndinámica,modelodelmundo,visualización,ycontroldeplataformaexperimental. Estediseño se ilustra en la Figura9.A continuacióndedescribenlasfuncionesdelascomponentesasícomolosmódulosquelasconforman.

Figura9.Diseñomodulardesoftware.

MódulosdeinteraccióndinámicaEstacomponenteseencargareconocerlosgestosejecutadosporelusuarioatravésdela interfaznatural conel findeejecutarunaacciónenel simulador. La componenteestácompuestaporlossiguientesmódulos.Caracterización de Gestos: Estemódulo debe comparar la entrada con una base dedatosde losgestosquetienensentidoen laaplicaciónyquehansidodeterminadospreviamente.Labasededatosdegestosdebetenerencuentalaestructuradedatosdefinida para conocer qué características se almacenan allí y así mismo definir los

Page 18: Simulador de Interfaz Tangible - Uniandes

18

gestosentérminosdeestascaracterísticas.Porúltimo,estemódulodebereconocersialgún gesto de la base de datos ha sido ejecutadopor el usuario e identificarlo. Asímismo, debe definir una nueva estructura de datos en donde se almacenaran losgestos ejecutados junto con las características interesantes del mismo. Los gestosreconocidossedescribenacontinuación:Manoderecha

Figura10.Gestosdedesplazamiento

ManoIzquierda

Figura11.Gestosdeescalamiento

Manoalaizquierda Manoaladerecha

Manohaciaatrás

Manohaciaadelante

Manohaciaarriba

Manohaciaabajo

Manoalaizquierda Manoaladerecha

Manohaciaadelante

Manohaciaatrás

Page 19: Simulador de Interfaz Tangible - Uniandes

19

Figura12.Gestosderotación

Interpretación:Estemódulodebeconocercómoseestructuranlosdatosdelosgestosejecutadosporelusuario,productodelmódulodecaracterizacióndegestos.Apartirde cada gesto reconocido y de sus características interesantes, debe ejecutar unaacciónenelsoftware.Paraesto,sedebeconocerelsignificadodecadaacciónysusparámetros, loscualesdeberíanserequivalentesa lascaracterísticas interesantesdecadagesto.Acontinuaciónsemencionalaequivalenciaentregestosreconocidosylasaccionesejecutadasporelsimulador:Manoderecha

• Manohaciaatrás:Moverobjetohaciaatrás.• Manohaciaadelante:Moverobjetohaciaadelante.• Manoaladerecha:Moverobjetoaladerecha.• Manoalaizquierda:Moverobjetoalaizquierda.• Manoarriba:Pasaravistacontinua.• Manoabajo:Pasaravistadiscreta.

Manoizquierda

• Manohaciaatrás:Disminuirlargodelobjeto.• Manohaciaadelante:Aumentarlargodelobjeto.• Manoaladerecha:Aumentaranchodelobjeto.• Manoalaizquierda:Disminuiranchodelobjeto.• Manoarriba:Aumentaraltodelobjeto.• Manoabajo:Disminuiraltodelobjeto.• Rotarmano con lasmanecillas del reloj: Rotar objeto con lasmanecillas del

reloj.• Rotarmanocontra lasmanecillasdel reloj:Rotarobjetocontra lasmanecillas

delreloj.MódulosdeinteracciónestáticaEstacomponenteseencargademodelarlascaracterísticasdeldispositivoasimular.Lacomponente está compuesta por el siguiente módulo. Adquisición de parámetros:Captura los datos del dispositivo a simular. Estos datos son: la resolución deldispositivoaloanchoyalolargo,yelradiodeloschorrosdeagua.

Rotarmanoconlasmanecillasdelreloj

Rotarmanocontralasmanecillasdelreloj

Page 20: Simulador de Interfaz Tangible - Uniandes

20

MódulosdelmundoModeloscontinuos:Estemóduloseencargadealmacenartodosmodelosgeométricosquemanejaelsoftware.Estosmodelosson:caja(paralelepípedo),tetraedro,pirámide,cilindro,cilindroelíptico,cono,conoelíptico,paraboloide,paraboloideelíptico,toro,yautomóvil.Porotrolado,debeadquirirlaseleccióndelusuarioylosparámetrosquesonimportantesparaesemodelo,loscualestambiénsonseleccionadosporelusuario.Los parámetros para cadamodelo siempre son largo, ancho y alto. Por últimodebealmacenarlaseleccióndelmodeloysusdimensionesingresadoscomoparámetrosenunaestructuradedatosdefinida.Interfaz tangible continua: se encarga de soportar los objetos continuos demaneraquepuedeenviarlosdatosdedimensiones,posición,yrotacióndeunobjeto.Porotrolado, tiene los parámetros dispositivo a simular para generar un acuerdo entre eldispositivodiscretoyestaplataformaparaobjetoscontinuos.Interfaz tangible discreta: Este módulo se encarga de capturar los parámetros deldispositivo a simular, los cuales son definidos por el usuario. Estos parámetros sonusados para determinar la discretización delmodelo continuo producto delmóduloanterior.Porúltimo,debealmacenarladiscretizaciónylascaracterísticasinteresantesdeldispositivoasimularenunaestructuradedatosdefinida.MódulosdevisualizaciónEsta componente tienecomo funciónalmacenarygraficar losmodelosgeométricos,así como también graficar el dispositivo simulado. Por otro lado, se encarga demodificar las característicasde losmodelos geométricos con respecto a las accionesejecutadasporelusuario.Lacomponenteestáconformadaporlosmódulosdescritosa continuación. Visualización continua: A partir de los datos delmódulo de interfaztangiblecontinua,pintaelmodelocontinuoenla interfazdeusuarioyseencargadeactualizarestavistaconformecambienlosparámetrospasadosporestemódulo.Visualizacióndiscreta:Apartirde losdatosdelmódulode interfaz tangiblediscreta,pinta el modelo discreto en la interfaz de usuario según las características deldispositivo a simular y se encarga de actualizar esta vista conforme cambien losparámetrospasadosporestemódulo.Controldeplataformaexperimental:Apartirdelosdatosproducidosenelmódulodeinterfaztangiblediscreta,debecapturarelestadodecadaunode losactuadoresdeldispositivo simulado,apartirdelestadodecadaunodeestos, seencargadeenviarunaseñalfísica,queinterpretarácadaunodelosactuadoresfísicosparadeterminarelestadoquedeberíapresentar.

4.2Implementación

Page 21: Simulador de Interfaz Tangible - Uniandes

21

ParaimplementarlasolucióndesoftwaresehahechousodeUnityelcualesunmotorde videojuegos que tiene una versión gratuita lo suficientemente completa paracumplirlosrequerimientosdelproyecto.Estaherramientapermitelaimplementacióndelosmódulosdelmundo,yvisualizaciónyaquelainterfazgráficaUnitypermitecrearuna interfaz gráfica de forma sencilla e incorporar los scripts que modelan elcomportamientodecadaobjetode la interfaz.EldispositivoLeapMotionseencargadelaadquisicióndelasposicionesdelasmanos,ycontienelibreríasparaUnityconlascualesesposibleidentificarlosgestoscuandosonejecutadosporelusuario.Primerosedebeconstruirunmenú inicialelcualdebeobtenerdelusuario losdatosnecesariosparallevaracabolasimulacióndelageometríaespecificadaporelusuario.Estosdatosson: lasmedidasdeanchoyde largodeldispositivo, laresoluciónde losactuadoresdeaguaaloanchoyalolargodeldispositivo,elgrosordelchorrodeagua,lageometríaquesequiererepresentarenlasimulación,ylasmedidasinicialesdeestageometría(ancho,largo,alto).Paraimplementarelmenú,sedebenusarlosobjetosdeinterfazqueofreceUnitydetalmaneraquesemuestrenloscamposdondedebenseringresados losdatosconsurespectivadescripción.HaciendousodeunscriptescritoenC#serecolectanlosdatosdecadacampoingresadosporelusuario.Luegodeconocerlasespecificacionesdelusuariosedebecambiardelavistadelmenúa una vista inicial predeterminada. En este caso se eligió la vista continua de lageometría.Paraconstruirestavistasecreóunplanoquedebetenerlasdimensionesespecificadasporelusuario (anchoy largodeldispositivo),sobreesteplanosedebevisualizar la geometría descrita por el usuario, todas las geometrías deben estarprefabricadasenUnity(yaseannativasoimportadas)ycondimensionesunitarias.Porúltimoseasignanlasmedidascorrespondientesdelafiguraingresadasporelusuariode largo ancho y alto a la primitiva que se está visualizando. Para crear la vistapredeterminada,sedebecrearunobjetodetipoplanoysedebecrearlosprototiposde cada objeto que se quiere visualizar. Unity cuenta con unos objetospredeterminados que coinciden con algunos de los objetos que se plantearon en elproyecto.Sinembargo,paraaquellosquenoexistíanpreviamenteen losprototipos,seutilizólaherramientaBlender,lacualpermitedibujarnuevosobjetosyexportarlosaUnityparaañadirlosalacarpetadeprototipos.Cuandoseobtienenlosparámetrosingresadosporelusuario,sedebeinvocarunprototiposobreelplanoyasignarleconunscriptescritoenC#lasdimensionesrecolectadasporelscriptdelmenúinicial.Paracrearlavistadiscretizadadelageometríaavisualizarsedebeconocerelestadode cada uno de los actuadores, este estado está representado por una altura, estaalturadebeserequivalentealaalturadelageometríacontinuaenelpuntoespecíficodonde se encuentra el actuador. Para lograr esto, se debe crear un objeto de tipoplano,elcualesprototipodeUnitycon lasmismascaracterísticasqueelplanode lavista continua, sin embargo este plano va a tener un objeto que representa a unactuador de agua, en este caso se usaron cilindros, los cilindros son prototiposincluidospordefectoenUnity.Setendráuncilindroporcadaactuadordescritoporelusuario, es decir se debe implementar la instanciación de una matriz de cilindrosuniformementedistribuidosconlasmedidasderesoluciónaloanchoyalolargodelplano.EstoselograhaciendousodeunscriptescritoenC#,elcualhaceunrecorrido

Page 22: Simulador de Interfaz Tangible - Uniandes

22

porelplano invocandounobjetode tipocilindrocorrespondiendocon la resoluciónque describió el usuario. Así mismo cada cilindro debe tener el grosor del chorroespecificado por el usuario. El grosor es asignado por el script modificando lascaracterísticasdecadaobjetodetipocilindroinstanciadoenelplano.Ahorabien,paragenerarlacorrespondenciaentrelavistacontinuaylaespecificadaexistendiferentesalternativas.La primera de las alternativas consiste en hacer uso delmecanismo de raycast queofrece Unity. Para esto se debe definir un rayo por cada uno de los cilindros querepresentanlosactuadores.Cadarayosegeneraenlascoordenadasequivalentesalasdelcilindroperoenelplanocontinuo,sinembargonosedefinedesdeelplanosinohaciaelplano,esdecirquecadarayosegeneraenunaalturamayorquelaquepuedaalcanzar la geometría y se leasigna ladirecciónhaciaelplanode talmaneraqueelrayoseanormalalplanoenelpuntodelactuador.Deestamanerasepuedemedirlaalturaquetienelageometríaenesepunto,haciendousodelpuntoenelquecolisionaelrayoconlageometría.Estaalturamedidaes laquese leasignaalcilindro,ydebeactualizarse constantemente así como generarse el rayo para poder visualizar loscambiosdelavistacontinuaenlavistadiscreta.Sinembargo,estaprimeraalternativaresulta ser muy costosa en tiempo de ejecución debido a que se están generandorayosentodomomentoyporcadaactuador.

Figura13.MecanismoRaycast.

En la Figura 13 se ilustran los rayos que son lanzados constantemente al plano. Enparticular, existen dos rayos que colisionan con la figura. Al colisionar, conocen lascoordenadasX,Y,yZdelacolisiónydeestamaneraseconocelaalturadelpuntodecolisiónyporlotantolaalturadelafiguraenesepunto.

Page 23: Simulador de Interfaz Tangible - Uniandes

23

Lasegundaalternativapartedelaprimerayoptimizaelprocesoderaycast.Paraevitarque se generen rayos en los puntos del plano endonde existan actuadores, pero lafigura no esté presente, se hace uso de esferas que reaccionan a la colisión con lageometríarepresentadaenelplanocontinuo.Cadaesferatieneuntamañomínimo,ysecolocaenelplanodelavistacontinuacorrespondienteacadapuntodondeexisteunactuadorenelplanodiscreto.ParahacerlaimplementacióndelasesferassehaceusodeunscriptescritoenC#,elcualrecorreelplanodelavistacontinuaeinstanciaunobjetodetipoesferaprototipodeUnityyactivalacualidaddecolisionador.Deestamanera,cuandolageometríacolisioneconalgunadelasesferas,esteobjetoejecutaráun script que activará el mecanismo de actualización de los cilindros pormedio deraycaster y se mantendrá en funcionamiento sólo mientras la geometría esté encontacto con la esfera. Sin embargo, aún se puede hacer una optimización a esteproceso y es fortalecer la condición de activación del raycast. Para esto, no sólo essuficiente que la geometría esté en colisión con la esfera sino que también lageometría esté siendo trasladada, rotada, o escalada. Por lo tanto el script que seejecutamientras la esfera esté en colisión con la geometría, debe preguntarle a lageometríasisucaracterísticadeposiciónodimensiónestácambiandoparacontinuarejecutándose. De estamanera, se asegura que sólo se haga raycast cuando vaya ahabercambiodeestadoenlageometríayporlotantodebahabercambiodeestadodeloscilindros.

Figura14.Mecanismodeesferasdecolisión.

EnlaFigura14seilustranlasesferasqueestándispersasportodoelplano.Asímismo,seobservan lasesferasqueestánencolisióncon la figura,ycomoseencuentranencolisión,losrayossolosonlanzadosalaposicióndeestasynoentodoelcampocomolaanterioralternativa.

Page 24: Simulador de Interfaz Tangible - Uniandes

24

Existe una tercera alternativa que no hace uso de raycast para la actualización delestado de los cilindros. Esta alternativa consiste en hacer uso de las funciones desuperficiequepuedentenerlasgeometrías.Deestamanerateniendolafunción,sólosedebeproporcionarelpuntodecoordenadasx,ydondeseencuentraelactuadorylafuncióndevuelveelvalordelaalturaquetienelageometríaenesepunto,yesteeselvalor que se usará para actualizar la altura del cilindro. Sin embargo, para poderimplementarestaalternativaesnecesarioqueloscomandosquemodificanelestadode la geometría, modifiquen la función de la misma, de tal manera que la funciónefectivamenterepresenteelestadodelobjetoenestemomento.Porotrolado,existeunproblemaconestaalternativayescuandolosobjetosarepresentarnotenganunaecuacióndesuperficiequelosrepresenteoestaseamuycomplicada,yaquedeberíacrearse laecuaciónapartirdelmapeode lageometría, locualnoestrivial.Porestarazón,seusólasegundaalternativaparalaimplementacióndelasolución.Para ilustrar esta alternativa, se considera la semiesfera cuya figura se muestra acontinuación:

Figura15.Mecanismodefuncionesdesuperficie.

Laecuacióngeneralquemodelaunaesferasemuestraacontinuación:

(𝑥 − 𝑎)! + (𝑦 − 𝑏)! + (𝑧 − 𝑐)! = 𝑟!Dondereselradiodelaesferaya,b,ycsonlascoordenadasdelcentrodelamisma(conocidos).Cadaunodelosactuadorestieneunaposiciónsobreelplanodefinidaporunascoordenadasx,y.Deestamanera,paraconocerlaalturadelaesferaseinsertanlosvaloresmencionadosanteriormenteysehayaelvalordez.

Page 25: Simulador de Interfaz Tangible - Uniandes

25

El siguiente paso de implementación tiene que ver con los gestos que controlan lasgeometrías.Para lograrel reconocimientodegestos sehizousodeldispositivoLeapMotion el cual es capaz de reconocer las posiciones de las manos y los dedos ydistinguirentremanoderechaymanoizquierda.Porotrolado,tieneunalibreríaqueofrececompatibilidadconUnity.Asíqueelprimerpasoesdescargarlalibreríaconlosrecursos que permite usar el LeapMotion junto conUnity. Luego de esto, se van adefinir los gestos que controlan cada una de las tareas propuestas de traslaciónrotación y escalamiento. En este caso se definió que lamano derecha controlara latraslación,yquelamanoizquierdacontralaraelescalamientoylarotación.Paralograresto,lalibreríapermiteconocerlaposicióndelamanoentresdimensiones,asíquesehizo uso de cada una de las dimensiones para controlar un eje de transformacióndiferente. Primero se pregunta si lamano es izquierda o derecha. Si es derecha, seespecifica que si lamano tiene una posición en el eje xmayor a cierto número, lageometría debería moverse hacia la derecha de la pantalla, y si la mano tiene unaposiciónenxmenoraciertonúmero,lageometríadeberíamoversehacialaderechadelapantalla.Porotrolado,si lamanotieneunaposiciónenelejeymayoraciertonúmerodeunidades,lageometríadeberíamoversehaciaatrásenelespacio3D,ysiesmayoraciertonúmerodeberíamoversehaciaadelante.Ademásdeesto,sieslamanoizquierda,sedefinequesilaposicióndelamanotieneunaposiciónenelejexmayoracierto número, la figura aumente su dimensión a lo ancho y si es menor a ciertonúmerodisminuyasudimensióndeancho.Porotrolado,sitieneunaposiciónenelejey mayor a cierto número, aumente su dimensión de largo, y si es menor a ciertonúmero,disminuyasudimensióndelargo.Ademásdeesto,sedefinequesi lamanotiene una posición en el eje zmayor a cierto número, aumente la dimensión de lafiguraenelalto,ysi fueremenoraciertonúmero,disminuya ladimensióna loalto.Porúltimo,haciendousodelalistadegestosquereconoceelLeapMotionjuntoconlalibrería sedefinequeal reconocerelgestode rotacióndededoenel sentidode lasmanecillasdelreloj,lageometríaroteenesesentido,ysilageometríaesencontradelas manecillas del reloj, la geometría rote de esa manera. Cabe aclarar que esimportante dejar un espacio entre las posiciones de las manos que hacen que elsoftwarereaccione,detalmaneraqueexistaunazonaneutraendondelamanoestésiendo reconocida por el Leap Motion pero que no se esté ejecutando ningúncomando sobre la geometría, esto se hace para darle mayor control al usuario. Eldispositivo LeapMotion tiene una compatibilidad de “Plug and play” conUnity. Porestarazón,despuésdetenerlaslibreríasincorporadasalproyecto,enelscriptescritoen C# que se quiere implementar el reconocimiento de gestos, se invoca un objetoLeapMotiony sepregunta laposiciónde lamano izquierday lamanoderecha. EstainvocaciónretornaunaposiciónconcoordenadasdetipodoubleenX,Y,yZ.Luegodeesto se compara cada coordenada con una serie de coordenadas obtenidasempíricamenteparaconocersilamanoseencuentraenunoctantedeterminadoyporlo tantoestaría realizandoungesto.Apartir deesto,dentrode cada condicional seinvocalacaracterísticadelageometríaquedebemanipularesegestoyseejecutaelcambio correspondiente.Elprocedimientopara reconocer la rotaciónde lamanoessimilar,sinembargoenvezdepreguntarporlascoordenadasdelamanosepreguntaal objeto LeapMotion si se está realizando el gesto de rotación o no y si se estáejecutando con el sentido de las manecillas del reloj o contra el sentido de las

Page 26: Simulador de Interfaz Tangible - Uniandes

26

manecillasdelreloj,seprocedeainvocarlacaracterísticaderotacióndelageometríaparaejecutarelcambioensurotacióndependiendodelsentidodelgesto.Elúltimopasoesdefinir las transicionesentreescenarios.Paraestose requierequetantoelplanoquecorrespondealavistacontinuacomoalplanoquecorrespondealavista discreta tengan una cámara independiente que se encargue de mostrar elcontenidodecadaunadelasvistasdemaneraquesepuedaapreciarelprocesodelastransformaciones,oensudefectocolocarvariascámarasorientadasalmismoplanopara mostrar las diferentes perspectivas. Por otro lado, debe definirse el comandopara latransiciónentreunavistayotra,estecomandoseencargarádeactivartodaslas cámaras correspondientes a una vista, y desactivar todas las cámarascorrespondientes a la otra vista. En este caso, se hizo uso del eje libre de lamanoderecha(ejez)ysedefinióquesilamanoderechateníaunaposiciónenelejezmayoraciertonúmero,lavistadeberíaserlavistacontinua,ysieramenoraciertonúmero,lavistadeberíaserlavistadiscreta.Porúltimo,esimportantedejaruncomandoparareiniciar la simulación y volver al menú principal, en este caso debido a la falta degestosdisponiblesseusóalgunatecladelteclado.

Page 27: Simulador de Interfaz Tangible - Uniandes

27

5.ResultadosdelproyectoypruebasA continuación un pantallazo de la interfaz gráfica inicial del simulador (donde semuestranlosmodelosgeométricosposiblesylosparámetrosdeldispositivofísico).

Figura16.Menúinicial.

A continuación se pueden observar losmodelos continuos y de simulación discretagenerados por el software. Para cada una de las figuras a continuación se definencomo parámetros por el usuario un ancho, un largo, y un alto; estas apareceninicialmenteenorigendelplano. Losmodelosdiscretizados,porotraparte, sonunasimulación de un dispositivo físico que tiene como parámetros: las dimensiones deldispositivo(tamañoenXytamañoenY)estasdimensionestienenunarelaciónde10a1conrespectoa lasunidadesdelobjeto.Laresolucióndelmismo(resoluciónenXyresoluciónenY), loque significa la cantidaddeactuadoresen cada filadel ejeXasícomolosdelejeYdelplano.Elradiodecadaunodeloschorrosdeagua(grosor),elcualtieneunidadesequivalentesalasdelobjeto.

Figura17.Caja(Paralelepípedo)continuo(Ancho:1,Largo:1,Alto:1)

Page 28: Simulador de Interfaz Tangible - Uniandes

28

Figura18.Caja(Paralelepípedo)discreto(Ancho:1,Largo:1,Alto:1)

Figura19.OrtoedroContinuo(Ancho:2,Largo:1,Alto:1).

Page 29: Simulador de Interfaz Tangible - Uniandes

29

Figura20.Ortoedrodiscreto(Ancho:2,Largo:1,Alto:1).

Figura21.Tetraedrocontinuo(Ancho:2,Largo:2,Alto:2).

Page 30: Simulador de Interfaz Tangible - Uniandes

30

Figura22.Tetraedrodiscreto(Ancho:2,Largo:2,Alto:2).

Figura23.Pirámidecontinua(Ancho:2,Largo:2,Alto:2).

Page 31: Simulador de Interfaz Tangible - Uniandes

31

Figura24.Pirámidediscreta(Ancho:2,Largo:2,Alto:2).

Figura25.Cilindrocontinuo(Ancho:2,Largo:2,Alto:1).

Page 32: Simulador de Interfaz Tangible - Uniandes

32

Figura26.Cilindrodiscreto(Ancho:2,Largo:2,Alto:1).

Figura27.Cilindroelípticocontinuo(Ancho:2,Largo:4,Alto:1).

Page 33: Simulador de Interfaz Tangible - Uniandes

33

Figura28.Cilindroelípticodiscreto(Ancho:2,Largo:4,Alto:1).

Figura29.Conocontinuo(Ancho:2,Largo:2,Alto:1).

Page 34: Simulador de Interfaz Tangible - Uniandes

34

Figura30.Conodiscreto(Ancho:2,Largo:2,Alto:1).

Figura31.Conoelípticocontinuo(Ancho:1,Largo:2,Alto:1).

Page 35: Simulador de Interfaz Tangible - Uniandes

35

Figura32.Conoelípticodiscreto(Ancho:1,Largo:2,Alto:1).

Figura33.Paraboloidecontinuo(Ancho:2,Largo:2,Alto:1).

Page 36: Simulador de Interfaz Tangible - Uniandes

36

Figura34.Paraboloidediscreto(Ancho:2,Largo:2,Alto:1).

Figura35.Paraboloideelípticocontinuo(Ancho:1,Largo:2,Alto:1).

Page 37: Simulador de Interfaz Tangible - Uniandes

37

Figura36.Paraboloideelípticodiscreto(Ancho:1,Largo:2,Alto:1).

Figura37.Torocontinuo(Ancho:2.5,Largo:2.5,Alto:1).

Page 38: Simulador de Interfaz Tangible - Uniandes

38

Figura38.Torodiscreto(Ancho:2.5,Largo:2.5,Alto:1).

Figura39.Automóvilapartirdemodelosgeométricoscontinuas(Ancho:2,Largo:2,Alto:1).

Page 39: Simulador de Interfaz Tangible - Uniandes

39

Figura40.Automóvilapartirdemodelosgeométricosdiscretos(Ancho:2,Largo:2,Alto:1).

Como resultado del mapeo de los gestos que controlan la rotación, traslación yescalamientodelasgeometrías,segenerólasiguienteilustraciónquenosólomuestralosresultadosdeloscomandosquetienensentidodentrodelasolucióndesoftwaresinoquetambiénbuscaseruninstructivoparaqueelusuarioconozcacómousarestoscomandosparacontrolarlasimulación.Manoderecha

Figura41.Gestosdecambiodevista

Vistamodelocontinuo

Vistamodelodiscreto

Page 40: Simulador de Interfaz Tangible - Uniandes

40

Figura42.GestosdedesplazamientoenelejeX,yY

Manoizquierda

Figura43.GestosdeescalamientoenelejeX,yY

Figura44.GestosdeescalamientoenelejeZ

Figura45.Gestoderotaciónconlasmanecillasdelreloj

Disminuiranchodelobjeto Aumentaranchodelobjeto

Aumentarlargodelobjeto

Disminuirlargodelobjeto

Disminuiranchodelobjeto Aumentaranchodelobjeto

Aumentarlargodelobjeto

Disminuirlargodelobjeto

Aumentaraltodelobjeto

Disminuiraltodelobjeto

Rotarobjetoconlasmanecillasdelreloj

Page 41: Simulador de Interfaz Tangible - Uniandes

41

Figura46.Gestoderotacióncontralasmanecillasdelreloj

5.1Pruebasdeusuario

Acontinuación sepuedeapreciarel formatoqueapoyó laspruebasdeusuarioparavalidarelprototipo:

Figura47.Formatodepruebasdeusuario.

A partir de diez pruebas con usuarios se logró evaluar cada uno de los anterioresaspectosde1a5siendo1lapeorcalificacióny5lamejor.Losresultadossemuestranacontinuación.

Rotarobjetocontralasmanecillasdelreloj

Page 42: Simulador de Interfaz Tangible - Uniandes

42

Figura48.Resultadospruebasdeusuario.

Como se puede observar en el gráfico, los cuatro aspectos con menor calificacióntienen que ver con la creación del dispositivo y la rotación delmodelo. Esto puededeberse a que los parámetros que definen al dispositivo deben tener una relaciónapropiadaqueesdificildeversinosetieneundispositivocontruido,porejemploelgrosorde los chorritosdebe ser lo suficientementepequeñoparaquequepaneneldispositivoconlaresolucióndeterminada.Porotrolado,larotaciónesungestoqueelLeapMotion tieneproblemas en reconocer ya sea por el tiempoque se demora enhacerloolaprecisiónalhacerlo.Así mismo se puede apreciar que los mejores puntajes los obtuvo la calidad de latransformaciónconmodelodecomplejidadalta,lacomprensióndelatransformacióndelmodelocontinuoadiscretoyelescalamiento.Primero,es interesantenotarquelos modelos de complejidad alta tienen formas que hacen que el modelo discretoreaccione de una manera más dinámica. Por otro lado, el hecho de discretizar unobjeto parece ser bastante intuitivo y no generamayor dificultad para los usuariosdarse cuenta de cómoocurre esto. Por ultimo, la operación de escalamiento en losmodelos continuos es casi como moldear el objeto como el usuario quiera y estoparecíaatractivoparalamayoríadelosusuariosquerealizaronlaprueba.

00.51

1.52

2.53

3.54

4.55

Page 43: Simulador de Interfaz Tangible - Uniandes

43

6.ConclusionesyTrabajosFuturosEldesarrolloprincipallogradoenelproyectocumpleconlosobjetivosplanteadosenelmismo.EldispositivosimuladoseintegróconeldispositivoLeapMotionparaobteneruna interacciónnaturalentreeldispositivoyelusuarioa travésde losgestosde lasmanos. Con la mano derecha se controla la posición del objeto, y con la manoizquierda se controla el cambio de dimensiones y la rotación delmismo. Es posibledefinir los parámetros del dispositivo de ancho, largo, y su resolución en estas dosdimensionesasícomoelgrosordeloschorrosdeaguaparasimularcorrectamenteeldispositivoreal.Porotro lado,eldesarrolloestáencapacidaddemostrar lavista3Ddel objeto modelado así como su visualización 3D aproximada. Los modelosgeométricosquemanejaeldesarrollo incluyen las figurasde tipo cubo/caja, cilindroelíptico,pirámides,unmodelo2Ddeunautomóvilconbarridoylafiguradetipotoroel cual está definido por una función continua. Por último, se probó el sistema condiferentes usuarios, los cuales aseguraron que existen interacciones tales como elmovimientoyescalamientodelobjetoquesonmuyamigables,asícomointeraccionesquenecesitanmejorartalescomolaparametrizacióndeldispositivoy larotacióndelobjeto.Apartirdelasolucióndesoftwaregeneradasepuedenobservarlaslimitacionesqueexisten entre la interacción natural y la tecnología usada, las cuales son uno de losproblemas más importantes trabajados en el campo de la investigación humanocomputador.Estaslimitantestienenqueverconlacantidaddegestosquesepuedenreconocerapartirdelosdatosdeundispositivodereconocimiento.Enprimerlugarseencuentra que la precisión del dispositivo así como la capacidad de diferenciardiferentes parámetros de una misma interacción, en específico a este caso, lacapacidaddediferenciarcadadedoydeseguirsumovimientoconexactitud,son lascapacidades más importantes que se deben buscar a la hora de seleccionar undispositivo de adquisición. Esto debido a que entre más diferencias se puedanencontrarentrealgunaposiciónespecíficadelamanoyalgunaotraposiciónhaciendousodecadavezmásparámetrosesloqueabrelaposibilidaddeampliarelabanicodegestosaquesepuedenusarcomocomandosquetienensentidoparaelsoftware.En segundo lugar, es importante tener en cuenta las librerías que acompañan a losdispositivosdeadquisiciónyaqueunalibreríasiempreesunabuenaopciónparahacermás liviana lacargaqueeldesarrolloo la implementaciónpuedaconllevar.Porotrolado,laslibreríassiempreabrenlosojosanuevasposibilidadesdeinteracciónyaquelos desarrolladores de estas ayudas tienden a conocer mejor las capacidades deldispositivo para el cual están desarrollando y son capaces de generar en mayor omenor medida la cantidad de gestos que se pueden reconocer y por lo tanto lacantidaddefuncionesdiferentesquepuedeejecutarelusuariodemaneranatural.Sinembargo,esimportantenotarqueexistannosólofuncionesinteresantesenlalibreríasinoque tambiénestas funciones sedesempeñendemaneraadecuada yaque si seofrecenfuncionesconmalacalidad,nosólohablanmaldeldispositivodeadquisición,sinotambiéndetodoslosdesarrollosquehaganusodeesasfunciones.Enparticularparaestedesarrollo,hubounafunciónquenosedesempeñódemaneraadecuaday

Page 44: Simulador de Interfaz Tangible - Uniandes

44

fue una características más notadas por los usuarios, esta función fue la que seencargaba de la rotación del objeto a partir de un gesto de rotación. Este gesto seencontrabacontenidodentrode la libreríacomounode losgestosqueeracapazdereconocer el dispositivo Leap Motion, y su implementación era completamentetransparenteparaelprogramador,sinembargonoeraungestoquefuerafácilmentereconocidoyporlotantolatareaderotarunobjetosehacíadifícilparaelusuario.Entercerlugarsedebeapreciarquelacapacidaddereconocerunagrancantidaddegestosimplica,además,saberlosusardeunamaneraadecuada.Estoquieredecirquesedebetenerencuentaqueaquellosgestosqueseanmuyparecidosvanaafectarenmayoromenormedidalacurvadeaprendizajedelusuarioyaquepuedeexistirciertaambigüedad entre gestos cuando se está iniciando el proceso de aprendizaje de unusuario.Enestecasoparticularsepuedeverqueal inicioelusuario tuvoproblemaspara diferenciar las tareas que se hacían con la mano derecha de aquellas que sehacían con la mano izquierda y viceversa, ya que en algunas ocasiones intentabanejecutar los comandos correspondientes a la mano contraria y de esta manera noobteníanelresultadoqueellosesperaban.Encuantoaldesempeñodelsoftwareesimportanteprocederconcautelaalahorademanejarlasoperacionesquetienenquevercongráficoscuandolacantidaddeobjetosgráficos influye de manera importante en la cantidad de operaciones que debenrealizarse.Esporestoqueeneldesarrollodelproyectodebiómejorarselaformaconlacualseestabaactualizandoelmodelodiscretoapartirdelmodelocontinuo,yaqueporsímismoelprocesoderaycastescostosoyademástuvounarelacióndirectaconla resolución del dispositivo que se estaba simulado. De estamanera debió hacerseuna optimización de los recursos para que el raycast se hiciera sólo cuando fueranecesarioteniendoencuentaquedetodasmaneraseraunabuenaopciónparahacerel mapeo de las alturas de la figura geométrica. Por otro lado, en este tipo dedesarrollos vale la pena intentar utilizar métodos analíticos para poder realizaracciones sobre los gráficos que sean necesarias, ya que estas permiten tener bajotiempocomputacional loqueserequierecuandolacantidaddegráficosaumentademanera importante. Sin embargo, estos métodos conllevan algunas limitantes quepuedenserdeterminantesalahoradedecidirsisíelmétodoseutilizaono,enesteproyecto esa limitante no permitió que se realizara el desarrollo a través de estemétododebidoaquenotodaslasfigurasteníanunaformaanalíticaoerademasiadocomplicadaparapodertrabajarconella.Comotrabajofuturoseprodríausarestaaproximaciónalainteracciónconinterfacestangiblesparaapoyarelfuncionamientodelaspantallastridimensionalesqueestánenconstrucción en este momento. Por otro lado, se espera que los hallazgos en estetrabajo sean tenidos en cuenta a la hora de seguir la investigación sobre estastecnologíasyaesimportanteevidenciarlasfalenciasylimitantesdelosdispositivosdecapturagestualylasaproximacionesalaspantallastridimensionalesdehoyendía.En segundo lugar seesperaextenderestedesarrolloparaque soporte interaccionesmultimodales ya que de esta manera se puede enriquecer los comandos que son

Page 45: Simulador de Interfaz Tangible - Uniandes

45

ejecutadosporelusuarioconelobjetivodequenohayaningúntipodeambigüedadyquelacurvadeaprendizajedelusuariodisminuya.Entercerlugar,elproyectoplatealasbasesyproponelaconstruccióndeunhardwareque se aproxime a una pantalla tridimensional pero sin los latos costos que estoacarrea.Deestamanera,conunainversiónmínimaylosconocimientosnecesarioseneláreadela ingenieríaseproyectahacerrealidadeldispositivoquesequisosimularconesteproyecto.Porotrolado,eldesarrolloserviríacomomodeloparaelsoftwarequeseencarguedecontrolaresapiezadehardwareaúnnomanufacturada.

Page 46: Simulador de Interfaz Tangible - Uniandes

46

Bibliografía[1]Baldasarri,S.(2014).ParadigmasAvanzados:InteracciónTangible.Recuperadodehttp://webdiis.unizar.es/asignaturas/DCU/wp-content/uploads/2015/02/DCU_Tangible_2014-15.pdfel24deAgostode2015.[2]Sokol,Z.(2014).MisTableLetsYouManipulateFloatingProjectionsMadeOfMist.Recuperadodehttp://thecreatorsproject.vice.com/blog/mistable-lets-you-manipulate-floating-projections-made-of-mistel24deAgostode2015.[3]Tang,S.,Sekikawa,Y.,Leithinger,D.,Follmer,S.,Ishii,H.(2013).TangibleCityScape.Recuperadodehttp://tangible.media.mit.edu/project/tangible-cityscape/el24deAgostode2015.[4]TechnoCrazed.(2014).Aerial3D:ARevolutionary3DProjectionSystemForAdvertisementsInTheAir.Recuperadodehttp://www.technocrazed.com/aerial-3d-a-revolutionary-3d-projection-system-for-advertisements-in-the-airel24deAgostode2015.