1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
|
3 | <X3D profile='Immersive' version='3.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'> |
4 | <head> |
5 | <meta name='title' content='CH46.x3d'/> |
6 | <meta name='description' content='Simplistic model of a CH-46 helicopter, which is a medium-lift rotary-wing aircraft used for carrying troops.'/> |
7 | <meta name='creator' content='Capt Allen A. Harper'/> |
8 | <meta name='created' content='2 August 2001'/> |
9 | <meta name='modified' content='28 November 2019'/> |
10 | <meta name='reference' content='https://www.fas.org/man/dod-101/sys/ac/ch-46.htm'/> |
11 | <meta name='subject' content='military aircraft CH-46 CH46 rotary wing helicopter'/> |
12 | <meta name='reference' content='https://www.web3d.org/x3d/content/examples/UniversalMediaPanoramas/ocean3.x3d'/> |
13 | <meta name='identifier' content='https://savage.nps.edu/Savage/AircraftHelicopters/CH46E-SeaKnight-UnitedStates/CH46.x3d'/> |
14 | <meta name='generator' content='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/> |
15 | <meta name='license' content='../../license.html'/> |
16 | </head> |
17 | <Scene> |
18 | <!-- Universal Media background --> |
19 | <!-- Front Set of Blades --> |
20 | <WorldInfo title='CH46.x3d'/> |
21 | <Transform DEF='Front_Rotors' rotation='1 0 0 -1.60' translation='0 2 -1'> |
22 |
<!-- ROUTE information for Rotor node:
[from RotorPath.value_changed to set_rotation
]
-->
<Transform DEF='Rotor' translation='0 -6 1.0'> |
23 | <Transform rotation='1 0 0 1.57'> |
24 | <Shape> |
25 | <Cylinder height='0.1' radius='0.6'/> |
26 | <Appearance> |
27 | <Material diffuseColor='0 0 0' shininess='.3'/> |
28 | </Appearance> |
29 | </Shape> |
30 | </Transform> |
31 | <Transform center='5.0 0 0' rotation='0 0 1 1.043' translation='-5.0 0 0'> |
32 | <Shape> |
33 | <Box size='8 0.8 0.2'/> |
34 | <Appearance> |
35 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
36 | </Appearance> |
37 | </Shape> |
38 | </Transform> |
39 | <Transform translation='5.0 0 0'> |
40 | <Shape> |
41 | <Box size='8 0.8 0.2'/> |
42 | <Appearance> |
43 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
44 | </Appearance> |
45 | </Shape> |
46 | </Transform> |
47 | <Transform center='-5.0 0 0' rotation='0 0 1 2.086' translation='5.0 0 0'> |
48 | <Shape> |
49 | <Box size='8 0.8 0.2'/> |
50 | <Appearance> |
51 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
52 | </Appearance> |
53 | </Shape> |
54 | </Transform> |
55 | </Transform> |
56 | <!-- Propeller sensor and interpolator --> |
57 |
<!-- ROUTE information for Clock node:
[from fraction_changed to RotorPath.set_fraction
]
-->
<TimeSensor DEF='Clock' loop='true'/> |
58 |
<!-- ROUTE information for RotorPath node:
[from Clock.fraction_changed to set_fraction
]
[from value_changed to Rotor.set_rotation
]
-->
<OrientationInterpolator DEF='RotorPath' key='0.0 0.50 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 3.14 0.0 0.0 1.0 6.28'/> |
59 | </Transform> |
60 | < ROUTE fromNode='Clock' fromField='fraction_changed' toNode='RotorPath' toField='set_fraction'/> |
61 | < ROUTE fromNode='RotorPath' fromField='value_changed' toNode='Rotor' toField='set_rotation'/> |
62 | <!-- Rear Set of Blades --> |
63 | <Transform DEF='Rear_Rotors' rotation='1 0 0 -1.50' translation='0 2.1 -1'> |
64 |
<!-- ROUTE information for Rotor2 node:
[from RotorPath2.value_changed to set_rotation
]
-->
<Transform DEF='Rotor2' translation='0 6 1.0'> |
65 | <Transform rotation='1 0 0 1.57'> |
66 | <Shape> |
67 | <Cylinder height='0.1' radius='0.6'/> |
68 | <Appearance> |
69 | <Material diffuseColor='0 0 0' shininess='.3'/> |
70 | </Appearance> |
71 | </Shape> |
72 | </Transform> |
73 | <Transform center='-5 0 0' rotation='0 0 1 1.043' translation='5 0 0'> |
74 | <Shape> |
75 | <Box size='8 0.8 0.2'/> |
76 | <Appearance> |
77 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
78 | </Appearance> |
79 | </Shape> |
80 | </Transform> |
81 | <Transform translation='-5 0 0'> |
82 | <Shape> |
83 | <Box size='8 0.8 0.2'/> |
84 | <Appearance> |
85 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
86 | </Appearance> |
87 | </Shape> |
88 | </Transform> |
89 | <Transform center='5 0 0' rotation='0 0 1 2.086' translation='-5 0 0'> |
90 | <Shape> |
91 | <Box size='8 0.8 0.2'/> |
92 | <Appearance> |
93 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
94 | </Appearance> |
95 | </Shape> |
96 | </Transform> |
97 | </Transform> |
98 | <!-- Propeller sensor and interpolator --> |
99 |
<!-- ROUTE information for Clock2 node:
[from fraction_changed to RotorPath2.set_fraction
]
-->
<TimeSensor DEF='Clock2' loop='true'/> |
100 |
<!-- ROUTE information for RotorPath2 node:
[from Clock2.fraction_changed to set_fraction
]
[from value_changed to Rotor2.set_rotation
]
-->
<OrientationInterpolator DEF='RotorPath2' key='0.0 0.50 1.0' keyValue='0.0 0.0 1.0 0.0 0.0 0.0 1.0 -3.14 0.0 0.0 1.0 -6.28'/> |
101 | </Transform> |
102 | < ROUTE fromNode='Clock2' fromField='fraction_changed' toNode='RotorPath2' toField='set_fraction'/> |
103 | < ROUTE fromNode='RotorPath2' fromField='value_changed' toNode='Rotor2' toField='set_rotation'/> |
104 | <!-- Body of Aircraft --> |
105 | <Group> |
106 | <Transform rotation='-1 0 0 1.57' translation='0 0 -0.6'> |
107 | <!-- Plane Main Body --> |
108 | <Shape> |
109 | <Cylinder height='13' radius='2'/> |
110 | <Appearance> |
111 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
112 |
<!-- ImageTexture
camo-wood2 is a DEF node that has 2 USE nodes: USE_1, USE_2 --> <ImageTexture DEF='camo-wood2' url=' "camo-wood2.jpg " "https://savage.nps.edu/Savage/AircraftHelicopters/CH46E-SeaKnight-UnitedStates/camo-wood2.jpg " '/> |
113 | </Appearance> |
114 | </Shape> |
115 | </Transform> |
116 | <Transform scale='2.2 1.4 2.8' translation='0 -0.65 6.5'> |
117 | <!-- Lower Nose Bubble --> |
118 | <Shape> |
119 | <Sphere/> |
120 | <Appearance> |
121 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
122 | <ImageTexture DEF='camo-wood3' url=' "camo-wood3.jpg " "https://savage.nps.edu/Savage/AircraftHelicopters/CH46E-SeaKnight-UnitedStates/camo-wood3.jpg " '/> |
123 | <TextureTransform/> |
124 | </Appearance> |
125 | </Shape> |
126 | </Transform> |
127 | <Transform scale='2.2 2 3' translation='0 0.5 5.0'> |
128 | <!-- Upper Nose Bubble --> |
129 | <Shape> |
130 | <Sphere/> |
131 | <Appearance> |
132 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
133 | <ImageTexture DEF='camo-wood4' url=' "camo-wood4.jpg " "https://savage.nps.edu/Savage/AircraftHelicopters/CH46E-SeaKnight-UnitedStates/camo-wood4.jpg " '/> |
134 | </Appearance> |
135 | </Shape> |
136 | </Transform> |
137 | <Transform rotation='1 0 0 0.4' scale='2.2 2.5 4' translation='0 0.45 -6.7'> |
138 | <!-- Rear Upper Bubble (Cowling) --> |
139 | <Shape> |
140 | <Sphere/> |
141 | <Appearance> |
142 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
143 | <ImageTexture USE='camo-wood2'/> |
144 | </Appearance> |
145 | </Shape> |
146 | </Transform> |
147 | <Transform rotation='0 0 1 1.57' scale='0.5 1.5 2' translation='0 -0.8 -3.5'> |
148 | <!-- Stabilizer Wing --> |
149 | <Shape> |
150 | <Cylinder height='5'/> |
151 | <Appearance> |
152 | <Material diffuseColor='.5 .5 .5' shininess='.5'/> |
153 | <ImageTexture USE='camo-wood2'/> |
154 | </Appearance> |
155 | </Shape> |
156 | </Transform> |
157 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='2 0 0.7'> |
158 | <!-- Side Bubble window --> |
159 | <Shape> |
160 | <Sphere radius='0.6'/> |
161 | <Appearance> |
162 | <Material diffuseColor='0 0 0' shininess='.5'/> |
163 | </Appearance> |
164 | </Shape> |
165 | </Transform> |
166 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='2 0 -0.7'> |
167 | <!-- Side Bubble window --> |
168 | <Shape> |
169 | <Sphere radius='0.6'/> |
170 | <Appearance> |
171 | <Material diffuseColor='0 0 0' shininess='.5'/> |
172 | </Appearance> |
173 | </Shape> |
174 | </Transform> |
175 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='2 0 -3'> |
176 | <!-- Side Bubble window --> |
177 | <Shape> |
178 | <Sphere radius='0.6'/> |
179 | <Appearance> |
180 | <Material diffuseColor='0 0 0' shininess='.5'/> |
181 | </Appearance> |
182 | </Shape> |
183 | </Transform> |
184 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='2 0 3'> |
185 | <!-- Side Bubble window --> |
186 | <Shape> |
187 | <Sphere radius='0.6'/> |
188 | <Appearance> |
189 | <Material diffuseColor='0 0 0' shininess='.5'/> |
190 | </Appearance> |
191 | </Shape> |
192 | </Transform> |
193 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='-2 0 0.7'> |
194 | <!-- Side Bubble window --> |
195 | <Shape> |
196 | <Sphere radius='0.6'/> |
197 | <Appearance> |
198 | <Material diffuseColor='0 0 0' shininess='.5'/> |
199 | </Appearance> |
200 | </Shape> |
201 | </Transform> |
202 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='-2 0 -0.7'> |
203 | <!-- Side Bubble window --> |
204 | <Shape> |
205 | <Sphere radius='0.6'/> |
206 | <Appearance> |
207 | <Material diffuseColor='0 0 0' shininess='.5'/> |
208 | </Appearance> |
209 | </Shape> |
210 | </Transform> |
211 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='-2 0 -3'> |
212 | <!-- Side Bubble window --> |
213 | <Shape> |
214 | <Sphere radius='0.6'/> |
215 | <Appearance> |
216 | <Material diffuseColor='0 0 0' shininess='.5'/> |
217 | </Appearance> |
218 | </Shape> |
219 | </Transform> |
220 | <Transform rotation='0 0 1 1.57' scale='1 0.2 1' translation='-2 0 3'> |
221 | <!-- Side Bubble window --> |
222 | <Shape> |
223 | <Sphere radius='0.6'/> |
224 | <Appearance> |
225 | <Material diffuseColor='0 0 0' shininess='.5'/> |
226 | </Appearance> |
227 | </Shape> |
228 | </Transform> |
229 | <!-- Model of wheel --> |
230 | <Transform rotation='1 0 0 1.57' translation='0 -1.01 0'> |
231 | |
232 | <Transform rotation='0 0 1 1.57' scale='0.15 0.15 0.15'> |
233 | <Shape> |
234 | <Extrusion beginCap='false' convex='false' creaseAngle='1.57' crossSection='1.00 0.00 0.92 -0.38 0.71 -0.71 0.38 -0.92 0.00 -1.00 -0.38 -0.92 -0.71 -0.71 -0.92 -0.38 -1.00 -0.00 -0.92 0.38 -0.71 0.71 -0.38 0.92 0.00 1.00 0.38 0.92 0.71 0.71 0.92 0.38 1.00 0.00' endCap='false' spine='2.00 0.0 0.00 1.85 0.0 0.77 1.41 0.0 1.41 0.77 0.0 1.85 0.00 0.0 2.00 -0.77 0.0 1.85 -1.41 0.0 1.41 -1.85 0.0 0.77 -2.00 0.0 0.00 -1.85 0.0 -0.77 -1.41 0.0 -1.41 -0.77 0.0 -1.85 0.00 0.0 -2.00 0.77 0.0 -1.85 1.41 0.0 -1.41 1.85 0.0 -0.77 2.00 0.0 0.00'/> |
235 | <Appearance> |
236 | <Material diffuseColor='0.1 0.1 0.1'/> |
237 | </Appearance> |
238 | </Shape> |
239 | </Transform> |
240 | <Transform rotation='0 0 1 1.57'> |
241 | <Shape> |
242 | <Cylinder height='.2' radius='.15'/> |
243 | <Appearance> |
244 | <Material diffuseColor='.8 .8 .8'/> |
245 | </Appearance> |
246 | </Shape> |
247 | </Transform> |
248 | </Transform> |
249 | </Transform> |
250 | <!-- Front Wheel and axle --> |
251 | <Transform DEF='BackWheel' center='0 1 0' translation='0 -2 5'> |
252 | <Shape> |
253 | <Cylinder radius='.07'/> |
254 | <Appearance> |
255 | <Material diffuseColor='0.9 .9 .9'/> |
256 | </Appearance> |
257 | </Shape> |
258 | <Transform translation='0 -1.01 0'> |
259 | <Transform rotation='0 0 1 1.57'> |
260 | <Shape> |
261 | <Cylinder height='.5' radius='.07'/> |
262 | <Appearance> |
263 | <Material diffuseColor='.8 .8 .8'/> |
264 | </Appearance> |
265 | </Shape> |
266 | </Transform> |
267 | </Transform> |
268 | <Transform rotation='1 0 0 1.57' translation='.25 -1.01 0'> |
269 | <Transform USE='BigWheel'/> |
270 | </Transform> |
271 | <Transform rotation='1 0 0 1.57' translation='-.25 -1.01 0'> |
272 | <Transform USE='BigWheel'/> |
273 | </Transform> |
274 | </Transform> |
275 | <!-- Rear Left Wheel and axle --> |
276 | <Transform DEF='RearLeftWheel' center='0 1 0' translation='3 -1.5 -4'> |
277 | <Shape> |
278 | <Cylinder radius='.07'/> |
279 | <Appearance> |
280 | <Material diffuseColor='0.9 .9 .9'/> |
281 | </Appearance> |
282 | </Shape> |
283 | <Transform translation='0 -1.01 0'> |
284 | <Transform rotation='0 0 1 1.57'> |
285 | <Shape> |
286 | <Cylinder height='.5' radius='.07'/> |
287 | <Appearance> |
288 | <Material diffuseColor='.8 .8 .8'/> |
289 | </Appearance> |
290 | </Shape> |
291 | </Transform> |
292 | </Transform> |
293 | <Transform rotation='1 0 0 1.57' translation='.25 -1.01 0'> |
294 | <Transform USE='BigWheel'/> |
295 | </Transform> |
296 | <Transform rotation='1 0 0 1.57' translation='-.25 -1.01 0'> |
297 | <Transform USE='BigWheel'/> |
298 | </Transform> |
299 | </Transform> |
300 | <!-- Rear Right Wheel and axle --> |
301 | <Transform DEF='RearRightWheel' center='0 1 0' translation='-3 -1.5 -4'> |
302 | <Shape> |
303 | <Cylinder radius='.07'/> |
304 | <Appearance> |
305 | <Material diffuseColor='0.9 .9 .9'/> |
306 | </Appearance> |
307 | </Shape> |
308 | <Transform translation='0 -1.01 0'> |
309 | <Transform rotation='0 0 1 1.57'> |
310 | <Shape> |
311 | <Cylinder height='.5' radius='.07'/> |
312 | <Appearance> |
313 | <Material diffuseColor='.8 .8 .8'/> |
314 | </Appearance> |
315 | </Shape> |
316 | </Transform> |
317 | </Transform> |
318 | <Transform rotation='1 0 0 1.57' translation='.25 -1.01 0'> |
319 | <Transform USE='BigWheel'/> |
320 | </Transform> |
321 | <Transform rotation='1 0 0 1.57' translation='-.25 -1.01 0'> |
322 | <Transform USE='BigWheel'/> |
323 | </Transform> |
324 | </Transform> |
325 | </Group> |
326 | </Scene> |
327 | </X3D> |
<!--
Color-coding legend: X3D terminology
<X3dNode
DEF='idName' field='value'/>
matches XML terminology
<XmlElement
DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
-->
<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->