1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
|
3 | <X3D profile='Immersive' version='3.3' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.3.xsd'> |
4 | <head> |
5 | <meta name='title' content='CoordinateAxesNSEW.x3d'/> |
6 | <meta name='creator' content='Don Brutzman and Byounghyun Yoo'/> |
7 | <meta name='created' content='14 July 2000'/> |
8 | <meta name='modified' content='20 October 2019'/> |
9 | <meta name='description' content='X Y Z axis arrows and labels in X3D coordinate system. See CoordinateAxesExample for use as an Inline coordinate-system reference frame.'/> |
10 | <meta name='Image' content='CoordinateAxesNSEW.png'/> |
11 | <meta name='Image' content='CoordinateAxesNSEW.WhiteBackground.png'/> |
12 | <meta name='reference' content='CoordinateAxes.x3d'/> |
13 | <meta name='reference' content='CoordinateAxesInlineExample.x3d'/> |
14 | <meta name='reference' content='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.x3d'/> |
15 | <meta name='reference' content='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxesNSEW.x3d'/> |
16 | <meta name='reference' content='https://savage.nps.edu/Savage/Tools/Authoring/CoordinateAxes.x3d'/> |
17 | <meta name='reference' content='https://savage.nps.edu/Savage/Tools/Authoring/CoordinateAxesNSEW.x3d'/> |
18 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxesNSEW.x3d'/> |
19 | <meta name='reference' content='https://www.web3d.org/x3d/specifications/ISO-IEC-FDIS-19775-1.2-X3D-AbstractSpecification/Part01/components/geodata.html#GeoLocation'/> |
20 | <meta name='generator' content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/> |
21 | <meta name='license' content='../license.html'/> |
22 | </head> |
23 | <Scene> |
24 | <WorldInfo title='CoordinateAxesNSEW.x3d'/> |
25 | <Collision DEF='DoNotCollideWithVisualizationWidget' enabled='false'> |
26 | <!-- Invoke CoordinateAxes in other scenes as an Inline child inside a scaling Transform node, at the topmost level of the scene graph. --> |
27 | <!-- This NavigationInfo allows examine mode and will be overridden by any parent scene. --> |
28 | <!-- Each arrow goes from +1m to -1m to allow linear scaling to fit a scene --> |
29 | <!-- Note each label rotates about the scene's vertical Y axis for consistency, enabling local orientation by user --> |
30 | <!-- From X3D Abstract Specification Section 25.3.3 GeoLocation: "In addition to placing a X3D model at the correct geospatial location, the GeoLocation node will also adjust the orientation of the model appropriately. The standard X3D coordinate system specifies that the +Y axis = up, +Z = out of the screen, and +X = towards the right. The GeoLocation node will set the orientation so that the +Y axis is the up direction for that local area (the normal to the tangent plane on the ellipsoid), -Z points towards the north pole, and +X is east." --> |
31 | <Group> |
32 | <!-- Vertical Y arrow and label --> |
33 | <Group DEF='ArrowGreen'> |
34 | <Shape> |
35 |
<!-- Cylinder
ArrowCylinder is a DEF node that has 2 USE nodes: USE_1, USE_2 --> <Cylinder DEF='ArrowCylinder' bottom='false' radius='.025' top='false'/> |
36 | |
37 | <Material diffuseColor='.1 .6 .1' emissiveColor='.05 .2 .05'/> |
38 | </Appearance> |
39 | </Shape> |
40 | <Transform translation='0 1 0'> |
41 | <Shape> |
42 | |
43 | <Appearance USE='Green'/> |
44 | </Shape> |
45 | </Transform> |
46 | </Group> |
47 | <Transform translation='0 1.08 0'> |
48 | <Billboard> |
49 | <Shape> |
50 | |
51 | <Material diffuseColor='1 1 .3' emissiveColor='.33 .33 .1'/> |
52 | </Appearance> |
53 | <Text string='"+Y" "Up"'> |
54 |
<!-- FontStyle
LABEL_FONT_TOP is a DEF node that has 1 USE node: USE_1 --> <FontStyle DEF='LABEL_FONT_TOP' family='"SANS"' justify='"MIDDLE" "END"' size='.2'/> |
55 | </Text> |
56 | </Shape> |
57 | </Billboard> |
58 | </Transform> |
59 | <Transform translation='0 -1.08 0'> |
60 | <Billboard> |
61 | <Shape> |
62 | <Appearance USE='LABEL_APPEARANCE'/> |
63 | <Text string='"-Y" "Down"'> |
64 | <FontStyle USE='LABEL_FONT_TOP'/> |
65 | </Text> |
66 | </Shape> |
67 | </Billboard> |
68 | </Transform> |
69 | </Group> |
70 | <Transform rotation='0 0 1 -1.57079'> |
71 | <!-- Horizontal X arrow and label --> |
72 | <Group> |
73 | <Group DEF='ArrowRed'> |
74 | <Shape> |
75 | <Cylinder USE='ArrowCylinder'/> |
76 | |
77 | <Material diffuseColor='.7 .1 .1' emissiveColor='.33 0 0'/> |
78 | </Appearance> |
79 | </Shape> |
80 | <Transform translation='0 1 0'> |
81 | <Shape> |
82 | <Cone USE='ArrowCone'/> |
83 | <Appearance USE='Red'/> |
84 | </Shape> |
85 | </Transform> |
86 | </Group> |
87 | <Transform rotation='0 0 1 1.57079' translation='.072 1.1 0'> |
88 | <!-- note label rotated back to original coordinate frame --> |
89 | <Billboard> |
90 | <Shape> |
91 | <Appearance USE='LABEL_APPEARANCE'/> |
92 | <Text string='"+X" "East"'> |
93 |
<!-- FontStyle
LABEL_FONT is a DEF node that has 3 USE nodes: USE_1, USE_2, USE_3 --> <FontStyle DEF='LABEL_FONT' family='"SANS"' justify='"MIDDLE" "MIDDLE"' size='.2'/> |
94 | </Text> |
95 | </Shape> |
96 | </Billboard> |
97 | </Transform> |
98 | <Transform rotation='0 0 1 1.57079' translation='.072 -1.1 0'> |
99 | <!-- note label rotated back to original coordinate frame --> |
100 | <Billboard> |
101 | <Shape> |
102 | <Appearance USE='LABEL_APPEARANCE'/> |
103 | <Text string='"-X" "West"'> |
104 | <FontStyle USE='LABEL_FONT'/> |
105 | </Text> |
106 | </Shape> |
107 | </Billboard> |
108 | </Transform> |
109 | </Group> |
110 | </Transform> |
111 | <Transform rotation='1 0 0 1.57079'> |
112 | <!-- Perpendicular Z arrow and label, note right-hand rule --> |
113 | <Group> |
114 | <Group DEF='ArrowBlue'> |
115 | <Shape> |
116 | <Cylinder USE='ArrowCylinder'/> |
117 | |
118 | <Material diffuseColor='.3 .3 1' emissiveColor='.1 .1 .33'/> |
119 | </Appearance> |
120 | </Shape> |
121 | <Transform translation='0 1 0'> |
122 | <Shape> |
123 | <Cone USE='ArrowCone'/> |
124 | <Appearance USE='Blue'/> |
125 | </Shape> |
126 | </Transform> |
127 | </Group> |
128 | <Transform rotation='1 0 0 -1.57079' translation='0 1.1 .072'> |
129 | <!-- note label rotated back to original coordinate frame --> |
130 | <Billboard> |
131 | <Shape> |
132 | <Appearance USE='LABEL_APPEARANCE'/> |
133 | <Text string='"+Z" "South"'> |
134 | <FontStyle USE='LABEL_FONT'/> |
135 | </Text> |
136 | </Shape> |
137 | </Billboard> |
138 | </Transform> |
139 | <Transform rotation='1 0 0 -1.57079' translation='0 -1.1 .072'> |
140 | <!-- note label rotated back to original coordinate frame --> |
141 | <Billboard> |
142 | <Shape> |
143 | <Appearance USE='LABEL_APPEARANCE'/> |
144 | <Text string='"-Z" "North"'> |
145 | <FontStyle USE='LABEL_FONT'/> |
146 | </Text> |
147 | </Shape> |
148 | </Billboard> |
149 | </Transform> |
150 | </Group> |
151 | </Transform> |
152 | </Collision> |
153 | </Scene> |
154 | </X3D> |
<!--
Color 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. -->