/
CoordinateAxes.x3d
116 lines (116 loc) · 5.11 KB
/
CoordinateAxes.x3d
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<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'>
<head>
<meta content='CoordinateAxes.x3d' name='title'/>
<meta content='Don Brutzman, Byounghyun Yoo' name='creator'/>
<meta content='14 July 2000' name='created'/>
<meta content='20 October 2019' name='modified'/>
<meta content='X Y Z axis arrows and labels in X3D coordinate system. See CoordinateAxesExample for use as an Inline coordinate-system reference frame.' name='description'/>
<meta content='https://X3dGraphics.com/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.x3d' name='reference'/>
<meta content='https://X3dGraphics.com/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxesNSEW.x3d' name='reference'/>
<meta content='https://savage.nps.edu/Savage/Tools/Authoring/CoordinateAxes.x3d' name='reference'/>
<meta content='https://savage.nps.edu/Savage/Tools/Authoring/CoordinateAxesNSEW.x3d' name='reference'/>
<meta content='https://X3dGraphics.com/examples/X3dForWebAuthors/Chapter03Grouping/CoordinateAxes.x3d' name='identifier'/>
<meta content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit' name='generator'/>
<meta content='../license.html' name='license'/>
</head>
<Scene>
<WorldInfo title='CoordinateAxes.x3d'/>
<Collision DEF='DoNotCollideWithVisualizationWidget'>
<!-- Invoke CoordinateAxes in other scenes as an Inline child inside a scaling Transform node, at the topmost level of the scene graph. -->
<!-- This NavigationInfo allows examine mode and will be overridden by any parent scene. -->
<!-- Each arrow goes from +1m to -1m to allow linear scaling to fit a scene -->
<!-- Note each label rotates about the scene's vertical Y axis for consistency, enabling local orientation by user -->
<Group>
<!-- Vertical Y arrow and label -->
<Group DEF='ArrowGreen'>
<Shape>
<Cylinder DEF='ArrowCylinder' radius='.025' top='false'/>
<Appearance DEF='Green'>
<Material diffuseColor='.1 .6 .1' emissiveColor='.05 .2 .05'/>
</Appearance>
</Shape>
<Transform translation='0 1 0'>
<Shape>
<Cone DEF='ArrowCone' bottomRadius='.05' height='.1'/>
<Appearance USE='Green'/>
</Shape>
</Transform>
</Group>
<Transform translation='0 1.08 0'>
<Billboard>
<Shape>
<Appearance DEF='LABEL_APPEARANCE'>
<Material diffuseColor='1 1 .3' emissiveColor='.33 .33 .1'/>
</Appearance>
<Text string='"Y"'>
<FontStyle DEF='LABEL_FONT' family='"SANS"' justify='"MIDDLE" "MIDDLE"' size='.2'/>
</Text>
</Shape>
</Billboard>
</Transform>
</Group>
<Transform rotation='0 0 1 -1.57079'>
<!-- Horizontal X arrow and label -->
<Group>
<Group DEF='ArrowRed'>
<Shape>
<Cylinder USE='ArrowCylinder'/>
<Appearance DEF='Red'>
<Material diffuseColor='.7 .1 .1' emissiveColor='.33 0 0'/>
</Appearance>
</Shape>
<Transform translation='0 1 0'>
<Shape>
<Cone USE='ArrowCone'/>
<Appearance USE='Red'/>
</Shape>
</Transform>
</Group>
<Transform rotation='0 0 1 1.57079' translation='.072 1.1 0'>
<!-- note label rotated back to original coordinate frame -->
<Billboard>
<Shape>
<Appearance USE='LABEL_APPEARANCE'/>
<Text string='"X"'>
<FontStyle USE='LABEL_FONT'/>
</Text>
</Shape>
</Billboard>
</Transform>
</Group>
</Transform>
<Transform rotation='1 0 0 1.57079'>
<!-- Perpendicular Z arrow and label, note right-hand rule -->
<Group>
<Group DEF='ArrowBlue'>
<Shape>
<Cylinder USE='ArrowCylinder'/>
<Appearance DEF='Blue'>
<Material diffuseColor='.3 .3 1' emissiveColor='.1 .1 .33'/>
</Appearance>
</Shape>
<Transform translation='0 1 0'>
<Shape>
<Cone USE='ArrowCone'/>
<Appearance USE='Blue'/>
</Shape>
</Transform>
</Group>
<Transform rotation='1 0 0 -1.57079' translation='0 1.1 .072'>
<!-- note label rotated back to original coordinate frame -->
<Billboard>
<Shape>
<Appearance USE='LABEL_APPEARANCE'/>
<Text string='"Z"'>
<FontStyle USE='LABEL_FONT'/>
</Text>
</Shape>
</Billboard>
</Transform>
</Group>
</Transform>
</Collision>
</Scene>
</X3D>