Escolar Documentos
Profissional Documentos
Cultura Documentos
EJS
March 11, 2009, at 11:00 AM
PDF2You: http://www.um.es/fem/EjsWiki/index.php/Main/PrintEs
nada
EJS
Contents
1 Introduction and getting started 1.1 HomePage (w) . . . . . . . . . . . . . . Acerca de Easy Java Simulations . . . . En esta Wiki . . . . . . . . . . . . . . Contador de visitas . . . . . . . . . . . Ayude a documentar EJS! . . . . . . . 1.2 Foreword (w) . . . . . . . . . . . . . . 1.3 WhatIsEJS? (w) . . . . . . . . . . . . . 1.4 Installation (w) . . . . . . . . . . . . . . Instalacin multi-idioma . . . . . . . . Aspecto grco de la interfaz de usuario 1.5 Download (w) . . . . . . . . . . . . . . Descargar . . . . . . . . . . . . . . . . Instalar . . . . . . . . . . . . . . . . . EJS es de cdigo abierto . . . . . . . . 1.6 EJSWorkspaces (w) . . . . . . . . . . . 1.7 RunningEjs (w) . . . . . . . . . . . . . 1.8 Console (w) . . . . . . . . . . . . . . . 1.9 ConsoleBasicOptions (w) . . . . . . . . 1.10 ConsoleAdvancedOptions (w) . . . . . . 1.11 ConsoleOutputArea (w) . . . . . . . . . 1.12 EJSUserInterface (w) . . . . . . . . . . The panels in EJS 2.1 InformationPanel (w) . . . . . . . . . 2.2 Description (w) . . . . . . . . . . . . 2.3 Model (w) . . . . . . . . . . . . . . . 2.4 ModelVariables (w) . . . . . . . . . . 2.5 ModelInitialization (w) . . . . . . . . 2.6 ModelODEEditor (w) . . . . . . . . . 2.7 ModelEvents (w) . . . . . . . . . . . 2.8 ModelFixedRelations (w) . . . . . . . 2.9 ModelCustomCode (w) . . . . . . . . 2.10 PredenedMethods (w) . . . . . . . . 2.11 View (w) . . . . . . . . . . . . . . . . 2.12 ElementsConnecting (w) . . . . . . . 2.13 ElementsConnectingToExpressions (w) 2.14 Elements (w) . . . . . . . . . . . . . . 2.15 ElementsInterface (w) . . . . . . . . . 2.16 Elements2DDrawables (w) . . . . . . 2.17 Elements3DDrawables (w) . . . . . . Deployment 3.1 Deployment (w) . . . . . . . . . . 3.2 DeploymentSimulationsMenu (w) Opciones comunes: . . . . . . . . Tareas de alto nivel: . . . . . . . Francisco Esquembre et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 2 3 4 4 5 5 5 6 6 7 8 10 10 11 12 13 15 15 15 17 17 19 20 20 21 22 23 23 24 24 24 25 25 26 27 27 28 29 29
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
ii 3.3 4
EJS Opciones adicionales cuando se ejecuta como chero JAR: 30 DeploymentLocalization (w) . . . . . . . . . . . . . . . . 30
Appendices 33 4.1 ConditionsOfUse (w) . . . . . . . . . . . . . . . . . . . . 33 4.2 Credits (w) . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Elements reference 5.1 Main.Elements (w) . . . . . . . . . . . . . . 5.2 Main.Elements2DDrawables (w) . . . . . . . 5.3 Main.Elements3DDrawables (w) . . . . . . . 5.4 Main.ElementsAboutColors (w) . . . . . . . . 5.5 Main.ElementsAboutLayout (w) . . . . . . . 5.6 Main.ElementsAboutParticlePositions (w) . . 5.7 Main.ElementsAboutParticleStyles (w) . . . . 5.8 Main.ElementsAboutTransforms (w) . . . . . 5.9 Main.ElementsAnalyticCurve (w) . . . . . . . 5.10 Main.ElementsAnalyticCurve2D (w) . . . . . 5.11 Main.ElementsAnalyticCurve3D (w) . . . . . 5.12 Main.ElementsAnalyticScalarField2D (w) . . 5.13 Main.ElementsAnalyticSurface3D (w) . . . . 5.14 Main.ElementsAnalyticVectorField2D (w) . . 5.15 Main.ElementsArrayPanel (w) . . . . . . . . 5.16 Main.ElementsArrow (w) . . . . . . . . . . . 5.17 Main.ElementsArrow2D (w) . . . . . . . . . 5.18 Main.ElementsArrow3D (w) . . . . . . . . . 5.19 Main.ElementsArrowSet2D (w) . . . . . . . . 5.20 Main.ElementsArrowSet3D (w) . . . . . . . . 5.21 Main.ElementsBar (w) . . . . . . . . . . . . 5.22 Main.ElementsBasic2D (w) . . . . . . . . . . 5.23 Main.ElementsBasic3DDrawables (w) . . . . 5.24 Main.ElementsBox3D (w) . . . . . . . . . . . 5.25 Main.ElementsBoxSet3D (w) . . . . . . . . . 5.26 Main.ElementsButton (w) . . . . . . . . . . . 5.27 Main.ElementsButtonsAndDecoration (w) . . 5.28 Main.ElementsByteRaster (w) . . . . . . . . 5.29 Main.ElementsCamImage (w) . . . . . . . . . 5.30 Main.ElementsCellLattice (w) . . . . . . . . 5.31 Main.ElementsCheckBox (w) . . . . . . . . . 5.32 Main.ElementsCheckBoxMenuItem (w) . . . 5.33 Main.ElementsCircle3D (w) . . . . . . . . . . 5.34 Main.ElementsCircleSet3D (w) . . . . . . . . 5.35 Main.ElementsComboBox (w) . . . . . . . . 5.36 Main.ElementsComplexDataset (w) . . . . . . 5.37 Main.ElementsCone3D (w) . . . . . . . . . . 5.38 Main.ElementsConeSet3D (w) . . . . . . . . 5.39 Main.ElementsConnecting (w) . . . . . . . . 5.40 Main.ElementsConnectingToExpressions (w) 5.41 Main.ElementsContainers (w) . . . . . . . . . March 11, 2009, at 11:00 AM 35 35 35 35 36 36 37 37 38 38 38 38 38 38 38 38 38 41 43 43 43 43 43 44 44 44 45 45 45 45 45 45 45 46 46 46 46 46 46 46 47 47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EJS 5.42 5.43 5.44 5.45 5.46 5.47 5.48 5.49 5.50 5.51 5.52 5.53 5.54 5.55 5.56 5.57 5.58 5.59 5.60 5.61 5.62 5.63 5.64 5.65 5.66 5.67 5.68 5.69 5.70 5.71 5.72 5.73 5.74 5.75 5.76 5.77 5.78 5.79 5.80 5.81 5.82 5.83 5.84 5.85 5.86 5.87 5.88 5.89 5.90 Main.ElementsCursor (w) . . . . . . . . . Main.ElementsCylinder3D (w) . . . . . . Main.ElementsCylinderSet3D (w) . . . . Main.ElementsDataRaster (w) . . . . . . Main.ElementsDataTable (w) . . . . . . . Main.ElementsDialog (w) . . . . . . . . . Main.ElementsDisplay3DPanel (w) . . . . Main.ElementsDrawingPanel (w) . . . . . Main.ElementsEllipsoid3D (w) . . . . . . Main.ElementsEllipsoidSet3D (w) . . . . Main.ElementsEquation (w) . . . . . . . . Main.ElementsFields2D (w) . . . . . . . . Main.ElementsFrame (w) . . . . . . . . . Main.ElementsFunction (w) . . . . . . . . Main.ElementsGroup2D (w) . . . . . . . Main.ElementsGroup3D (w) . . . . . . . Main.ElementsHistogram (w) . . . . . . . Main.ElementsImage (w) . . . . . . . . . Main.ElementsImage2D (w) . . . . . . . Main.ElementsImage3D (w) . . . . . . . Main.ElementsImageSet2D (w) . . . . . . Main.ElementsImageSet3D (w) . . . . . . Main.ElementsInputAndOutput (w) . . . . Main.ElementsInterface (w) . . . . . . . . Main.ElementsLabel (w) . . . . . . . . . Main.ElementsLattice (w) . . . . . . . . . Main.ElementsMenu (w) . . . . . . . . . Main.ElementsMenuBar (w) . . . . . . . Main.ElementsMenuElements (w) . . . . Main.ElementsMenuItem (w) . . . . . . . Main.ElementsOther3D (w) . . . . . . . . Main.ElementsPanel (w) . . . . . . . . . Main.ElementsParsedField (w) . . . . . . Main.ElementsParticle (w) . . . . . . . . Main.ElementsParticleSet (w) . . . . . . . Main.ElementsPasswordField (w) . . . . . Main.ElementsPipe (w) . . . . . . . . . . Main.ElementsPlane3D (w) . . . . . . . . Main.ElementsPlaneSet3D (w) . . . . . . Main.ElementsPlottingPanel (w) . . . . . Main.ElementsPoints (w) . . . . . . . . . Main.ElementsPoints3D (w) . . . . . . . Main.ElementsPolygon (w) . . . . . . . . Main.ElementsPolygon2D (w) . . . . . . Main.ElementsPolygon3D (w) . . . . . . Main.ElementsPolygonSet2D (w) . . . . . Main.ElementsPolygonSet3D (w) . . . . . Main.ElementsRadioButton (w) . . . . . . Main.ElementsRadioButtonMenuItem (w) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 48 48 48 48 48 48 48 48 49 49 49 49 49 49 49 49 49 52 54 54 54 54 54 55 55 55 55 55 56 56 56 56 56 58 58 58 58 58 58 58 58 58 61 61 61 61 61 61
iii
iv 5.91 5.92 5.93 5.94 5.95 5.96 5.97 5.98 5.99 5.100 5.101 5.102 5.103 5.104 5.105 5.106 5.107 5.108 5.109 5.110 5.111 5.112 5.113 5.114 5.115 5.116 5.117 5.118 5.119 5.120 5.121 5.122 5.123 5.124 5.125 5.126 5.127 5.128 5.129 5.130 5.131 5.132 5.133 5.134 5.135 5.136 5.137 5.138 5.139 Main.ElementsRecentChanges (w) . . . Main.ElementsScalarField2D (w) . . . . Main.ElementsSegment2D (w) . . . . . Main.ElementsSegment3D (w) . . . . . Main.ElementsSegmentSet2D (w) . . . Main.ElementsSegmentSet3D (w) . . . Main.ElementsSeparator (w) . . . . . . Main.ElementsSet (w) . . . . . . . . . . Main.ElementsSets3D (w) . . . . . . . . Main.ElementsShape2D (w) . . . . . . . Main.ElementsShapeSet2D (w) . . . . . Main.ElementsSimpleVectorField2D (w) Main.ElementsSimpleVectorField3D (w) Main.ElementsSiteLattice (w) . . . . . . Main.ElementsSlider (w) . . . . . . . . Main.ElementsSoundOn (w) . . . . . . Main.ElementsSphere3D (w) . . . . . . Main.ElementsSphereSet3D (w) . . . . Main.ElementsSplitPanel (w) . . . . . . Main.ElementsSpring (w) . . . . . . . . Main.ElementsSpring2D (w) . . . . . . Main.ElementsSpring3D (w) . . . . . . Main.ElementsSpringSet2D (w) . . . . . Main.ElementsSpringSet3D (w) . . . . . Main.ElementsSurface3D (w) . . . . . . Main.ElementsSurfaceSet3D (w) . . . . Main.ElementsTabbedPanel (w) . . . . . Main.ElementsTank (w) . . . . . . . . . Main.ElementsText (w) . . . . . . . . . Main.ElementsText2D (w) . . . . . . . Main.ElementsText3D (w) . . . . . . . Main.ElementsTextArea (w) . . . . . . Main.ElementsTextField (w) . . . . . . Main.ElementsTextSet (w) . . . . . . . Main.ElementsTextSet2D (w) . . . . . . Main.ElementsTextSet3D (w) . . . . . . Main.ElementsTile3D (w) . . . . . . . . Main.ElementsToolBar (w) . . . . . . . Main.ElementsTrace (w) . . . . . . . . Main.ElementsTraceSet (w) . . . . . . . Main.ElementsTrail2D (w) . . . . . . . Main.ElementsTrail3D (w) . . . . . . . Main.ElementsTrailSet2D (w) . . . . . . Main.ElementsTrailSet3D (w) . . . . . . Main.ElementsTwoStateButton (w) . . . Main.ElementsUserDened (w) . . . . . Main.ElementsValve (w) . . . . . . . . Main.ElementsVideo (w) . . . . . . . . Main.ElementsWebCam (w) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EJS 61 62 62 64 64 64 64 64 64 64 64 64 64 64 65 65 65 65 65 65 67 69 69 69 69 69 69 69 69 71 73 73 73 73 73 73 73 73 73 73 74 74 74 74 74 74 75 75 75
EJS
1
1.1
Easy Java Simulations (simulaciones sencillas en Java), tambin conocido como EJS o Ejs, es una herramienta de autor creada en Java que ayuda a no programadores a crear simulaciones interactivas en Java, habitualmente con nes de enseanza o aprendizaje. EJS ha sido creado por Francisco Esquembre (w) y es parte del proyecto Open Source Physics 1 (Fsica de cdigo abierto).
En esta Wiki
Encontrar informacin acerca de: Qu es Easy Java Simulations. Cmo crear simulaciones con EJS. Cmo distribuir simulaciones creadas con EJS. Referencia de elementos de la vista de EJS.
Contador de visitas
Esta pgina ha sido visitada 88 veces desde Septiembre de 2007. El nmero total de visitas a este servidor es de 131019.
Ayude a documentar EJS!
Si sigue usted un enlace en esta Wiki y aparece una pantalla que dice Password required y le pide una palabra de paso y una clave, esto signica que ha intentado visitar una pgina que todava no existe. Todas las pginas de esta Wiki son de libre acceso para lectura (aunque estn protegidas con clave para escritura.) Por otra parte, si aparece una pgina en ingls, esto signica que esta pgina no ha sido traducida todava.
1
www.opensourcephysics.org
EJS Si tiene una razonable soltura en el uso de EJS y desea ayudar a mejorar esta documentacin, enve un correo electrnico a fem@um.es con el n de obtener una clave de acceso para editar pginas existentes de esta Wiki o aadir otras nuevas.
1.2
Foreword (w)
Prembulo
Las simulaciones juegan un papel cada vez ms importante en la forma en que enseamos o hacemos ciencia. Esto es especialmente cierto en la Educacin, campo en el que los computadores se usan frecuentemente con el n de hacer las clases ms atractivas a los estudiantes y para facilitar una comprensin ms profunda de aquello que se ensea. Sin embargo, no puede armarse todava que las simulaciones por computador sean usadas por la mayora de nuestros docentes. En muchos casos, esto es debido a que los profesores se resisten a utilizar una tecnologa que no comprenden o controlan con seguridad. En muchos otros, a que no encuentran un producto que satisfaga completamente sus necesidades educacionales. Una buena solucin a ambos problemas es ayudar a que los profesores creen sus propias simulaciones. Nuestra experiencia muestra que, al crear una simulacin, muchos profesores obtienen una nueva perspectiva del fenmeno que estn tratando de explicar, lo que casi siempre incrementa su entusiasmo por el uso de esta tecnologa con sus estudiantes. Una aproximacin alternativa, muy prometedora, es pedir a los estudiantes que creen sus propias simulaciones, involucrndose as en lo que se denomina por algunos investigadores educacionales modelado constructivo. Este enfoque presenta la ventaja de que los estudiantes hagan ciencia de una manera exploratoria y constructiva, cumplindose as varias de las prcticas recomendadas para el trabajo en clase. Crear una simulacin por uno mismo requiere un esfuerzo adicional, sta es la verdad. El punto de partida, y sta es la parte importante, es una comprensin correcta del fenmeno a simular. Pero, adems, es preciso poseer ciertos conocimientos tcnicos para poder expresar el comportamiento del fenmeno en forma de programa de computador. Easy Java Simulations se dirige, precisamente, a resolver este problema. EJS ha sido diseado especcamente para ensear a una amplia audiencia cmo crear simulaciones cientcas en Java, de una forma sencilla y rpida. El sector de audiencia de EJS est formado por estudiantes, profesores e in-
EJS vestigadores de ciencias que poseen un conocimiento bsico de programacin de computadores, pero que no pueden permitirse la gran cantidad de tiempo necesaria para crear una simulacin grca completa. Son capaces de describir los modelos de los fenmenos de sus respectivas disciplinas en trminos de ecuaciones y algoritmos de un lenguaje de programacin, pero an necesitan un esfuerzo adicional para crear un sosticado interfaz de usuario grco e interactivo, al estilo de las simulaciones y programas educativos que uno encuentra habitualmente en Internet. Con esta situacin de partida, EJS ha sido diseado para permitir a una persona que quiere crear una simulacin, concentrar la mayor parte de su tiempo en escribir y renar los algoritmos del modelo cientco de inters (que es en lo que realmente es experto/a) y dedicar el menor tiempo posible a las tcnicas de programacin. Y, an as, obtener un producto nal independiente, de altas prestaciones y preparado para su uso en Internet. La eleccin de Java como lenguaje de desarrollo se justica por su gran aceptacin por la comunidad internacional de Internet y por el hecho de que est soportado por prcticamente todas las plataformas de software. Esto signica que EJS, y las simulaciones creadas con l, pueden usarse como programas independientes en virtualmente todos los sistemas operativos, o ser distribuidas por Internet y ejecutadas en pginas Web por los navegadores ms conocidos (siempre que tengan instalado Java).
1.3
WhatIsEJS? (w)
Qu es EJS?
Easy Java Simulations es una herramienta de software diseada para la creacin de simulaciones discretas por computador. Una simulacin discreta por computador, o simplemente una simulacin por computador, es un programa de computador que intenta reproducir, con nes pedaggicos o cientcos, un fenmeno natural a travs de la visualizacin de los diferentes estados que ste puede presentar. Cada uno de estos estados est descrito por un conjunto de variables que cambia en el tiempo debido a la iteracin de un cierto algoritmo. Todo esto signica que EJS es un programa que le ayuda a crear otros programas; ms precisamente, simulaciones cientcas. Existen muchos programas que ayudan a crear otros programas. Lo que hace
EJS a EJS diferente de la mayora de los otros productos es que EJS no ha sido diseado para hacer la vida ms sencilla a los programadores profesionales, sino que ha sido concebido por profesores de ciencias para ser usado por profesores y estudiantes de ciencias. Esto es, para personas que estn ms interesadas en el contenido de la simulacin, en el fenmeno mismo que se simula, que en los aspectos tcnicos necesarios para construir la simulacin. Easy Java Simulations es una herramienta de modelado y de autor expresamente dedicada a esta tarea. Ha sido diseado para permitir a sus usuarios trabajar a un alto nivel conceptual, usando un conjunto de herramientas simplicadas y concentrando la mayora de su tiempo en los aspectos cientcos de la simulacin, y pidiendo al computador que realice automticamente todas las otras tareas necesarias pero fcilmente automatizables. No obstante lo anterior, el resultado nal, generado automticamente por EJS a partir de la descripcin del autor, podra pasar, en trminos de eciencia y sosticacin, por la creacin de un programador profesional. En particular, EJS crea aplicaciones Java que son independientes y multiplataforma, o applets que se pueden visualizar usando cualquier navegador Web (y por tanto ser distribuidos a travs de Internet), que pueden leer datos a travs de la red y ser controlados usando scripts (conjuntos de instrucciones) incluidos en las pginas HTML. Dado que existe un valor educativo aadido en el proceso de creacin de una simulacin, EJS puede ser usado tambin como una herramienta pedaggica. Con l, los profesores pueden pedir a sus estudiantes que creen una simulacin por s mismos, quiz siguiendo algunas lneas directrices previas dadas por el instructor. Usado de esta manera, EJS puede ayudar a los estudiantes a que hagan explcitos sus conocimientos y conceptos. Usado en grupos, EJS puede servir tambin para mejorar las capacidades de los alumnos para discutir y comunicarse sobre cuestiones cientcas.
1.4
Installation (w)
Instalacin
Easy Java Simulations ha sido escrito completamente en lenguaje Java y, por tanto, puede ejecutarse en cualquier plataforma que soporte Java (se requiere la versin 1.5 o posterior). Funciona exactamente igual en todos los casos, con pequeas variaciones debidas a cmo cada sistema produce los grcos. Sin embargo, el proceso de instalacin vara un poco segn el sistema operativo. Esta seccin describe el proceso de instalacin para: sistemas operativos Windows, sistemas operativos Linux/Unix y sistemas operativos Mac OS X. Como el proceso es bastante similar para cada tipo de sistema operativo, dividimos el proceso en pasos (descarga, instalacin y ejecucin de EJS) y describimos los mtodos de cada sistema operativo en cada paso.
Instalacin multi-idioma
La interfaz de EJS ha sido traducida a diferentes idiomas (aunque a algunos de ellos, slo parcialmente). Actualmente EJS incluye traducciones completas a ingls, castellano (espaol) y cataln. Cualquier instalacin de EJS contiene todos los idiomas disponibles. EJS aparecer por defecto en el idioma nativo de su March 11, 2009, at 11:00 AM Francisco Esquembre et al.
EJS sistema operativo. La consola de EJS le permite obligar a EJS a aparecer en un idioma en particular. Los usuarios que deseen traducir EJS a un nuevo idioma o mejorar las traducciones existentes, por favor, pueden contactar con el autor en fem@um.es.
Aspecto grco de la interfaz de usuario
Puede pedirle a EJS que utilice cualquiera de los diferentes aspectos grcos de Java disponibles en su instalacin. Estos aspectos grcos hacen que EJS tenga un aspecto ligeramente diferente. Por tanto, la interfaz que obtenga usted al ejecutar EJS puede diferir un poco de las imgenes de esta Wiki.
1.5
Download (w)
Descargar e instalar
Descargar
Como mnimo, necesita descargar el paquete de EJS. Si su sistema no tiene Java instalado, deber tambin descargar el paquete de instalacin del Entorno de Ejecucin de Java (Java Runtime Environment). Descargar el paquete de EJS. La ltima versin est en EJS versin 4.1 2 (creada el 8 de marzo de 2009). Se han introducido importantes cambios en las versiones 4.0 y 4.1, incluidas nuevas utilidades que harn que su experiencia de simulacin sean mejor. Se recomienda a los usuarios de versiones anteriores de EJS que lean la pginas de notas de versin y versiones anteriores (w) . El paquete incluye algunos ejemplos en el directorio de muestra workspace. Para obtener ms ejemplos, vaya a la pgina de Demos/Ejemplos (w) . Algunos usuarios necesitan la conexin de EJS con Matlab/Simulink 3 (slo disponible en sistemas operativos Windows). Esta caracterstica no se ofrece de momento en la versin 4.0 y posteriores. Si usted necesita realmente esta posibilidad, descargue EJS versin 3.47 4 (creada el 1 de marzo de 2008) y lea cmo usar EJS con Matlab/Simulink (w) . Pero slo si de verdad necesita esta caracterstica! EJS 4.1 es, con mucho, una versin mejor y es la nica versin soportada actualmente. El chero de distribucin es un chero de Windows comprimido (ZIP), as que necesitar una herramienta para descomprimirlo. La mayora de los sistemas operativos modernos incluyen una herramienta para ello. Pero si el suyo no la tiene, aqu van nuestras sugerencias: Para Windows, utilice cualquiera herramienta de descompresin ZIP. Por ejemplo, 7-zip, disponible en http://www.7-zip.org, o la clsica herramienta Winzip, disponible en http://www.winzip.com.
2 3 4
EJS Para Linux/Unix, hay varias herramientas, como unzip y gunzip. stas suelen venir con la distribucin. Para MacOS, utilice MacZip o StuffItExpander, disponible en varios sitios.
Instalar
Descomprima la distribucin. Esto crear un nuevo directorio llamado EJS_X.X (donde X.X quiere decir el nmero de la versin actual, por ejemplo EJS_4.0) que contendr el chero EjsConsole.jar y tres subdirectorios: bin, doc, and workspace. No modique ninguno de los archivos del subdirectorio bin ni cambie su nombre. El directorio bin contiene los archivos de librera necesarios para ejecutar EJS. De la misma manera, no toque el subdirectorio llamado doc. Este directorio contiene una copia de esta Wiki. El subdirectorio denominado workspace contiene un espacio de trabajo de muestra. El concepto de espacio de trabajo de EJS se discute aqu (p 7). Nota al reinstalar EJS: Si precisa reinstalar EJS o actualizarse a una nueva versin del mismo, siga el mismo procedimiento para descomprimir el nuevo paquete de EJS. Puede querer hacer una copia de seguridad del directorio workspace/source del directorio de la instalacin (no del suyo personal), en el caso de que hiciera algn cambio de importancia a las simulaciones de ejemplo includas en dicho directorio. No hay problema en reemplazar o borrar las copias previas de los directorios bin, doc, o de los dems subdirectorios de workspace, as como el chero EjsConsole.jar. Si necesita instalar Java, vaya a http://java.sun.com/javase/downloads. La versin actual de EJS requiere el JRE 1.5 o posterior. Ntese que slo se requiere el Entorno de Ejecucin de Java (Java Runtime Environment o JRE); el Kit de Desarrollo de Java (Java Development Kit o JDK) contiene al JRE as como otras cosas que no son necesarias para ejecutar EJS. Para Windows, descargue el instalador del JRE; est disponible en versiones para instalacin en linea (con una descarga inicial ms pequea) o fuera de lnea (autocontenida). Para Linux/Unix, descargue el instalador del JRE o un paquete RPM que realizar la instalacin. MacOS X viene con una versin completamente congurada y operativa del Kit de Desarrollo de Java.
EJS es de cdigo abierto
Easy Java Simulations es de cdigo abierto. Si quiere obtener el cdigo fuente completo, aqu va un proyecto autocontenido de Eclipse 5 con todo el cdigo fuente: Ejs Eclipse Workspace 6 (archivado el 8 de marzo de 2009).
5 6
www.eclipse.org fem.um.es/Download/Ejs/EJS_4.1_workspace_090308.zip
EJS
1.6
EJSWorkspaces (w)
rectorios tpica.
EJS trabajo usado y arrancar en dicho espacio. Esta regla tambin se aplica si reinstala el programa EJS. (La informacin se guarda en un chero de texto llamado .EjsConsole.txt de su carpeta personal de usuario. Borre este archivo si desea forzar la eleccin de un espacio de trabajo al arrancar EJS.) Nota al reinstalar EJS: Si precisa reinstalar EJS o actualizarse a una nueva versin del mismo, siga el mismo procedimiento para descomprimir el nuevo paquete de EJS. Puede querer hacer una copia de seguridad del directorio workspace/source del directorio de la instalacin (no del suyo personal), en el caso de que hiciera algn cambio de importancia a las simulaciones de ejemplo includas en dicho directorio. No hay problema en reemplazar o borrar las copias previas de los directorios bin, doc, o de los dems subdirectorios de workspace, as como el chero EjsConsole.jar. Reinstalar EJS no tiene otro efecto sobre su espacio de trabajo personal.
1.7
RunningEjs (w)
Ejecutando EJS
Es muy sencillo ejecutar EJS. Para Windows o Mac OS, coloque en su Escritorio un icono de acceso directo al chero EjsConsole.jar, del directorio EJS_X.X creado al descomprimir el paquete de distribucin de EJS. Haga doble clic en este icono para arrancar EJS. Tambin puede elegir hacer doble clic directamente sobre el chero EjsConsole.jar del directorio EJS_X.X. Los sistemas Linux/Unix interpretan el chero EjsConsole.jar como un chero de archivo. Por ello, hacer doble clic en EjsConsole.jar no arrancar EJS. Hay dos formas de arrancar EJS bajo Linux/Unix: Desde una ventana de terminal (command line): Vaya al directorio que contiene el chero EjsConsole.jar, y escriba el comando java -jar EjsConsole.jar. Desde un icono del escritorio: Deber crear un nuevo Enlace a Aplicacin (Link to Application); la aplicacin(Command) es java -jar $camino/EjsConsole.jar [donde $camino es el camino completo del directorio donde se encuentra el chero EjsConsole.jar], y el directorio de trabajo (Work path) es $camino (en caso contrario, EJS no sabr dnde encontrar sus directorios de apoyo). As, por ejemplo, si descomprimi EJS en su Escritorio, creando el nuevo directorio EJS_4.0, el Command es java -jar ~/Desktop/EJS_4.0/EjsConsole.jar y el Work path es ~/Desktop/EJS_4.0. Cuando EJS arranca, se abrirn [al menos] dos ventanas: La consola de EJS (p 10) (vase la imagen de abajo), que presenta tres pestaas: Opciones Bsicas (p 10), Opciones Avanzadas (p 11) y rea de Mensajes (p 12). La ventana de edicin de EJS (ver imagen), que tiene tres botones de radio en la parte superior: Descripcin, Modelo y Vista.
EJS
Si estuvo usted trabajando en alguna simulacin en una sesin anterior, y la consola est congurada para cargar la ltima simulacin, las ventanas de la vista de dicha simulacin pueden aparecer tambin al mismo tiempo que la ventana de edicin de EJS. Finalmente, observar que, durante el proceso de arranque de EJS, una pequea ventana de dilogo mostrar la evolucin de dicho arranque. Cuando termine su sesin de trabajo con EJS, la forma ms ordenada de terminar es cerrar la ventana de edicin de EJS en la forma habitual de su sistema operativo. EJS le pedir que conrme que desea salir. Otros modos de terminar la sesin con EJS pueden ser ms abruptos (por ejemplo, no guardarn el estado de EJS para una futura sesin). Si no ha guardado sus ltimos cambios, EJS le preguntar si desea hacerlo. Puede ejecutar una segunda, o ms, copia de EJS, si lo desea. Para ello, utilize Francisco Esquembre et al. March 11, 2009, at 11:00 AM
10
EJS los botones Ejecutar Easy Java Simulations o Ejecutar EJS de la consola de EJS. No es recomendable intentar ejecutar una segunda copia de EJS haciendo de nuevo doble-clic en EjsConsole.jar cuando la consola ya est en ejecucin. De hecho, si lo intenta, EJS le preguntar si realmente desea hacerlo. La consola no puede cerrarse directamente. Se cerrar automticamente cuando la ltima copia de EJS se cierre.
1.8
Console (w)
La consola de EJS
La consola de EJS es el punto de partida para ejecutar EJS. La consola se usa para arrancar EJS y para ejecutar otros procesos que requieren de ms de una copia de EJS. Tambin muestra mensajes de salida y posibles mensajes de error de las simulaciones creadas con EJS y, ocasionalmente, mensajes de error del propio EJS. La consola aparece en una ventana separada de la de EJS que no puede cerrarse. Cuando la consola arranca, ejecuta a su vez una primera copia de EJS. Puede usar unos botones incluidos en la interfaz de la consola para ejecutar ms copias de EJS. La consola se cerrar automticamente cuando cierre la ltima de las copias de EJS en ejecucin. Tpicamente, slo se necesita ejecutar una nica copia de la consola a la vez. Si intenta ejecutar una segunda copia, aparecer un mensaje de aviso. La consola tiene tres pestaas: la pestaa de Opciones Bsicas (p 10), la de Opciones Avanzadas (p 11) y la de rea de Mensajes (p 12).
1.9
ConsoleBasicOptions (w)
EJS
11
Cargar el ltimo archivo: si EJS debe cargar al arrancar el chero de la ltima simulacin usada en la sesin previa. Minimizar la consola: si se debe minimizar la consola al arrancar. Idioma: el idioma que debe usar EJS. Actualmente, las opciones son (aunque no todas las traducciones estn completas):
Local (por defecto) da (Dans) pl (Polaco) zh TW (Chino tradicional) en (Ingls) es (Castellano) fr (Francs) ru (Ruso) el (Griego) sl (Esloveno) ca (Cataln) nl (Holands) zh CN (Chino simplicado)
Aspecto grco: el esquema grco para la interfaz grca de EJS y la consola. Los esquemas de aspecto grco disponibles dependen de su instalacin. Tres opciones siempre estn disponibles: SISTEMA: El aspecto grco para ventanas estndar de su sistema operativo. MULTIPLATFORMA: Un aspecto grco estndar, algo minimalista, disponible en todas las plataformas. POR DEFECTO: El aspecto por defecto decidido por usted en el chero de conguracin swing.properties. (ste es chero opcional que puede usted crear en el directorio lib de Java.) Las selecciones de estas opciones se guardan; no necesita elegirlas de nuevo cada vez que arranca EJS. Simplemente las cambia una vez y los cambios tienen efecto en la prxima sesin. Finalmente, la pestaa de Opciones Bsicas tiene un botn en su parte inferior que le permite arrancar copias adicionales de EJS.
1.10
ConsoleAdvancedOptions (w)
12
EJS
Aadir parmetros a la MV Java (opciones de la lnea de comando para el propio Java). Especicar argumentos (opciones de la lnea de comandos) para EJS. Los tres campos tienen efecto al ejecutar la siguiente copia de EJS. En la parte inferior de la pestaa de Opciones Avanzadas, hay tres botones que le permiten: Compilar (un) directorio: Se abrir un explorador de cheros que le permite elegir un subdirectorio del directorio source de su espacio de trabajo actual. La consola le ofrecer entonces compilar todas las simulaciones (cheros XML) bajo este subdirectorio. Opcionalmente, puede pedirle a EJS que empaquete cada una de estas simulaciones, una vez compiladas, creando un chero JAR autoejecutable para cada una. Empaquetar simulaciones: Este botn le permite crear un nico paquete con varias simulaciones (un denominado Paquete Launcher - Lanzador) previamente generadas con EJS. Esta funcionalidad tambin esta accesible desde EJS en el men emergente del botn de empaquetado de la barra de tareas. Reconstruir paquete: Le permite reconstruir un paquete Launcher creado previamente, con el n de recompilar las simulaciones del paquete, actualizar las libreras del paquete, aadir nuevas simulaciones al paquete.
1.11
ConsoleOutputArea (w)
EJS
13
Ejecutar EJS: un segundo botn para iniciar una nueva ventana de edicin de EJS. Limpiar mensajes: limpia el rea de mensajes, lo que resulta til para borrar mensajes anteriores que pueden confundir. Ver procesos: muestra una ventana de dialgo con una lista de las copias de EJS que estn actualmente en ejecucin. Estas copias pueden nalizarse (en el caso en que se colgaran, por ejemplo) haciendo doble-clic en la entrada correspondiente de la lista, o seleccionndola y haciendo clic en el botn Terminar de la ventana de dilogo. (Recuerde, de nuevo, que terminar la ltima copia de EJS har que la consola se cierre.)
1.12
EJSUserInterface (w)
14
EJS El tercer panel de trabajo, Vista (p 23), est dedicado a la tarea de construir la interfaz grca de usuario de la simulacin, que permitir a los usuarios nales controlar la simulacin y mostrar sus salidas. La interfaz se construye seleccionando elementos de unas paletas y aadindolos al denominado rbol de elementos de la vista. Por ejemplo, la paleta Interfaz contiene botones, deslizadores y campos de entrada, y la paleta Elementos de dibujo 2D contiene elementos para dibujar datos 2D.
EJS
15
2
2.1
2.2
Description (w)
16
EJS
El panel de descripcin proporciona un lugar donde escribir narrativa introductoria para la simulacin. Esta informacin se mostrar al usuario al arrancar la simulacin, cuando se ejecuta como una aplicacin, o ser parte de las pginas HTML que acompaan a la simulacin, cuando se ejecuta como un applet. Es, por tanto, importante que dedique algo de tiempo a rellenar un texto de descripcin adecuado para su simulacin. Hay tres modos de rellenar esta descripcin. El primero hace uso del sencillo editor de HTML incluido en EJS. (Ver la imagen siguiente.) Este editor trabaja de un modo lo que se ve es lo que se obtiene, pero puede tambin cambiarse a modo de cdigo fuente que le permite escribir directamente cdigo HTML. Simplemente, explore los diferentes iconos proporcionados por el editor. Sin embargo, si preere usted usar un editor HTML externo para crear su texto HTML, tambin puede hacerlo. En este caso, haga clic con el botn derecho
EJS sobre un panel de descripcin vaco, o sobre la pestaa de una pgina existente, y un men emergente le ofrecer dos maneras de importar una pgina HTML desde su disco duro. 1. Importar archivo HTML: Esta opcin leer un HTML existente y lo incorporar como parte de su descripcin. El efecto es el mismo que si hubiera tecleado el chero HTML completo en el editor HTML de EJS. 2. Enlace a archivo HTML externo: Esta opcin mostrar una pgina HTML existente como parte de su descripcin (pero no la incorporar). EJS recordar copiar este chero externo cuando exporte la simulacin (y su descripcin). Sin embargo, si el HTML hace referencia a cualquier otro chero (como una imagen GIF), debe usar usted el campo de Archivos propios del panel de informacin (p 15) de la simulacin para asegurarse de que este chero tambin se copie. El procedimiento recomendado es colocar todos estos cheros, el HTML y los auxiliares, en el mismo directorio que el chero XML de su simulacin, o en un subdirectorio del mismo.
17
2.3
Model (w)
2.4
ModelVariables (w)
Llamamos variables a todas aquellas magnitudes que intervienen en nuestro modelo, tanto si se modican a lo largo del tiempo de ejecucin como si permanecen constantes. stas pueden verse modicadas por la dinmica interna de la simulacin aunque tambin por parte del usuario. En ocasiones la modicacin de una variable produce una modicacin en otras variables, entonces decimos que existen ligaduras. Para crear una nueva variable lo primero es darle un nombre, especicar un tipo y tratndose de vectores o matrices su dimensin. Puede ver cmo hacerlo, con un video ilustrativo en nuestro tutorial. Cada vez que de nombre a una nueva Francisco Esquembre et al. March 11, 2009, at 11:00 AM
18
EJS variable en esa misma pgina aparecer una nueva la donde seguir aadiendo nuevas variables. Si usted desea incluir una variable entre dos ya existentes o eliminar alguna de ellas utilice el men desplegable que obtendr haciendo clic con el boton derecho sobre la variable. - Tipos de variables: Dependiendo del uso que vayamos a hacer de ellas el ordenador necesita que se especique de qu tipo es cada una de nuestras variables. Aunque en Java existen algunos tipos ms, destinados a optimizar el uso de la memoria, EJS funciona con los siguientes tipos: boolean: para valores de verdadero o falso. int: para valores enteros. double: para nmeros en coma otante, es decir, nmeros reales en general. String: para caracteres y textos. Object: tipo que nos ofrece la programacin orientada a objetos de Java y que permite a programadores ms avanzados crear sus propios tipos.
- Nombrar variables: Tanto para dar nombre a nuestras variables como al resto de elementos de nuestra simulacin tales como paneles, mtodos propios del modelo y elementos de la vista hemos de tener en cuenta algunas restricciones y consejos. En primer lugar hay un grupo de palabras que no pueden usarse ya que son palabras reservadas por Java o por el propio EJS: boolean, break, byte, case, catch, char, continue, default, do, double, else, oat, for, getSimulation, getView, if, initialize, instanceof, int, long, Object, reset,return, short, step, String, switch, synchronized, throws, try, update, while. Aconsejamos adems, para evitar conictos entre los distintos nombres y confusiones con el cdigo propio de EJS que: - los nombre de cada variable sean nicos en cada modelo. - estn formados nicamente por caracteres alfanumricos y el carcter _ empezando siempre por un carcter alfabtico. - aunque no sea estrictamente obligatorio, que el primer carcter en los nombres de variables y mtodos sea minscula mientras que el de los elementos de vista sea mayscula. - utilizar nombres descriptivos. En caso de que sean necesarias ms de una palabra no se deben utilizar espacios en blanco si no escribir algo as como centroMasas. - no se debe utilizar nombres que comiencen por _ ya que EJS puede hacer uso de stos nombres. - Uso de las variables: Para el uso de variables vector o matriz ha de tener presente la forma de referirnos a cada uno de sus elementos en Java. En el caso de un vector llamado posX con 10 elementos, el primer elemento es el elemento de ndice 0, por tanto nos referiremos a l como posX[0] y el ltimo ser el posX[9]. De forma anloga ocurre con las matrices, el elemento situado en la primera la y la primera columna es el elemento matriz[0][0]. - Valor inicial: El valor inicial de una variable puede ser una constante o una expresin sencilla que establezcamos en la casilla destinada para ello. Si esta casilla se deja en blanco EJS le da un valor por defecto (el valor 0 si se trata de variables de tipo numrico). Podemos adems establecer ese valor inicial ms tarde en el panel de inicializacin o mediante una ecuacin de ligadura. Hay que tener en cuenta que si damos un valor inicial a una variable matriz o vector todos sus elementos se inicializarn con ese mismo valor. Para establecer March 11, 2009, at 11:00 AM Francisco Esquembre et al.
EJS valores iniciales distintos entre los elementos de una matriz o vector de forma que su valor dependa de la posicin que ocupan habr que incluir explcitamente el/los ndice/s de su posicin dentro de la matriz en el nombre de la variable y utilizarlos en la expresin para el valor. Por ejemplo para denir un vector cuyos elementos sean el doble de su posicin:
Nombre vector[i] Valor inicial 2.0*i Tipo double Dimensin [n]
19
Si n es un entero que inicializamos con el valor 5 nuestro vector ser el (0,2,4,6,8) Un ejemplo clsico del uso de variables de tipo Object es establecer una variable de color. Podramos hacer as que un determinado elemento de nuestra simulacin vaya cambiando de color. Podra ser algo as:
Nombre MiColor Valor inicial java.awt.Color.BLUE Tipo Object Dimensin
Ms adelante podra dar a la variable MiColor otro valor mediante una sentencia como sta:
MiColor=new java.awt.Color(255,0,0);
donde los tres parmetros signican la cantidad de rojo, verde y azul respectivamente (el del ejemplo sera rojo). Si adems quisiera aadir a su color un nivel de transparencia (lo cual rara vez se hace necesario y adems hace ms lenta su visualizacin) podr incluir un cuarto parmetro para ello.
2.5
ModelInitialization (w)
Si bien en la creacin de las variables podemos inicializarlas con un valor constante o una expresin sencilla dentro de la casilla Valor Inicial en algunos casos necesitamos una inicializacin ms compleja, como por ejemplo si necesitamos hacer unos clculos previos. Las pginas que podemos crear en este subpanel son el lugar donde escribir el cdigo Java necesario. Las pginas se ejecutarn por orden de izquierda a derecha aunque puede, haciendo clic con el botn derecho sobre la pestaa correspondiente, reordenarlas (Mover esta pgina a la derecha). La zona de edicin tiene otro men desplegable que podr ver haciendo clic con el botn derecho. Adems de opciones bsicas de edicin puede encontrar otras tres opciones. La opcin Format code sirve para dar un formato ms claro al cdigo facilitando la comprobacin del emparejamiento de llaves. En Asistente de Cdigo encontrar ayuda para incorporar a su cdigo las estructuras de control de ujo usuales como bucles y condicionales. La tercera opcin, Mtodos Predenidos y Propios, le ofrece una lista de los mtodos ya denidos en EJS que incorpora los del propio programa y los que aada usted en el subpanel Propio. En la parte inferior del panel puede aadir un comentario sobre el cdigo para facilitar su comprensin a otros usuarios y a usted mismo pasado el tiempo.
20
EJS
2.6
ModelODEEditor (w)
Este editor le permite denir sistemas de ecuaciones diferenciales ordinarias explcitas de primer orden. Es decir, aquellos en los que se expresa la primera derivada de una o ms variables del modelo con una funcin explcita de ellas mismas y de las dems sin derivar. Que deban ser ecuaciones de primer orden no es restrictivo ya que cualquier sistema de ecuaciones de orden superior puede expresarse de forma equivalente como un sistema de ecuaciones de primer orden introduciendo las variables auxiliares necesarias. Puede ver un ejemplo de cmo denirlas en nuestro tutorial.
2.7
ModelEvents (w)
Algunas veces, cuando estamos implementando la evolucin de nuestra simulacin mediante la resolucin de un sistema de ecuaciones diferenciales, deseamos que el sistema detecte que cierta condicin dependiente de las variables del mismo se ha producido y que nos permita realizar en ese punto algunas correcciones para ajustar nuestra simulacin. Por ejemplo, nos encontramos ante un evento cuando realizamos la simulacin del movimiento de una pelota de baloncesto que al encontrarse con el suelo rebota. La solucin numrica para estas ecuaciones no tendr en cuenta, por s misma, el hecho de que la solucin calculada puede situar a la pelota en una posicin bajo tierra, sto es, y(t) < 0 . Como el mtodo para la solucin numrica avanza mediante saltos en el tiempo es muy difcil que el momento de la colisin de la pelota con el suelo coincida con una de las soluciones dadas, situando entonces a la pelota en un estado, digmoslo as, ilegal. De hecho, podramos preferir que el ordenador por si mismo hubiese detectado el problema y hubiese detenido momentneamente la simulacin en el momento preciso de la colisin aplicando entonces el cdigo necesario para simular el rebote de la pelota contra el suelo y continuando despus desde esas condiciones iniciales. De forma ms precisa, denimos un evento como un cambio de signo de una funcin real de las variables de estado (las variables que se derivan) y de la variMarch 11, 2009, at 11:00 AM Francisco Esquembre et al.
EJS able independiente de una EDO.(Los eventos causados slo por la variable independiente se suelen llamar eventos temporales.). Para facilitar nuestra explicacin y ya que todas las variables dependen de la variable independiente, denotaremos por h(t) a la funcin que cambia de signo en el evento. Para ayudarle a programar este tipo de sucesos el editor de EDO de EJS dispone de un botn con el rtulo Eventos que le llevar a una nueva ventana con un nuevo editor. Junto al botn podemos observar un campo numrico que nos muestra el nmero de eventos incorporados a nuestra simulacin. La creacin y manejo de las pginas en esta ventana es igual al del resto de subpaneles del panel Modelo. En la nueva ventana encontrar dos secciones de edicin diferenciadas a parte del campo de texto destinado a comentarios. En la seccin superior se indicar cmo se detecta el evento. Escribiremos aqu el cdigo que calcula la funcin que va a cambiar de signo. Este cdigo tiene que devolver un valor de tipo double por lo que ya incorpora por defecto el cdigo return 1.0; el cual no causa ningn evento. En el campo situado en la esquina superior derecha de esta seccin estableceremos el valor de la tolerancia que deseamos para localizar el evento.
21
2.8
ModelFixedRelations (w)
Como ya hemos dicho en ocasiones la modicacin de una variable produce una modicacin en otras variables, entonces decimos que existen relaciones de ligadura. stas se expresan de forma explcita mediante expresiones del tipo: xi = gi (x1 , x2 , . . . , xi1 , xi+1 , . . . , xn ) donde, como se puede ver, cada variable aparece slo en uno de los dos lados de la ecuacin. Un criterio til (aunque quiz no siempre vlido) para distinguir estos dos tipos de relaciones es examinar la expresin que usamos para calcular el valor de una variable en un momento dado y si este valor depende del valor actual de esa misma variable, en tal caso es probable que se trate de una ecuacin de evolucin. Por el contrario, si el nuevo valor de la variable se calcula slo a partir de los valores de otras variables ser una ligadura.
22
EJS
La razn por la que no se deben incluir estas relaciones entre las ecuaciones de evolucin es la existencia de una segunda fuente de cambios: la interaccin directa del usuario con la simulacin. Si las relaciones jas han de ser vlidas siempre entonces deberan mantenerse cuando el usuario cambia alguna de estas variables, incluso si la simulacin est parada. Por esto, es conveniente identicar claramente y escribir de forma separada estos dos tipos. sto permitir al ordenador saber qu ecuaciones deben ser evaluadas en cada caso. ste cuarto subpanel funciona de la misma forma que el de Evolucin. Aqu deben incluirse las ecuaciones de ligadura de su modelo transcritas a lenguaje Java.
2.9
ModelCustomCode (w)
Este ltimo subpanel del Modelo es el indicado para denir sus propios mtodos en Java (tambin llamadas funciones o subrutinas). Este subpanel funciona de la misma forma que los dos anteriores, en cuanto a la creacin y uso de pginas, aunque existen dos diferencias importantes. Por un lado est el uso que EJS har del cdigo que usted escriba en estas pginas. A diferencia del cdigo del resto de editores el cual pasa a formar parte de la simulacin directamente, estos mtodos no se utilizarn a menos que usted los invoque desde otro lugar de la simulacin. Por otra parte en este panel tiene total libertad para escribir su cdigo Java, el nico requisito es que sean mtodos Java vlidos. Cuando cree una nueva pgina en este panel con el nombre, digamos, MiMetodo EJS le proporcionar una pgina con el esqueleto inicial de su mtodo. Crear un mtodo Java requiere, antes de empezar a escribir el cdigo necesario, que se le d un nombre, que se indique el tipo del valor de salida (si es que hay un valor de salida) y que se especique la accesibilidad del mtodo. Adems tendremos que decidir si acepta parmetros de entrada y de qu tipo. - El nombre para el mtodo puede ser el que desee pero ha de tener en cuenta las convenciones que se explicaron en la creacin de variables. - Con el trmino accesibilidad nos referimos a qu partes de la simulacin podrn hacer uso de este mtodo. Si el mtodo es declarado public entonces ser universalmente visible y puede ser usado desde cualquier parte de la simulacin March 11, 2009, at 11:00 AM Francisco Esquembre et al.
EJS e incluso desde fuera de la simulacin utilizando JavaScript. Si el mtodo no es declarado pblico (ya sea utilizando la palabra private o simplemente nada) entonces el mtodo slo podr ser utilizado desde el modelo. De hecho no hay una razn poderosa para no hacer todos nuestros mtodos pblicos, salvo quiz evitar confusin entre usuarios externos que se encuentren ante una demasiado amplia oferta de mtodos de los que desconozcan su funcionamiento. - El tipo de valor de salida es el tipo de aquello que devuelva la funcin. Si la funcin no devielve ningn valor se indicar con el tipo especial void. Si devuelve un valor habr que decir de qu tipo Java es, ya sea simple o compuesto. En tal caso el cdigo de nuestro mtodo tendr que terminar con una sentencia return que indique el valor devuelto. - Los parmetros se indican con una lista separada por comas de parejas tiponombre que declaran variables locales que podrn utilizarse a lo largo del mtodo. Esta lista se escribe entre parntesis justo despus del nombre del mtodo. Si el mtodo no necesita parmetros de entrada la lista estar vaca. Veamos un ejemplo de dos mtodos. Tenga en cuenta que puede denir ms de un mtodo en cada una de las pginas. El primero calcula la exponencial del coseno de un valor doble mientras que el segundo calcula el conjugado de un valor complejo que se especica con un vector de dos entradas, una para la parte real y otra para la parte compleja: double expCos (double x) { return Math.exp (Math.cos(x)); } double[] conjugate (double[] complex) {
return new double[]{complex[0],-complex[1]}; }
23
2.10
PredenedMethods (w)
EJS has some predened methods for typical actions that you can use anywhere in your code, either in model pages or in view element property actions. All predened methods start with an underscore character _, to help them distinguish with your own custom methods. Here is the list of EJS predened methods: _play() : Starts playing the evolution. _pause() : Stops playing the evolution. . . . More to be done
2.11
View (w)
24
EJS
2.12
ElementsConnecting (w)
Para conectar una variable del modelo con el elemento de vista apropiado, simplemente escriba el nombre de la variable en cuestin en el campo de texto que encontrar en el editor de propiedades del elemento. Esta conexin es bidireccional, lo que signica que si la variable del modelo cambia, el elemento de la vista recibe el nuevo valor de forma automtica y cambia consecuentemente. Y al contrario, si el usuario interacta con el elemento de forma que sus propiedades se modican de alguna forma, el nuevo valor pasa a la variable del modelo. Simple pero efectivo. Otra forma es elegir la variable que se relacionar con la propiedad utilizando el segundo icono de la derecha. Este icono, que muestra una cadena de unin, , le mostrar una ventana con una lista de todas las variables del modelo que pueden ser relacionadas con la propiedad. (Slo aparecern aquellas variables del tipo apropiado). Haciendo doble clic sobre el que haya elegido EJS rellenar este campo. Algunas veces ver que EJS escribe la variable entre smbolos de porcentaje, %Nombre%. Sin embargo esto es vlido y le dice a EJS explcitamente que Nombre es una variable del modelo, sto slo es necesario cuando la propiedad es del tipo String, para resolver la ambigedad creada si escribimos slo Nombre. Podra signicar el literal Nombre o que el nombre de la variable es Nombre. Para que el cdigo quede ms claro, recomendamos siempre escribir las cadenas String entre comillas, Nombre, pero como muchas veces se olvida EJS tiene el detalle de asumirlo como literal por lo que aade las comillas por usted de forma automtica.
2.13
ElementsConnectingToExpressions (w)
Las propiedades de los elementos de vista tambin pueden conectarse a expresiones que involucren variables del modelo (o no), por ejemplo: x+1, donde x es una variable del modelo de tipo double, Math.sin(0.5), o Texto = +textString,donde textString es una variable del modelo de tipo String. EJS evaluar la expresin correctamente y asignar su resultado en el elemento de la vista apropiado. Sin embargo, se pierde la bidireccionalidad. Es decir, si conecta una propiedad a la expresin x+1 y x cambia en el modelo la propiedad se actualiza correctamente. Pero NO al revs. Si interacta con el elemento ocasionando un cambio en sus propiedades, la variable del modelo no cambiar (al valor de la propiedad menos 1). En realidad la propiedad ser forzada a volver al valor x+1 despus de la interaccin, quedando el elemento sin cambio aparente. Este comportamiento se debe a que no todas las expresiones tienen inversa. Qu hara EJS si usara la expresin x*x? La inversa proporciona dos valores, positivo y negativo. Cul usara EJS?.
2.14
Elements (w)
Lo sentimos, slo en ingls por el momento. March 11, 2009, at 11:00 AM Francisco Esquembre et al.
EJS
25
2.15
ElementsInterface (w)
Elementos para la Interfaz. stos son los elementos utilizados para construir la interfaz. Estos elementos estn basados en elementos estndar de Java para interfaces, tales como ventanas, paneles y botones.
(p 74) (p 74) (p 74) (p 47) (p 48) (p 65) (p 49) (p 45) (p 55) (p 73) (p 45) (p 45) (p 65) (p 75) (p 55)
?
(p 74)
(p 56) (p 69)
(p 48)
(p 58)
(p 48)
(p 43)
(p 64)
2.16
Elements2DDrawables (w)
Elementos de dibujo 2D. stos son elementos de dibujo para paneles bidimensionales. Por tanto, estos elementos slo pueden ser hijos de paneles de dibujo o con ejes 2D.
(p 43) (p 62) (p 52) (p 61) (p 49) (p 48) (p 75)
(w)
(p 64) (p 67)
(p 64) (p 64) (p 43) (p 54) (p 61) (p 49) (p 64) (p 69) (p 73) (p 74) (p 73)
(p 58)
(p 38)
(p 58) (p 75)
? ? ?
? ? ? ? ? ? ?
26
EJS
2.17
Elements3DDrawables (w)
Elementos de dibujo 3D. stos son elementos de dibujo para paneles tridimensionales. Por tanto, estos elementos slo pueden ser hijos de paneles de dibujo 3D.
(p 44) (p 64) (p 54) (p 61) (p 58) (p 48) (p 69) (p 46) (p 69) (p 74) (p 64) (p 64) (p 54) (p 61) (p 65) (p 46) (p 58) (p 49) (p 69) (p 46) (p 69) (p 74) (p 56) (p 38) (p 38) (p 58) (p 65) (p 46) (p 64) (p 73)
(p 69)
EJS
27
3
3.1
Deployment
Deployment (w)
Empaquetar slo la simulacin actual: Esta opcin crea un chero JAR comprimido, autoejecutable y autocontenido. Slo necesita distribuir este chero a sus usuarios y stos lo podrn ejecutar haciendo doble-click sobre l. Claro est, sus usuarios debern tener instalado el entorno de ejecucin de Java (JRE) en sus computadores. La simulacin exportada tiene algunas opciones de men (p 28) que pueden usarse por sus usuarios nales para, entre otras cosas, extraer el modelo de la simulacin y trabajar con l usando EJS (si tienen EJS instalado). Usted y sus usuarios pueden tambin traducir la simulacin (p 30) a diferentes idiomas. Empaquetar varias simulaciones: Esta opcin le permite crear lo que denominamos un paquete Launcher (o lanzador). Un paquete Launcher es un chero JAR comprimido, autoejecutable y autocontenido, con varias simulaciones creadas con EJS listas para ser usadas. El lanzador proporciona una agradable interfaz para mostrar las descripciones de las simulaciones y un men de navegacin para organizar las simulaciones en categoras y ejecutarlas. La imagen que sigue muestra un ejemplo de paquete Launcher. Los paquetes pueden ser editados para reorganizarlos (usando su propio men) o reconstruidos con EJS para aadirles nuevas simulaciones o para actualizar las libreras en su interior. Exportar sitio web con applets: Esta opcin crea un conjunto de cheros HTML que permiten publicar varias simulaciones creadas con EJS en la
28
EJS forma de applets (aplicaciones dentro de una pgina Web). Cuando use esta opcin, EJS le pedir el nombre del chero HTML que acta de ndice. EJS crear dicho chero y un directorio con su mismo nombre y la extensin .les (cheros), donde colocar todos los cheros necesarios para ejecutar las simulaciones como applets. Exportar estas pginas HTML es tan sencillo como copiar el chero HTML ndice generado y su directorio .les de acompaamiento al MISMO DIRECTORIO de su servidor web. Un usuario con conocimientos de HTML puede editar fcilmente los cheros HTML generados por EJS para crear pginas personalizadas. Cuando elija usted el nombre del chero ndice, EJS le permite elegir si desea crear los cheros JAR necesarios de manera que sean autocontenidos o minimizar su tamao individual creando un chero aparte denominado common.jar que contiene los cheros de librera repetidos. La segunda opcin se recomienda (porque minimiza los tiempos de descarga) cuando publique un sitio web terminado y no aadir nuevas simulaciones al mismo. Esto es debido a que el chero common.jar es diferente si cambia las simulaciones del sitio y no ser compatible. Si cambia las simulaciones, deber reconstruir el sitio con todas las simulaciones involucradas. La opcin de JARs autocontenidos crea cheros JAR individuales ms grandes, pero stos son independientes unos de otros. Es importante saber que los applets de Java se ejecutan por los navegadores con altos niveles de seguridad para el usuario. Esto implica, por ejemplo, que un applet de Java normal no puede acceder al disco duro del computador. Para que un applet Java pueda leer o escribir en el disco duro (as como otras acciones), debe usted rmar el applet. Busque esta frase en Google para saber qu signica esto y cmo se rma un applet. Comprimir los archivos fuente de la simulacin: Esta opcin crea un chero comprimido ZIP con todos los cheros que utiliza su simulacin. sta es la opcin que debe elegir si quiere enviar una simulacin a un colega que tambin usa EJS. El chero ZIP resultante es de unos pocos KB. Para que esta opcin funcione correctamente, debe usted situar cualquier chero auxiliar (tales como imgenes GIF) que utilice su simulacin en el mismo directorio que su chero XML fuente, o en un subdirectorio de ste, y referirse al chero en EJS de manera relativa. Es decir, con su nombre comenzando por ./. (Como en ./MiImagen.gif o ./UnSubdirectorio/MiImagen.gif.) EJS siempre se reere de manera relativa a cheros situados correctamente (es decir, bajo el mismo directorio que el chero XML).
3.2
DeploymentSimulationsMenu (w)
EJS
29
del estado.
El men contiene un primer grupo de opciones particulares correspondientes al PanelDibujo, un segundo grupo de opciones para la simulacin, y un tercer grupo de tareas de alto nivel.
Opciones comunes:
Capturar la imagen Entrada/Salida del estado Guardar Estado. Guarda el estado actual (el valor de las variables) de la simulacin en el disco. La extensin para guardar por defecto es .xml, que genera un chero de datos XML. Si se selcciona otro tipo de extensin (tal como .dat), el chero se almacena en formato binario. Leer Estado. Lee un estado previamente guardado con la opcin Guardar Estado. Este estado se convierte en el estado por defecto para la simulacin hasta que se ejecuta un Reinicio del Estado por Defecto (ver abajo). Esto es, una llamada a _reset() reiniciar primero la simulacin al estado denido por defecto por el autor y luego lee este chero. (Despus de esto, se llama a las pginas de inicializacin, luego las relaciones jas, etc. . . )). Es importante que el chero de entrada haya sido creado con la misma versin de la simulacin que trata de leerlo. De otor modo podemos obtener resultados no esperados. Estado de Inicio por Defecto. Limpia cualquier chero de estado por defecto que el usuario hubiera podido leer antes y deja la simulacin en el estado inicial denido por el autor. Opciones de la interfaz
Tareas de alto nivel:
EJS
Si se ha empaquetado una simulacin como un chero JAR auto-ejecutable para su distribucin. En este caso, ejecutando la simulacin (ejecutando el chero JAR) y haciendo clic con el botn derecho sobre un PanelDibujo o un PanelConEjes se muestra el mismo men PERO con una opcin adicional (ver gura). Crear pgina HTML. Crea un chero HTML que contiene cdigo HTML (bsicamente, una etiqueta applet) para ejecutar esta simulalacin como un applet. Este HTML no contiene informacin de las pginas descripcin de la simulacin, pero est pensado para permitirle publicar una simulacin en formato JAR en una pgina web que cree uno mismo. Para crear un conjunto de pginas HTML que incluyan la descripcin de sus simulaciones, haga clic con el botn derecho sobre el botn del EJS de empaquetar y seleccione Exportar sitio web con applets .
3.3
DeploymentLocalization (w)
How to translate a simulation created with Ejs to a language different to the original
Run the simulation and right-click on any of its drawing or plotting panels. The drawing panels popup menu will appear. Select the GUI options Translate option. In the translation panel that you get, input the two letters code for your language in the Language eld. For instance, es for Spanish, fr for French, de for German,. . .
Figure 5. El men expandido cuando se ejecuta una simulacin como JAR. La opcin
EJS
31
Translate the elds as required. Size elds need to be translated only if your new texts make the original size inconvenient. When you are done, click on the Save button. This creates a le in a subdirectory of your working directory (the directory where the original XML simulation le is, if you run the simulation from within Ejs). For a simulation illustrates in the pictures of this page, which is called PlanetaryMotion, Ejs will create the le PlanetaryMotion/PlanetaryMotion_es.properties. Open the simulation le with Ejs and add this new properties le to the list of User les as dened in the simulation information panel. Create the simulation again. Thats it. When you run the simulation, its user interface will appear in the default language of your operating system. You can switch to a different language by Francisco Esquembre et al. March 11, 2009, at 11:00 AM
32 using the drawing panels popup menu GUI options Language option.
EJS
EJS
33
4
4.1
Appendices
ConditionsOfUse (w)
Condiciones de uso
El derecho de copia (copyright) de Easy Java Simulations es exclusivamente de su autor, Francisco Esquembre (w) , quien lo distribuye bajo licencia GNU GPL. 7 El propio EJS y sus cheros de librera JAR pueden copiarse y distribuirse sin lmite y sin permiso previo. En cualquier caso, la referencia al autor y otros crditos que aparecen en el programa deben siempre preservarse. Los autores pueden distribuir cualquier simulacin que hayan creado con EJS, con la nica condicin de que se incluya una mencin a este hecho, junto con un enlace a la pgina Web ocial de EJS: http://fem.um.es/Ejs. No es preciso incluir esta referencia en todas las pginas que contengan una simulacin de una unidad educativa. Bastar con incluir una referencia para todo el conjunto en un lugar claramente visible. Cualquier publicacin que resulte del uso de Easy Java Simulations debe hacer referencia al servidor Web ocial de EJS: http://fem.um.es/Ejs. El derecho de copia (copyright) de los ejemplos de simulaciones en este servidor o en el paquete de distribucin de EJS son propiedad de sus autores. Animamos a los autores que hayan creado nuevos ejemplos con EJS a enviarnos un breve correo electrnico con un enlace a sus ejemplos.
4.2
Credits (w)
Crditos
El derecho de copia (copyright) de Easy Java Simulations es exclusivamente de su autor, Francisco Esquembre (w) , quien lo distribuye bajo licencia GNU GPL. 8 Sin embargo, Easy Java Simulations, en su versin actual, es el resultado de un proyecto llevado a cabo a lo largo de varios aos y bajo diferentes concepciones e implementaciones. Por ello, EJS debe mucho a contribuciones de varios grupos de personas. Easy Java Simulations es parte del proyecto Open Source Physics, 9 creado por Wolfgang Christian, Davidson College, Carolina del Norte, EEUU. sta es una lista (en orden alfabtico) de personas que han contribuido a EJS: Doug Brown, Cabrillo College, California, EEUU. Wolfgang Christian, Davidson College, Carolina del Norte, EEUU. Fu-Kwun Hwang, Universidad Normal Nacional de Taiwan, Taiwan. Howard Kistler, Hexidec 10 (por eKit, el editor HTML usado en el panel de Descripcin). Pat Niemeyer (pat@pat.net) y otros desarrolladores de BeanShell, 11 el intrprete usado para la comprobacin de la sintaxis.
7 8 9 10 11
34
EJS Jos Snchez, Gonzalo Farias y Hctor Vargas, Universidad Nacional de Educacin a Distancia, Espaa. Frank F. Schweickert, Instituto AMSTEL, Universidad de Amsterdam, Holanda (por sus contribuciones a conformar esta Wiki). Yuri B. Senichenkov y Andrei Goussev, Universidad Politcnica de San Petersburgo, Rusia (por los mtodos de resolucin de EDO DoPri y Radau). Las diferentes traducciones se deben a: Ingls y Castellano (Espaol): Francisco Esquembre, Universidad de Murcia, Espaa. Cataln: Paco Rivire, http://pacoriviere.cat, Consultor Libre. Un lugar de honor especial est reservado, por supuesto, para la familia de Paco: su mujer Araceli y sus dos hijas Araceli y Maria Beln, por todas esas tardes de n de semana que pas (y an pasa!) frente al computador.
EJS
35
5
5.1
Elements reference
Main.Elements (w)
5.2
Main.Elements2DDrawables (w)
Elementos de dibujo 2D. stos son elementos de dibujo para paneles bidimensionales. Por tanto, estos elementos slo pueden ser hijos de paneles de dibujo o con ejes 2D.
(p 43) (p 62) (p 52) (p 61) (p 49) (p 48) (p 75)
(w)
(p 64) (p 67)
(p 64) (p 64) (p 43) (p 54) (p 61) (p 49) (p 64) (p 69) (p 73) (p 74) (p 73)
(p 58)
(p 38)
(p 58) (p 75)
? ? ?
? ? ? ? ? ? ?
5.3
Main.Elements3DDrawables (w)
Elementos de dibujo 3D. stos son elementos de dibujo para paneles tridimensionales. Por tanto, estos elementos slo pueden ser hijos de paneles de dibujo 3D.
36
(p 44) (p 64) (p 54) (p 61) (p 58) (p 48) (p 69) (p 46) (p 69) (p 74) (p 64) (p 64) (p 54) (p 61) (p 65) (p 46) (p 58) (p 49) (p 69) (p 46) (p 69) (p 74) (p 56) (p 38) (p 38) (p 58) (p 65) (p 46) (p 64) (p 73)
EJS
(p 69)
5.4
Main.ElementsAboutColors (w)
GREEN LIGHTGRAY
or providing its integer RGB coordinates (between 0 and 255), plus an optional transparency coordinate, as in 0,253,12,255. Just type the desired value in the corresponding view element property. A specialized color chooser can also help you choose a given static color. To specify a color that changes in run-time, youll need to declare a variable of type Object, associate it to the corresponding element property, and then change the variable according to your programs logic. For instance, if you declare a variable in Ejs called myColor, of type Object, the lines:
myColor = java.awt.Color.RED; myColor = new java.awt.Color(255,0,0);
can both be used in the Java code of your program to create a solid red color in run-time. The associated view element property will change accodingly. If you need semi-transparent colors, use something like:
myColor = new java.awt.Color(255,0,0,127);
The last parameter is the level of transparency desired. 255 makes a full solid color. Semi-transparent colors may slow down a little bit your program.
5.5
Main.ElementsAboutLayout (w)
Slo disponible en ingls por el momento. March 11, 2009, at 11:00 AM Francisco Esquembre et al.
EJS
37
5.6
Main.ElementsAboutParticlePositions (w)
5.7
Main.ElementsAboutParticleStyles (w)
Particle Styles
A static style for a particle (i.e. a style that will not change during the execution of the simulation) is specied using one of the predened Ejs constants: NONE. A single dot is drawn. (Equivalent integer: 0) ELLIPSE. (Equivalent integer: 1) RECTANGLE. (Equivalent integer: 2) ROUND_RECTANGLE. (Equivalent integer: 3)
EJS
To specify a style that changes in run-time, youll need to declare a variable of type int, associate it to the corresponding element property, and then change the variable according to your programs logic. The integer values equivalent to each style are specied in the list above.
5.8
Main.ElementsAboutTransforms (w)
5.9 5.10
5.11
Main.ElementsAnalyticCurve3D (w)
5.12
Main.ElementsAnalyticScalarField2D (w)
5.13
Main.ElementsAnalyticSurface3D (w)
5.14
Main.ElementsAnalyticVectorField2D (w)
5.15
Main.ElementsArrayPanel (w)
5.16
Main.ElementsArrow (w)
An arrow is a 2D and 3D drawing element that displays a simple geometrical vector at given coordinates of the parent drawing or plotting panel. There is a version for 2D canvas and another one for a 3D space. The properties here shown are for the 2D model, though they are similar in 3D.
Figure 6. -
AnalyticCurve: A curve given by analytic expressions or a whole parametric family of such curves.
EJS
39
Figure 7. -
Object wrapped
The object wrapped by this element is of the class org.opensourcephysics.displayejs.Arrow. The class has been designed to control all of its features through properties, so there is no need to use directly any of the object methods.
Useful methods
(This list deliberately left empty.)
Properties
40
EJS
Size Y
Scale X
Scale Y
Draggable Whether the element can be moved. Resizable Whether the element can be resized.
Sensitivity The size of the hot spot (in pixels). On Press On Drag On Release On Enter On Exit The action to invoke when the element is pressed. The action to invoke when the element is dragged. The action to invoke when the element is released.
The action to invoke The Java code to invoke for the action. when the mouse enters the element. The action to invoke when the mouse leaves the element. The Java code to invoke for the action.
Graphical Aspect
Name Style
Values accepted
Use the editor provided or read about particle styles (p 37). Use the editor provided or read about colors (p 36).
EJS
41
5.17
Main.ElementsArrow2D (w)
Properties
Figure 8. -
(p 43)
42
EJS
A constant or variable of type double or int. A constant or variable of type double or int. Use the editor provided or read more about transforms. (p 38)
The visibility of the element. A boolean variable or one of the constants true or false. Whether the element can be moved. Whether the element can be resized. Whether dragging the element affects its group. A boolean variable or one of the constants true or false. A boolean variable or one of the constants true or false. A boolean variable or one of the constants true or false. A boolean variable or one of the constants true or false. A constant or variable of type int, 0 makes the full particle the hot spot. The Java code to invoke for the action.
Resize Group Whether resizing the element affects its group. Sensitivity The size of the hot spot (in pixels). The action to invoke when the element is pressed. The action to invoke when the element is dragged. The action to invoke when the element is released.
The action to invoke when March the mouse enters the AM 11, 2009, at 11:00 element. The action to invoke when the mouse leaves the element.
EJS
43
Main.GroupPublishFooter
5.18
Main.ElementsArrow3D (w)
5.19
Main.ElementsArrowSet2D (w)
5.20
Main.ElementsArrowSet3D (w)
5.21
Main.ElementsBar (w)
5.22
Main.ElementsBasic2D (w)
Forma2D. (p 64) Aade una elipse o un rectngulo interactivos (seleccionando RECTANGLE o ELLIPSE en el campo de texto Estilo en su panel de propiedades). Segmento. (p 62) Dibuja un segmento interactivo. Flecha. (p 41) Dibuja una echa interactiva. Muelle2D. (p 67) Dibuja un muelle. Imagen. (p 52) Aade una imagen o imagen animada de tipo GIF. Texto. (p 71) Introduce un texto interactivo con un tipo de fuente dado. Polgono. (p 61) Dibuja una lnea poligonal a partir de las coordenadas de sus vrtices. Rastro. (p 74) Forma ms sencilla de pintar una funcin. Conjunto. (p 49) Dibuja un conjunto con multitud de los respectivos elementos anteriores. Curva analtica. (p 38) Curva 2D dada por una expresin analtica. Cursor. (p 48) Cursor para un panel de dibujo 2D. Traza. (p 73) Dibuja una lnea poligonal formada por acumulacin de puntos, formando as la traza de un movimiento. Video. (p 75) Un clip de video
EJS
Main.GroupPublishFooter
5.23
Main.ElementsBasic3DDrawables (w)
Partcula 3D. (p 46) Add a new 3D ellipse, rectangle. . . This element only can be hold by a 3D drawing panel. Segmento 3D. (p 64) Draw a new interactive 3D segment. Flecha 3D. (p 43) Draw a new interactive arrow for a 3D drawing panel. Muelle 3D. (p 69) Add a new 3D spring. Imagen. (p 54) Add a new image or a animated GIF image in a 3D drawing panel. Texto 3D. (p 73) Include a 3D interactive text eld. You can select the most appropriate text font. Traza 3D. (p 74) The most simple way to print a function on a drawing panel. Polgono. (p 61) Trace a polygonal line through the vertex coordinates. Grupo. (p 49) Dene a 3D elements group. Plano. (p 58) Add a 3D plane to the drawing panel. Caja. (p 44) Add a 3D box to the drawing panel. Esfera. (p 65) Add a 3D sphere to the drawing panel. Elipsoide. (p 48) Add a 3D ellipsoid to the drawing panel. Cilindro. (p 48) Add a 3D cylinder to the drawing panel. Cono. (p 46) Add a 3D cone to the drawing panel. Supercie. (p 69) Add a 3D surface to the drawing panel.
Main.GroupPublishFooter
5.24
Main.ElementsBox3D (w)
5.25
Main.ElementsBoxSet3D (w)
EJS
45
5.26 5.27
Main.GroupPublishFooter
5.28
Main.ElementsByteRaster (w)
5.29
Main.ElementsCamImage (w)
5.30
Main.ElementsCellLattice (w)
5.31 5.32
Disponible slo en ingls por el momento. Main.GroupPublishFooter Francisco Esquembre et al. March 11, 2009, at 11:00 AM
46
EJS
5.33
Main.ElementsCircle3D (w)
5.34
Main.ElementsCircleSet3D (w)
5.35
Main.ElementsComboBox (w)
5.36
Main.ElementsComplexDataset (w)
5.37
Main.ElementsCone3D (w)
5.38
Main.ElementsConeSet3D (w)
5.39
Main.ElementsConnecting (w)
Para conectar una variable del modelo con el elemento de vista apropiado, simplemente escriba el nombre de la variable en cuestin en el campo de texto que encontrar en el editor de propiedades del elemento. Esta conexin es bidireccional, lo que signica que si la variable del modelo cambia, el elemento de la vista recibe el nuevo valor de forma automtica y cambia consecuentemente. Y al contrario, si el usuario interacta con el elemento de forma que sus propiedades se modican de alguna forma, el nuevo valor pasa a la variable del modelo. Simple pero efectivo. Otra forma es elegir la variable que se relacionar con la propiedad utilizando el segundo icono de la derecha. Este icono, que muestra una cadena de unin, , le mostrar una ventana con una lista de todas las variables del modelo que pueden ser relacionadas con la propiedad. (Slo aparecern aquellas variables del tipo apropiado). Haciendo doble clic sobre el que haya elegido EJS rellenar este campo. Algunas veces ver que EJS escribe la variable entre smbolos de porcentaje, %Nombre%. Sin embargo esto es vlido y le dice a EJS explcitamente que Nombre es una variable del modelo, sto slo es necesario cuando la propiedad es del tipo String, para resolver la ambigedad creada si escribimos slo Nombre. Podra signicar el literal Nombre o que el nombre de la variable es Nombre. Para que el cdigo quede ms claro, recomendamos siempre escribir las cadenas String entre comillas, Nombre, pero como muchas veces se olvida EJS tiene el detalle de asumirlo como literal por lo que aade las comillas por usted de forma automtica. Main.GroupPublishFooter March 11, 2009, at 11:00 AM Francisco Esquembre et al.
EJS
47
5.40
Main.ElementsConnectingToExpressions (w)
Las propiedades de los elementos de vista tambin pueden conectarse a expresiones que involucren variables del modelo (o no), por ejemplo: x+1, donde x es una variable del modelo de tipo double, Math.sin(0.5), o Texto = +textString,donde textString es una variable del modelo de tipo String. EJS evaluar la expresin correctamente y asignar su resultado en el elemento de la vista apropiado. Sin embargo, se pierde la bidireccionalidad. Es decir, si conecta una propiedad a la expresin x+1 y x cambia en el modelo la propiedad se actualiza correctamente. Pero NO al revs. Si interacta con el elemento ocasionando un cambio en sus propiedades, la variable del modelo no cambiar (al valor de la propiedad menos 1). En realidad la propiedad ser forzada a volver al valor x+1 despus de la interaccin, quedando el elemento sin cambio aparente. Este comportamiento se debe a que no todas las expresiones tienen inversa. Qu hara EJS si usara la expresin x*x? La inversa proporciona dos valores, positivo y negativo. Cul usara EJS?. Main.GroupPublishFooter
5.41
Main.ElementsContainers (w)
Estos elementos tienen como funcin albergar a otros elementos en su zona de pantalla. Los elementos introducidos en ellos se denominan hijos y el elemento contenedor padre. En la distribucin podemos encontrar los siguientes contenedores: Ventana (p 49). La caracterstica principal de las ventanas es que saben cmo relacionarse con el entorno de ventanas de su sistema operativo. En particular, pueden minimizarse y restaurarse de la forma habitual. Adems, cada vista debe tener al menos un primer elemento de este tipo en el cual colocar otros elementos y que llamaremos ventana principal. Ventana de Dilogo. (p 48) Las ventanas de dilogo son tambin ventanas independientes pero se diferencian de las anteriores en que no pueden minimizarse (aunque s ocultarse). Adems se mantienen visibles por encima de la ventana que le precede en el rbol de elementos lo que puede ser til en una simulacin con varias ventanas. Panel. (p 56) Los paneles son el tipo de contenedor ms bsico, til para simplemente agrupar otros elementos. Panel dividido. (p 65) ste es un sencillo contenedor con dos reas separadas. Panel con separadores. (p 69) Contenedor que muestra slo uno de los hijos cada vez, organizndolos mediante separadores con forma de pestaa.
48
EJS Barra de herramientas. (p 73) Barra de herramientas que puede sacarse fuera de la ventana haciendo clic y arrastrando. Panel de dibujo. (p 48) Contenedor bsico para dibujo bidimensional. Panel con ejes. (p 58) Similar al anterior, incorpora un sistema de ejes cartesianos o polares. Panel de dibujo 3D. (p 48) Versin tridimensional del panel de dibujo.
Main.GroupPublishFooter
5.42
Main.ElementsCursor (w)
5.43
Main.ElementsCylinder3D (w)
5.44
Main.ElementsCylinderSet3D (w)
5.45
Main.ElementsDataRaster (w)
5.46
Main.ElementsDataTable (w)
5.47
Main.ElementsDialog (w)
5.48
Main.ElementsDisplay3DPanel (w)
5.49
Main.ElementsDrawingPanel (w)
5.50
Main.ElementsEllipsoid3D (w)
EJS
49
5.51
Main.ElementsEllipsoidSet3D (w)
5.52 5.53
5.54
Main.ElementsFrame (w)
5.55
Main.ElementsFunction (w)
5.56
Main.ElementsGroup2D (w)
5.57
Main.ElementsGroup3D (w)
5.58
Main.ElementsHistogram (w)
5.59
Main.ElementsImage (w)
An image is a 2D element that displays a simple image, read from disk, at given coordinates of the parent drawing or plotting panel.
Object wrapped
The object wrapped by this element is of the class org.opensourcephysics.displayejs.Image. The class has been designed to control all of its features through properties, so there is no need to use directly any of the object methods.
Useful methods
(This list deliberately left empty.)
Figure 9. -
50
EJS
Properties
EJS
51
Draggable Whether the element can be moved. Resizable Whether the element can be resized. Sensitivity The size of the hot spot (in pixels). On Press On Drag On Release On Enter On Exit The action to invoke when the element is pressed. The action to invoke when the element is dragged. The action to invoke when the element is released.
The action to invoke when the mouse enters the element. The action to invoke when the mouse leaves the element.
Graphical Aspect
Name Image Position Description Provides a frame to display an image Position of the image relative to the container Values accepted File on disk containing the image to display Java predened constants for position (CENTER, NORTH, . . . )
RotateFranciscoto display the et al. with, Sexagesimal value11:00 AM (90 for Angle Esquembre image March 11, 2009, at of the angle relative to horizontal perpendicular)
52
EJS
Main.GroupPublishFooter
5.60
Main.ElementsImage2D (w)
Properties
Figure 10. -
(p 43)
EJS
53
Whether to draw the image with its A boolean variable or one of the real pixel size. constants true or false. The size of the element in the X direction. The size of the element in the Y direction. A constant or variable of type double or int. A constant or variable of type double or int.
The double[] array with the size of A double array. the shape in each direction. The scale factor for the element in the X direction. The scale factor for the element in the Y direction. A constant or variable of type double or int. A constant or variable of type double or int.
The transformation to apply to this Use the editor provided or read more element. about transforms. (p 38)
Drag Group Whether dragging the element affects its group. Sensitivity
The size of the hot spot (in pixels). A constant or variable of type int, 0 makes the full particle the hot spot. The action to invoke when the element is pressed. The action to invoke when the element is dragged. The action to invoke when the element is released. The Java code to invoke for the action.
The action to invoke when the mouse enters the element. The action to invoke when the mouse leaves the element.
Graphical Aspect
Name Image File Description The le name with the image to Values accepted The le or a string variable.
54
EJS
Main.GroupPublishFooter
5.61
Main.ElementsImage3D (w)
5.62
Main.ElementsImageSet2D (w)
5.63
Main.ElementsImageSet3D (w)
5.64
Main.ElementsInputAndOutput (w)
Barra. Una barra que representa un valor, normalmente asociado a una variable. Dicho valor ha de encontrarse entre unos valores mximo y mnimo que se pueden establecer en el panel de propiedades de la barra. Deslizador. Un deslizador que sirve para visualizar y modicar un valor. Igual que en el elemento anterior el valor se encontrar entre un mximo y un mnimo determinados. Tabla de datos. Una tabla de datos. Lista. Una lista desplegable para mostrar varias opciones y seleccionar una de ellas. Campo numrico. Es un campo para mostrar y modicar un valor numrico mediante teclado. Campo de texto. Es un campo para mostrar y modicar el valor de una variable de tipo String a travs del teclado. Campo para clave. Un campo de texto para introducir desde teclado una palabra secreta. Funcin. Un campo de texto para evaluar una funcin de una variable. rea de texto. Un rea en la que imprimir texto. Panel para matrices. Un panel para editar los datos de una matriz.
Main.GroupPublishFooter
5.65
Main.ElementsInterface (w)
Elementos para la Interfaz. stos son los elementos utilizados para construir la interfaz. Estos elementos estn basados en elementos estndar de Java para interfaces, tales como ventanas, paneles y botones. March 11, 2009, at 11:00 AM Francisco Esquembre et al.
EJS
(p 74) (p 74) (p 74) (p 47) (p 48) (p 65) (p 49) (p 45) (p 55) (p 73) (p 45) (p 45) (p 65) (p 75) (p 55)
?
55
(p 74)
(p 56) (p 69)
(p 48)
(p 58)
(p 48)
(p 43)
(p 64)
Main.GroupPublishFooter
5.66 5.67
5.68
Main.ElementsMenu (w)
5.69
Main.ElementsMenuBar (w)
5.70
Main.ElementsMenuElements (w)
Barra de men. Una barra para men. Men. Un men. Botn de men. Un botn para men. Selector para men. Un selector de valores booleanos para men. Botn radio para men. Un selector de radio de valores booleanos para men. Se diferencia del anterior por funcionar en grupo. Cuando hay varios la seleccin de uno supone la deseleccin del resto. Separador para men. Lnea de separacin para men.
Main.GroupPublishFooter
56
EJS
5.71
Main.ElementsMenuItem (w)
5.72
Main.ElementsOther3D (w)
5.73
Main.ElementsPanel (w)
5.74
Main.ElementsParsedField (w)
5.75
Main.ElementsParticle (w)
A particle is a 2D drawing element that displays a simple geometrical shape (a rectangle or an ellipse), at given coordinates of the parent drawing or plotting panel. The shape is drawn relative (see the Position property) to the given coordinates with the size specied in each direction. The element can also be applied a rotation and a scale factor for each coordinate. Particles respond to user interaction on their position coordinates (changing their position), invoking up to ve different actions.
Object wrapped
The object wrapped by this element is of the class org.opensourcephysics.displayejs.InteractiveParticle. The class has been designed to control all of its features through properties, so there is no need to use directly any of the object methods.
Useful methods
(This list deliberately left empty.)
Properties
Figure 11. -
EJS
57
Whether the size of the element is given A boolean variable or one of the in pixels. By default (i.e. false) the size constants true or false. of the element is relative to its parent panel coordinate system. The scale factor for the element in the X A constant or variable of type double direction. or int. The scale factor for the element in the Y A constant or variable of type double direction. or int.
Scale X Scale Y
Draggable Whether the element can be moved. Sensitivity The size of the hot spot (in pixels). The action to invoke when the element is pressed. The action to invoke when the element is dragged. The action to invoke when the element is released.
The action to invoke when Francisco Esquembre et al. the mouse 11,The Java code to invoke for the March 2009, at 11:00 AM enters the element. action.
58
EJS
Main.GroupPublishFooter
5.76
Main.ElementsParticleSet (w)
Main.GroupPublishFooter
5.77
Main.ElementsPasswordField (w)
5.78
Main.ElementsPipe (w)
Pipe. It represents a ow of a liquid, or in Automatic Control, a ow of any variable in a wide sense. It shows how ow is moved from one place to another. Main.GroupPublishFooter
5.79
Main.ElementsPlane3D (w)
5.80
Main.ElementsPlaneSet3D (w)
5.81
Main.ElementsPlottingPanel (w)
5.82
Main.ElementsPoints (w)
5.83
Main.ElementsPoints3D (w)
5.84
Main.ElementsPolygon (w)
Useful methods
(This list deliberately left empty.)
Figure 12. -
EJS
59
Figure 13. -
Properties
60
EJS
Input
Name X Y Description The set of X coordinates. The set of Y coordinates. Values accepted A list of values of type double. A list of values of type double.
Point selected Whether the element can be moved. Fixed corners Whether the element can be moved. The action to invoke when the element is pressed. The action to invoke when the element is dragged. The action to invoke when the element is released. The action to invoke when the mouse enters the element. The action to invoke when the mouse leaves the element.
Graphical Aspect
Name Closed Description Color of the line. Values accepted Binary codied color.
EJS Main.GroupPublishFooter
61
5.85
Main.ElementsPolygon2D (w)
5.86
Main.ElementsPolygon3D (w)
5.87
Main.ElementsPolygonSet2D (w)
5.88
Main.ElementsPolygonSet3D (w)
5.89 5.90
5.91
Main.ElementsRecentChanges (w)
ArrowSet (w) . . . August 01, 2008, at 02:45 PM by arboleya ? : upload image of the screen Valve (w) . . . July 25, 2008, at 09:49 AM by arboleya ? : Pipe (w) . . . July 25, 2008, at 09:41 AM by arboleya ? : Tank (w) . . . July 25, 2008, at 09:39 AM by arboleya ? : TraceSet (w) . . . July 25, 2008, at 09:37 AM by arboleya ? : TextSet (w) . . . July 25, 2008, at 09:36 AM by arboleya ? : ImageSet (w) . . . July 25, 2008, at 09:34 AM by arboleya ? : SpringSet (w) . . . July 25, 2008, at 09:33 AM by arboleya ? : ParticleSet (w) . . . July 25, 2008, at 09:31 AM by arboleya ? : fast change to improve quickly the reference about sets ConnectingToExpressions (w) . . . July 05, 2008, at 09:26 AM by paco ? : Connecting (w) . . . July 05, 2008, at 09:11 AM by paco ? : Polygon (w) . . . May 28, 2008, at 11:36 AM by arboleya ? : gracal aspect lled in Cursor (w) . . . April 11, 2008, at 10:46 AM by arboleya ? : cursor.png CamImage (w) . . . April 11, 2008, at 10:45 AM by arboleya ? : camimage.png Histogram (w) . . . April 11, 2008, at 10:44 AM by arboleya ? : histogram.png AnalyticCurve (w) . . . April 11, 2008, at 10:44 AM by arboleya ? : analyticcurve.png Trace (w) . . . March 25, 2008, at 01:13 PM by arboleya ? : input set appart Francisco Esquembre et al. March 11, 2009, at 11:00 AM
62
EJS Spring (w) . . . March 04, 2008, at 12:06 PM by arboleya ? : lled in some missing properties Image (w) . . . March 04, 2008, at 11:53 AM by arboleya ? : lling in pending elds Text (w) . . . March 04, 2008, at 11:48 AM by arboleya ? : corrections to values available Elements (w) . . . March 03, 2008, at 02:41 PM by arboleya ? : Redirect to Elements/Reference Reference ? . . . March 01, 2008, at 12:35 PM by paco ? : Arrow (w) . . . February 29, 2008, at 11:45 AM by arboleya ? : 2D and 3D Particle (w) . . . February 29, 2008, at 11:34 AM by arboleya ? : screenshot UserDened (w) . . . January 29, 2008, at 08:04 PM by paco ? : AboutParticlePositions (w) . . . January 01, 2008, at 11:41 PM by paco ? : AboutParticleStyles (w) . . . January 01, 2008, at 11:39 PM by paco ? : AboutColors (w) . . . January 01, 2008, at 11:38 PM by paco ? : Video (w) . . . January 01, 2008, at 08:36 PM by paco ? : Poligon ? . . . January 01, 2008, at 08:34 PM by paco ? : Main.GroupPublishFooter
5.92
Main.ElementsScalarField2D (w)
5.93
Main.ElementsSegment2D (w)
Properties
Figure 14. -
(p 43)
EJS
63
Resize Group Whether resizing the element affects its group. Sensitivity The size of the hot spot (in pixels). The action to invoke when the element is pressed. The action to invoke when the element is dragged. The action to invoke when the element is released.
Graphical Aspect
64
EJS
Main.GroupPublishFooter
5.94
Main.ElementsSegment3D (w)
5.95
Main.ElementsSegmentSet2D (w)
5.96
Main.ElementsSegmentSet3D (w)
5.97 5.98
Aviso:Los diferentes iconos de esta tabla dibujan conjuntos con multitud de los respectivos elementos anteriores por lo que para saber ms sobre su uso se aconseja ver la explicacin referente al elemento en cuestin. Slo en ingls por el momento. Main.GroupPublishFooter
5.99
Main.ElementsSets3D (w)
5.100
Main.ElementsShape2D (w)
5.101
Main.ElementsShapeSet2D (w)
5.102
Main.ElementsSimpleVectorField2D (w)
5.103
Main.ElementsSimpleVectorField3D (w)
5.104
Main.ElementsSiteLattice (w)
EJS
65
5.105
Main.ElementsSlider (w)
5.106 5.107
5.108
Main.ElementsSphereSet3D (w)
5.109
Main.ElementsSplitPanel (w)
5.110
Main.ElementsSpring (w)
A spring is a 2D drawing element that displays a simple icon for a spring at given coordinates of the parent drawing or plotting panel. The shape is drawn relative (see the Position property) to the given coordinates with the size specied in each direction. The element can also be applied a rotation and a scale factor for each coordinate. They respond to user interaction on their position coordinates (changing their position), invoking up to ve different actions.
Object wrapped
The object wrapped by this element is of the class org.opensourcephysics.displayejs.InteractiveSpring. The class has been designed to control all of its features through properties, so there is no need to use directly any of the object methods.
Useful methods
(This list deliberately left empty.)
Properties
Figure 15. -
66
EJS
Size Y
Scale X
Scale Y
The action to invoke March 11, 2009, at 11:00 AM The Java code toEsquembrethe action. Francisco invoke for et al. when the mouse enters the element. The action to invoke when the mouse The Java code to invoke for the action.
EJS
67
Main.GroupPublishFooter
5.111
Main.ElementsSpring2D (w)
A spring is a 2D drawing element that displays a simple icon for a spring at given coordinates of the parent drawing or plotting panel. The shape is drawn relative (see the Position property) to the given coordinates with the size specied in each direction. The element can also be applied a rotation and a scale factor for each coordinate.
Properties
Figure 16. -
Spring: A 2D spring.
(p 43)
68
EJS
Graphical Aspect
EJS
69
Object wrapped
The object wrapped by this element is of the class org.opensourcephysics.displayejs.InteractiveSpring. The class has been designed to control all of its features through properties, so there is no need to use directly any of the object methods. Main.GroupPublishFooter
5.112
Main.ElementsSpring3D (w)
5.113
Main.ElementsSpringSet2D (w)
5.114
Main.ElementsSpringSet3D (w)
5.115
Main.ElementsSurface3D (w)
5.116
Main.ElementsSurfaceSet3D (w)
5.117
Main.ElementsTabbedPanel (w)
5.118
Main.ElementsTank (w)
5.119
Main.ElementsText (w)
Object wrapped
The object wrapped by this element is of the class org.opensourcephysics.displayejs.Text. The class has been designed to control all of its features through properties, so there is no need to use directly any of the object methods.
Useful methods
(This list deliberately left empty.)
Figure 17. -
70
EJS
Properties
EJS
71
Draggable Whether the element can be moved. On Press On Drag On Release On Enter On Exit The action to invoke when the element is pressed. The action to invoke when the element is dragged. The action to invoke when the element is released. The action to invoke when the mouse enters the element. The action to invoke when the mouse leaves the element.
Graphical Aspect
Name Text Position Rotate Fill color Font Description Text to display Position of the text relative to container window Rotation of the text respect horizontal position Color to ll in the text font to display the text Values accepted Any string valid in Java Java predened constants (CENTERED, NORTH, SOUTH, . . . ) Rotation angle in sexagesimal degrees (90 for perpendicular) An integer codifying in binary 8 bits per color channel Available fonts of the underlying operating system
Main.GroupPublishFooter
5.120
Main.ElementsText2D (w)
Properties
72
EJS
Figure 18. -
(p 43)
A constant or variable of type double or int. A constant or variable of type double or int. Use the editor provided or read more about transforms. (p 38)
Drag Group Whether dragging the element affects its group. Sensitivity The size of the hot spot (in pixels).
The action to invoke when the element is pressed. The action to invoke when the element is dragged.
March 11, 2009, at 11:00 AM the element is Esquembre et al.to invoke for the Francisco The action to invoke when The Java code
released. action.
EJS
73
Main.GroupPublishFooter
5.121
Main.ElementsText3D (w)
5.122
Main.ElementsTextArea (w)
5.123
Main.ElementsTextField (w)
5.124
Main.ElementsTextSet (w)
Main.GroupPublishFooter
5.125
Main.ElementsTextSet2D (w)
5.126
Main.ElementsTextSet3D (w)
5.127
Main.ElementsTile3D (w)
5.128
Main.ElementsToolBar (w)
5.129
Main.ElementsTrace (w)
5.130
Main.ElementsTraceSet (w)
Figure 19. -
74
EJS
5.131
Main.ElementsTrail2D (w)
5.132
Main.ElementsTrail3D (w)
5.133
Main.ElementsTrailSet2D (w)
5.134
Main.ElementsTrailSet3D (w)
5.135 5.136
Un elemento compuesto no es realmente un nuevo elemento de la vista, sino una coleccin de otros elementos de la vista adecuadamente dispuestos para producir un conjunto listo para su uso. Los elementos compuestos incluidos en la distribucin estndar de EJS son: DrawingFrame. Este elemento compuesto contiene una ventana (p 49) con un panel de dibujo (p 48) bidimensional en su centro y un sencillo panel (p 56) de control en su parte inferior. El panel de dibujo contiene un elemento de dibujo de tipo partcula (p 56) genrico al que puede usted enlazar las variables de su modelo. El panel de control incluye un botn de dos estados (p 74) para poner en marcha y parar la simulacin, un botn (p 45) que la devuelve a su estado inicial, y un campo numrico (p 56) (sin asignar) que se puede enlazar con una variable de tipo double del modelo. DrawingFrame3D. Este elemento compuesto es una versin tridimensional del anterior, DrawingFrame. El panel en el centro es un panel de dibujo en 3D (p 48) y la partcula en l una partcula 3D ? . PlottingFrame. Este elemento compuesto es muy similar a DrawingFrame aqu arriba, pero el panel de su centro es un panel con ejes (p 58).
Un usuario puede crear sus propios elementos compuestos y aadirlos a este panel para su propio uso. Para crear un nuevo elemento compuesto, cree en primer lugar la conguracin que desee en el rbol de elemento, usando los elementos disponibles actualmente y personalizndolos (editando sus propiedades, si es preciso). Despus, copie el grupo y haga clic con el botn derecho en el panel de elementos compuestos para pegar la seleccin. Entonces, siga las instrucciones para darle un nombre y asignarle un icono de tamao 2424 que se mostrar en el panel como el nuevo elemento compuesto. March 11, 2009, at 11:00 AM Francisco Esquembre et al.
EJS Los nuevos elementos compuestos pueden borrarse haciendo clic con el botn derecho sobre ellos y seleccionando la opcin Borrar que aparecer. Main.GroupPublishFooter
75
5.137
Main.ElementsValve (w)
Valve. It represents the abstraction of the control over a ow, ignoring therefore its internal delays or non-linearities. Its value is given as the value of the passing ow, with a negative value meaning a ow with inverse direction of the one shown. Main.GroupPublishFooter
5.138
Main.ElementsVideo (w)
5.139
Main.ElementsWebCam (w)
Main.GroupPublishFooter
Retrieved from http://www.um.es/fem/EjsWiki/index.php/Main/PrintEs Page collection published March 11, 2009, at 11:00 AM Typeset by Wikipublisher Copyright 20072009 Francisco Esquembre et al.