|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.awt.Component | +--java.awt.Container | +--java.awt.Panel | +--java.applet.Applet | +--edu.davidson.tools.SApplet | +--animator4.Animator
Animator is part of the Davidson College Physlets project. It is designed to animate shapes or images on the screen. Objects can move along a predefined trajectory or in response to a force.
The following embedding parameters are defined:
Parameter | Value | Description |
---|---|---|
FPS | 10 | Frames per second. |
dt | 0.1 | Animation time step per frame. |
ShowControls | true | Show VCR buttons at bottom of applet. |
GridUnit | 1.0 | The grid spacing. A value of 0 will suppress the grid. |
PixPerUnit | 10 | Conversion factor from pixel units to world units. |
Various objects in Animator implement the data source interface. This interface, SDataSource, enables inter-applet data passing between Physlets.
Object | Identifier | Variables |
---|---|---|
images | id=addImage(String file,String xStr,String yStr) | t, x, y, vx, vy, ax, ay, m |
All shapes: circle, rectangle, box, arrow, etc. | The id is returned when an object is created using an add method. | t, x, y, vx, vy, ax, ay, m |
clock | id=getClockID() | t |
ensemble | id=getEnsembleID() | t, xcm, ycm, px, py , m , ke |
Fields inherited from class edu.davidson.tools.SApplet |
clock,
dataConnections,
dataListeners,
dataSources,
lock |
Fields inherited from class java.awt.Component |
BOTTOM_ALIGNMENT,
CENTER_ALIGNMENT,
LEFT_ALIGNMENT,
RIGHT_ALIGNMENT,
TOP_ALIGNMENT |
Constructor Summary | |
Animator()
|
Method Summary | |
int |
addObject(java.lang.String name,
java.lang.String parList)
Create an object and add it to the Physlet. |
void |
forward()
Start the animation. |
double |
getAnimationTime()
Get the animation time. |
java.lang.String |
getAppletInfo()
|
int |
getEnsembleID()
Get the id for the ensemble of objects. |
double |
getFx(int id)
Get the x component of the force acting on an object. |
double |
getFy(int id)
Get the y component of the force acting an object. |
java.lang.String |
getParameter(java.lang.String key,
java.lang.String def)
|
java.lang.String[][] |
getParameterInfo()
|
double |
getVX(int id)
Get the x velocity of an object. |
double |
getVY(int id)
Get the y velocity of on an object. |
double |
getX(int id)
Get the x position of an object. |
double |
getY(int id)
Get the y position of an object. |
void |
init()
|
static void |
main(java.lang.String[] args)
|
void |
pause()
Pause the animation. |
void |
reset()
Clear data from all dataConnections and reset the animation time to 0. |
void |
reverse()
Reverse the direction of the time step in the animation. |
boolean |
setAnimationSlave(int masterID,
int slaveID)
Force an object to follow another object on the screen. |
void |
setAnimationTime(double time)
Set the animation time. |
void |
setAutoRefresh(boolean auto)
Force the applet to repaint whenever any object changes its properties. |
int |
setCaption(java.lang.String s)
Add a caption to the applet. |
void |
setCollisionMessage(java.lang.String msg)
Display a message in the yellow message box. |
boolean |
setConstrainR(int id,
double r,
double x,
double y)
Constrain the motion of the test charges to a circular path. |
boolean |
setConstrainX(int id,
double x,
double min,
double max)
Constrain the motion of the test charges to a path of constant x. |
boolean |
setConstrainY(int id,
double y,
double min,
double max)
Constrain the motion of the test charges to a path of constant y. |
boolean |
setCoordinateOffset(int id,
int xOff,
int yOff)
Offset the object's coordinates on the screen. |
void |
setDampOnMousePressed(boolean damp)
Set the velocity of an object to zero if it is being dragged. |
void |
setDefault()
Set default values and deletes all data connections. |
boolean |
setDisplayOffset(int id,
int xOff,
int yOff)
Offset the object's position on the screen from its default drawing position. |
boolean |
setDragable(int id,
boolean canDrag)
Make the object with the given id dragable. |
boolean |
setFont(int id,
java.lang.String family,
int style,
int size)
change the object's font for any text4 that is displayed. |
boolean |
setFootPrints(int id,
int n)
Set the trail to leave footprints as the charge moves. |
boolean |
setForce(int id,
java.lang.String fxStr,
java.lang.String fyStr,
double x0,
double y0,
double vx0,
double vy0)
Set the Force on a particle. |
boolean |
setFormat(int id,
java.lang.String fstr)
Change the object's format for the display of numeric data. |
boolean |
setGhost(int id,
boolean ghost)
Have the charge draw ghost images as it moves. |
void |
setGridUnit(double gu)
Set the grid spacing in world, i.e., not pixel, units. |
boolean |
setMass(int id,
double m)
Set the mass of an object. |
void |
setMessage(java.lang.String msg)
Display a message in the yellow message box. |
void |
setOneShot(double min,
double max,
java.lang.String msg)
Set the applet to run for a fixed interval, stop, and display a message. |
boolean |
setOnScreenSize(int id,
int size)
Set a size parameter for an object. |
boolean |
setPaintBeforeGrid(int id,
boolean before)
Have the object draw itself before the grid is drawn. |
void |
setPixPerUnit(int pu)
Set the pixels per unit. |
boolean |
setRGB(int id,
int r,
int g,
int b)
Set the color of an object. |
void |
setShapeRGB(int r,
int g,
int b)
Set the red, green, and blue color values for all subsequent drawing. |
boolean |
setShowAComponents(int id,
boolean show)
Have the object show its acceleration components. |
boolean |
setShowAVector(int id,
boolean show)
Have the object show its acceleration vector. |
boolean |
setShowConstraintPath(int id,
boolean sc)
Show the objects trajectory constraint if it exists. |
boolean |
setShowCoordinates(int id,
boolean show)
Have the object show its coordinates on screen. |
boolean |
setShowFComponents(int id,
boolean show)
Have the object show its force components. |
boolean |
setShowFVector(int id,
boolean show)
Have the object show its force vector. |
boolean |
setShowVComponents(int id,
boolean show)
Have the object show its velocity components. |
boolean |
setShowVVector(int id,
boolean show)
Have the object show its velocity vector. |
boolean |
setSpeed(int id,
double speed)
Change the speed of an object. |
boolean |
setSticky(int id,
boolean sticky)
Make the object sticky. |
void |
setTimeContinuous()
Let the animation time increase indefinitely. |
void |
setTimeCycle(double max)
Set a time loop for the animation from 0 to max. |
void |
setTimeDisplay(boolean show)
Enable the time display in the applet window. |
void |
setTimeInterval(double min,
double max)
Set a time loop for the animation. |
void |
setTimeOneShot(double max,
java.lang.String msg)
Run the simulaiton one time. |
void |
setTimeVisibility(boolean visible)
Enable the time display in the applet window. |
void |
setTolerance(double tol)
Set the tolerance of the ODE solver. |
boolean |
setTrail(int id,
int n)
Enable an object to display its path as it moves. |
boolean |
setTrajectory(int id,
java.lang.String xStr,
java.lang.String yStr)
Set the trajectory of an object on the screen. |
boolean |
setVisibility(int id,
boolean show)
Show the visibility of the object. |
boolean |
setVX(int id,
double vx)
Change the x component of the speed of an object. |
boolean |
setVY(int id,
double vy)
Change the y component of the speed of an object. |
boolean |
setX(int id,
double x)
Change the x of an object. |
boolean |
setY(int id,
double y)
Change the y of an object. |
void |
shiftPixOrigin(int xo,
int yo)
Shift the origin for all drawing. |
void |
start()
|
void |
stepBack()
|
void |
stepForward()
|
void |
stepTimeBack()
Step the time backward by dt. |
void |
stepTimeForward()
Step the time by dt. |
void |
stop()
|
boolean |
swapZOrder(int id1,
int id2)
Swap the drawing order on the screen. |
Methods inherited from class java.applet.Applet |
getAccessibleContext,
getAppletContext,
getAudioClip,
getAudioClip,
getCodeBase,
getDocumentBase,
getImage,
getImage,
getLocale,
getParameter,
isActive,
newAudioClip,
play,
play,
resize,
resize,
setStub,
showStatus |
Methods inherited from class java.awt.Panel |
addNotify |
Methods inherited from class java.awt.Container |
add,
add,
add,
add,
add,
addContainerListener,
countComponents,
deliverEvent,
doLayout,
findComponentAt,
findComponentAt,
getAlignmentX,
getAlignmentY,
getComponent,
getComponentAt,
getComponentAt,
getComponentCount,
getComponents,
getInsets,
getLayout,
getListeners,
getMaximumSize,
getMinimumSize,
getPreferredSize,
insets,
invalidate,
isAncestorOf,
layout,
list,
list,
locate,
minimumSize,
paint,
paintComponents,
preferredSize,
print,
printComponents,
remove,
remove,
removeAll,
removeContainerListener,
removeNotify,
setCursor,
setFont,
setLayout,
update,
validate |
Methods inherited from class java.awt.Component |
action,
add,
addComponentListener,
addFocusListener,
addHierarchyBoundsListener,
addHierarchyListener,
addInputMethodListener,
addKeyListener,
addMouseListener,
addMouseMotionListener,
addPropertyChangeListener,
addPropertyChangeListener,
bounds,
checkImage,
checkImage,
contains,
contains,
createImage,
createImage,
disable,
dispatchEvent,
enable,
enable,
enableInputMethods,
getBackground,
getBounds,
getBounds,
getColorModel,
getComponentOrientation,
getCursor,
getDropTarget,
getFont,
getFontMetrics,
getForeground,
getGraphics,
getGraphicsConfiguration,
getHeight,
getInputContext,
getInputMethodRequests,
getLocation,
getLocation,
getLocationOnScreen,
getName,
getParent,
getPeer,
getSize,
getSize,
getToolkit,
getTreeLock,
getWidth,
getX,
getY,
gotFocus,
handleEvent,
hasFocus,
hide,
imageUpdate,
inside,
isDisplayable,
isDoubleBuffered,
isEnabled,
isFocusTraversable,
isLightweight,
isOpaque,
isShowing,
isValid,
isVisible,
keyDown,
keyUp,
list,
list,
list,
location,
lostFocus,
mouseDown,
mouseDrag,
mouseEnter,
mouseExit,
mouseMove,
mouseUp,
move,
nextFocus,
paintAll,
postEvent,
prepareImage,
prepareImage,
printAll,
remove,
removeComponentListener,
removeFocusListener,
removeHierarchyBoundsListener,
removeHierarchyListener,
removeInputMethodListener,
removeKeyListener,
removeMouseListener,
removeMouseMotionListener,
removePropertyChangeListener,
removePropertyChangeListener,
repaint,
repaint,
repaint,
repaint,
requestFocus,
reshape,
setBackground,
setBounds,
setBounds,
setComponentOrientation,
setDropTarget,
setEnabled,
setForeground,
setLocale,
setLocation,
setLocation,
setName,
setSize,
setSize,
setVisible,
show,
show,
size,
toString,
transferFocus |
Methods inherited from class java.lang.Object |
equals,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Constructor Detail |
public Animator()
Method Detail |
public java.lang.String getParameter(java.lang.String key, java.lang.String def)
public void init()
public void start()
public void stop()
public void setAutoRefresh(boolean auto)
auto
- The id of the object.public int setCaption(java.lang.String s)
The
- caption.public boolean setDragable(int id, boolean canDrag)
id
- of the object.canDrag
- Is the object dragable?true
if successful false
otherwisepublic boolean setVisibility(int id, boolean show)
show
- true
will show object on screentrue
if successful false
otherwisepublic void setDefault()
public boolean setMass(int id, double m)
id
- The id of the object.m
- The new mass.public void setCollisionMessage(java.lang.String msg)
msg
- Message to display after the animation stops.public void setMessage(java.lang.String msg)
msg
- Message to display after the animation stops.public boolean setAnimationSlave(int masterID, int slaveID)
masterID
- The id of the master object.slaveID
- The id of the slave object.public void setShapeRGB(int r, int g, int b)
r
- red.g
- green.b
- blue.public boolean setRGB(int id, int r, int g, int b)
id
- The id of the object.r
- redg
- greenb
- bluepublic void setOneShot(double min, double max, java.lang.String msg)
min
- The starting time value for the loopmax
- The ending time for the loop.msg
- Message to display after the animation stops.setTimeContinuous()
,
setTimeInterval(double, double)
public boolean setOnScreenSize(int id, int size)
id
- The ID of the object.size
- The size of the object.public void setTimeCycle(double max)
max
- The ending time for the loop.setTimeContinuous()
,
setOneShot(double, double, java.lang.String)
,
setTimeInterval(double, double)
public void setTimeInterval(double min, double max)
min
- The starting time value for the loopmax
- The ending time for the loop.setTimeContinuous()
,
setOneShot(double, double, java.lang.String)
public void setTimeContinuous()
setTimeOneShot(double, java.lang.String)
,
setTimeInterval(double, double)
,
setOneShot(double, double, java.lang.String)
public void setTimeOneShot(double max, java.lang.String msg)
max
- Reset the simulation to t=0 when t>=max and stop the simulation.string
- the message to be displayed on the screen when the max time is reached.public boolean setFootPrints(int id, int n)
id
- The id of the object.n
- The number of points to skip between trail
footprints or ghost images.public boolean setGhost(int id, boolean ghost)
id
- The id of the object.ghost
- Draw ghost?public void setTolerance(double tol)
tol
- public boolean setTrail(int id, int n)
id
- The id of the object.n
- Number of points in trail. n=0 disables the trail.public boolean setTrajectory(int id, java.lang.String xStr, java.lang.String yStr)
id
- The ID of the thing.xStr
- The function x(t).yStr
- The function y(t).public boolean setForce(int id, java.lang.String fxStr, java.lang.String fyStr, double x0, double y0, double vx0, double vy0)
id
- The ID of the pole.fxStr
- A function of t, x, y, vx, vy, ax, ay, m.fyStr
- A function of t, x, y, vx, vy, ax, ay, m.x0
- The initial value for x.y0
- The initial value for y.vx0
- The initial value for vx.vy0
- The initial value for vy.public boolean setPaintBeforeGrid(int id, boolean before)
id
- The id of the object.before
- Paint before grid?public void setTimeDisplay(boolean show)
show
- boolean Show the time?public void setTimeVisibility(boolean visible)
boolean
- Show the time?public boolean setShowConstraintPath(int id, boolean sc)
sc
- Show the path?public boolean setShowCoordinates(int id, boolean show)
id
- The id of the object.show
- Show the coordinates?public boolean setShowVComponents(int id, boolean show)
id
- The id of the object.show
- Show the velocity?public boolean setShowFComponents(int id, boolean show)
id
- The id of the object.show
- Show the force?public boolean setShowAComponents(int id, boolean show)
id
- The id of the object.show
- Show the acceleration?public boolean setShowVVector(int id, boolean show)
id
- The id of the object.show
- Show the velocity?public boolean setShowAVector(int id, boolean show)
id
- The id of the object.show
- Show the acceleration?public boolean setShowFVector(int id, boolean show)
id
- The id of the object.show
- Show the force?public boolean setSticky(int id, boolean sticky)
id
- The id of the object.sticky
- Sticky?public boolean setConstrainR(int id, double r, double x, double y)
r
- The r value.x
- The x coordinate of the centery
- The y coordinate of the centerpublic boolean setConstrainX(int id, double x, double min, double max)
x
- The x value.xmin
- The minimum value of the range.xmax
- The maximum value of the range.public boolean setConstrainY(int id, double y, double min, double max)
y
- The y value.ymin
- The minimum value of the range.ymax
- The maximum value of the range.public boolean setCoordinateOffset(int id, int xOff, int yOff)
id
- The id of the object.xoff
- The x offset.yoff
- The y offset.public void setDampOnMousePressed(boolean damp)
damp
- the velocity?public boolean setFont(int id, java.lang.String family, int style, int size)
id
- The id of the object.family
- The font family: Helvetica, Times.style
- The style, 0=plain, 1=bold.size
- The size of the font;public boolean setFormat(int id, java.lang.String fstr)
id
- The id of the object.fstr
- the format string.public boolean setDisplayOffset(int id, int xOff, int yOff)
id
- The id of the object.xoff
- The x offset.yoff
- The y offset.public void setGridUnit(double gu)
gu
- grid unit.public void setPixPerUnit(int pu)
pu
- pixels per unit.public void shiftPixOrigin(int xo, int yo)
xo
- x pixel shift.yo
- y pixel shift.public void reset()
setAnimationTime(double)
public void setAnimationTime(double time)
time
- The new time displayed inside the applet.public void stepTimeForward()
SApplet.setDt(double)
public void stepForward()
public void stepTimeBack()
SApplet.setDt(double)
public void stepBack()
public int addObject(java.lang.String name, java.lang.String parList)
addObject ("circle", "x = 0, y = -1.0, r = 10");
name
- the type of object to be created.parList
- a list of parameters to be setdouble
id of the objectpublic boolean swapZOrder(int id1, int id2)
id1
- The first id of a screen object.id2
- The second id of a screen object.public int getEnsembleID()
public void reverse()
public void forward()
public void pause()
public double getAnimationTime()
public double getX(int id)
id
- The id of the object.public boolean setX(int id, double x)
id
- The id of the object.speed
- new xpublic double getY(int id)
id
- The id of the object.public boolean setY(int id, double y)
id
- The id of the object.speed
- new ypublic double getVX(int id)
id
- The id of the object.public boolean setVX(int id, double vx)
id
- The id of the object.speed
- new vxpublic double getVY(int id)
id
- The id of the object.public boolean setVY(int id, double vy)
id
- The id of the object.speed
- new vypublic boolean setSpeed(int id, double speed)
id
- The id of the object.speed
- new speedpublic double getFx(int id)
id
- The id of the object.public double getFy(int id)
id
- The id of the object.public java.lang.String getAppletInfo()
public java.lang.String[][] getParameterInfo()
public static void main(java.lang.String[] args)
|
Copyright Wolfgang Christian | ||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |