<?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='Interchange'
xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance'
xsd:noNamespaceSchemaLocation
='
https://www.web3d.org/specifications/x3d-3.2.xsd
'
>
<head>
</head>
<!--
-->
<Scene>
<Group>
<Shape>
<LineSet vertexCount='2' containerField='geometry'>
<Coordinate point='0 0 0 4 0 0'/>
</LineSet>
<Appearance>
<Material emissiveColor='1 0 0'/>
<LineProperties linewidthScaleFactor='4' containerField='lineProperties'/>
</Appearance>
</Shape>
<Shape>
<LineSet vertexCount='2' containerField='geometry'>
<Coordinate point='0 0 0 0 4 0'/>
</LineSet>
<Appearance>
<Material emissiveColor='0 1 0'/>
<LineProperties linewidthScaleFactor='4' containerField='lineProperties'/>
</Appearance>
</Shape>
<Shape>
<LineSet vertexCount='2' containerField='geometry'>
<Coordinate point='0 0 0 0 0 4'/>
</LineSet>
<Appearance>
<Material emissiveColor='0 0 1'/>
<LineProperties linewidthScaleFactor='4' containerField='lineProperties'/>
</Appearance>
</Shape>
</Group>
<Background skyColor='1 1 1' transparency='1.0'/>
<Viewpoint/>
<Transform>
<Shape>
<Appearance>
<Material transparency='.5'/>
</Appearance>
<
NurbsSwungSurface containerField='
geometry'>
<NurbsCurve2D containerField='profileCurve' controlPoint='.5 .25 0 .25 0 1 .25 1 .25 2 0 2' knot='0 0 0 .25 .5 .75 1 1 1' tessellation='8' weight='1 1 1 1 1 1'/>
<NurbsCurve2D containerField='trajectoryCurve' controlPoint='2 -.5 1.5 -.25 1.5 -.25 1.5 1.0 2.0 1.5 2.0 2.0 1.0 2.0 1.0 1.5 -.25 1.5 -.25 2.0 -.5 2.0' knot='0 0 0 1 2 3 4 5 6 7 8 9 9 9' tessellation='8' weight='1 1 1 1 1 1 1 1 1 1 1'/>
</
NurbsSwungSurface>
</Shape>
</Transform>
<Transform>
<Shape>
<Appearance>
<Material DEF='CYAN' diffuseColor='0 .8 .8'/>
<
LineProperties linewidthScaleFactor='
6'
containerField='
lineProperties'/>
</Appearance>
<!-- To convert a NurbsCurve2D control curve to a displayable NurbsCurve 1. rename element NurbsCurve2D -> NurbsCurve 2. cut controlPoint= field and paste into child node CoordinateDouble point field 3. edit point field adding a 3rd (z) = 0 to each xy point here!!! -->
<
NurbsCurve DEF='
PROFILE'
knot='
0 0 0 .25 .5 .75 1 1 1'
weight='
1 1 1 1 1 1'
containerField='
geometry'>
<CoordinateDouble point='.5 .25 0 0 .25 0 0 1 0 .25 1 0 .25 2 0 0 2 0'/>
</
NurbsCurve>
</Shape>
<Shape>
<Appearance>
<Material DEF='MAGENTA' diffuseColor='.8 0 .8'/>
<
LineProperties linewidthScaleFactor='
6'
containerField='
lineProperties'/>
</Appearance>
<
NurbsCurve DEF='
TRAJECTORY'
knot='
0 0 0 1 2 3 4 5 6 7 8 9 9 9'
weight='
1 1 1 1 1 1 1 1 1 1 1'
containerField='
geometry'>
<CoordinateDouble point='2 -.5 0 1.5 -.25 0 1.5 -.25 0 1.5 1.0 0 2.0 1.5 0 2.0 2.0 0 1.0 2.0 0 1.0 1.5 0 -.25 1.5 0 -.25 2.0 0 -.5 2.0 0'/>
</
NurbsCurve>
</Shape>
</Transform>
</Scene>
</X3D>
<!--
-->
-->
<!--
Online at
https://www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/NurbsSwungSurfaceIndex.html
-->
<!--
Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/NurbsSwungSurface.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.
-->