sinwave_0.wrl source
#VRML V2.0 utf8

Viewpoint {}

NavigationInfo {
type "EXAMINE"
}

# Ô‹…
DEF RedBall-Tf Transform {
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 0
}
}
geometry Sphere {
radius 0.2
}
}
]
}
# ‹…
DEF BlueBall-Tf Transform {
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 0 0 1
}
}
geometry Sphere {
radius 0.2
}
}
]
}

# sin”g‚Ìü
Shape {
appearance Appearance {
material Material {
emissiveColor 1 1 0.999
}
}
geometry IndexedLineSet {
coord Coordinate {
point [
-3 0 0, -2.85 0.469303 0, -2.7 0.927051 0, -2.55 1.36197 0, -2.4 1.76336 0, -2.25 2.12132 0, -2.1 2.42705 0, -1.95 2.67302 0, -1.8 2.85317 0, -1.65 2.96306 0, -1.5 3 0, -1.35 2.96306 0, -1.2 2.85317 0, -1.05 2.67302 0, -0.9 2.42705 0, -0.75 2.12132 0, -0.6 1.76336 0, -0.45 1.36197 0, -0.3 0.927051 0, -0.15 0.469304 0, 0 0 0, 0.15 -0.469303 0, 0.3 -0.927051 0, 0.45 -1.36197 0, 0.6 -1.76336 0, 0.75 -2.12132 0, 0.9 -2.42705 0, 1.05 -2.67302 0, 1.2 -2.85317 0, 1.35 -2.96307 0, 1.5 -3 0, 1.65 -2.96307 0, 1.8 -2.85317 0, 1.95 -2.67302 0, 2.1 -2.42705 0, 2.25 -2.12132 0, 2.4 -1.76336 0, 2.55 -1.36197 0, 2.7 -0.927051 0, 2.85 -0.469303 0, 3 0 0
]
}
coordIndex [
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
]
}
}


# ƒ^ƒCƒ€ƒZƒ“ƒT[
DEF TiS TimeSensor {
loop TRUE
cycleInterval 10
}

# Ô‹…ˆÚ“®ƒAƒjƒƒf[ƒ^
DEF Red-PI PositionInterpolator {}

ROUTE TiS.fraction_changed TO Red-PI.set_fraction
ROUTE Red-PI.value_changed TO RedBall-Tf.translation

# ‹…ˆÚ“®ƒAƒjƒƒf[ƒ^
DEF Blue-PI PositionInterpolator {}

ROUTE TiS.fraction_changed TO Blue-PI.set_fraction
ROUTE Blue-PI.value_changed TO BlueBall-Tf.translation


DEF Sc Script {
eventOut MFFloat keyRed
eventOut MFVec3f keyValueRed
eventOut MFFloat keyBlue
eventOut MFVec3f keyValueBlue
field SFInt32 klr 5
field SFInt32 klb 20
url "javascript:
function initialize () {

kr = new MFFloat();
kvr = new MFVec3f ();
kb = new MFFloat();
kvb = new MFVec3f ();
var height = 3;
var pi2 = 2 * Math.PI;

// making key and keyValue of red ball
for ( var i = 0; i <= klr; i++ ) {

kr[i] = i / klr;

var x = kr[i] * 6 - 3;
var y = height * Math.sin( pi2 * kr[i] );

kvr[i] = new SFVec3f ( x, y, 0 );

}

// making key and keyValue of blue ball
for ( var i = 0; i <= klb; i++ ) {

kb[i] = i / klb;

var x = kb[i] * 6 - 3;
var y = height * Math.sin( pi2 * kb[i] );

kvb[i] = new SFVec3f ( x, y, 0 );

}

keyRed = kr;
keyValueRed = kvr;
keyBlue = kb;
keyValueBlue = kvb;

}
"
}

ROUTE Sc.keyRed TO Red-PI.key
ROUTE Sc.keyValueRed TO Red-PI.keyValue
ROUTE Sc.keyBlue TO Blue-PI.key
ROUTE Sc.keyValueBlue TO Blue-PI.keyValue