里约奥运火炬花环三维几何模型
2021-10-12 09:15
本范例利用GeoGebra的Sequence和Surface命令构建了里约奥运会火炬花环的三维几何模型。通过参数方程与曲面生成技术,结合圆柱、旋转体及多边形逼近等概念,生动展示了复杂空间曲面的构造过程。该模型不仅体现了立体几何与微积分思想在3D建模中的应用,还通过列表与参数控制实现了花环纹理与形态的精确渲染,是数学与艺术设计相结合的优秀演示。
<?xml version="1.0" encoding="utf-8"?>
<geogebra format="5.0" version="5.0.621.0" app="classic" platform="d" id="a8e601cd-3486-4db7-87fd-d04713b6227b" xsi:noNamespaceSchemaLocation="http://www.geogebra.org/apps/xsd/ggb.xsd" xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<gui>
<window width="807" height="593" />
<perspectives>
<perspective id="tmp">
<panes>
<pane location="" divider="0.40892193308550184" orientation="1" />
</panes>
<views>
<view id="4097" visible="false" inframe="true" stylebar="true" location="1,1,1,1" size="400" window="610,245,700,550" />
<view id="4" toolbar="0 || 2020 , 2021 , 2022 , 66 || 2001 , 2003 , 2002 , 2004 , 2005 || 2040 , 2041 , 2042 , 2044 , 2043" visible="false" inframe="false" stylebar="true" location="1,1" size="300" window="100,100,600,400" />
<view id="8" toolbar="1001 | 1002 | 1003 || 1005 | 1004 || 1006 | 1007 | 1010 || 1008 1009 || 66 68 || 6" visible="false" inframe="false" stylebar="true" location="1,3" size="300" window="100,100,600,400" />
<view id="1" visible="true" inframe="false" stylebar="true" location="3" size="330" window="100,100,600,400" />
<view id="2" visible="false" inframe="false" stylebar="false" location="3" size="599" tab="ALGEBRA" window="100,100,250,400" />
<view id="16" visible="false" inframe="false" stylebar="false" location="1" size="150" window="50,50,500,500" />
<view id="32" visible="false" inframe="false" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="64" toolbar="0" visible="false" inframe="true" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="70" toolbar="0 || 2020 || 2021 || 2022" visible="false" inframe="true" stylebar="true" location="1" size="150" window="50,50,500,500" />
<view id="512" toolbar="0 | 1 501 5 19 , 67 | 2 15 45 18 , 7 37 | 514 3 9 , 13 44 , 47 | 16 | 551 550 11 , 20 22 21 23 , 55 56 57 , 12 | 69 | 510 511 , 512 513 | 533 531 , 534 532 , 522 523 , 537 536 , 535 | 521 520 | 36 , 38 49 560 | 571 30 29 570 31 33 | 17 | 540 40 41 42 , 27 28 35 , 6 , 502" visible="true" inframe="false" stylebar="true" location="1" size="450" window="100,100,600,400" />
</views>
<toolbar show="false" items="0 39 | 1 501 67 , 5 19 , 72 75 76 | 2 15 45 , 18 65 , 7 37 | 4 3 8 9 , 13 44 , 58 , 47 | 16 51 64 , 70 | 10 34 53 11 , 24 20 22 , 21 23 | 55 56 57 , 12 | 36 46 , 38 49 50 , 71 | 30 29 54 32 31 33 | 17 26 62 73 , 14 68 | 25 52 60 61 | 40 41 42 , 27 28 35 , 6" position="1" help="true" />
<input show="false" cmd="true" top="algebra" />
<dockBar show="false" east="true" />
</perspective>
</perspectives>
<labelingStyle val="0"/>
<font size="20"/>
</gui>
<euclidianView>
<viewNumber viewNo="1"/>
<size width="330" height="432"/>
<coordSystem xZero="40.33333333333338" yZero="342.0" scale="49.999999999999986" yscale="49.99999999999998"/>
<evSettings axes="false" grid="false" gridIsBold="false" pointCapturing="3" rightAngleStyle="1" checkboxSize="26" gridType="0"/>
<bgColor r="0" g="0" b="0"/>
<axesColor r="0" g="0" b="0"/>
<gridColor r="192" g="192" b="192"/>
<lineStyle axes="1" grid="0"/>
<axis id="0" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="1" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
</euclidianView>
<kernel>
<uses3D val="true"/>
<continuous val="false"/>
<usePathAndRegionParameters val="true"/>
<decimals val="2"/>
<angleUnit val="degree"/>
<algebraStyle val="0" spreadsheet="0"/>
<coordStyle val="0"/>
<startAnimation val="true"/>
</kernel>
<tableview min="-2.0" max="2.0" step="1.0"/>
<scripting blocked="false" disabled="false"/>
<euclidianView3D>
<coordSystem xZero="-2.478055412798772" yZero="-3.689934395775434" zZero="-6.487440811477226" scale="7.461401929870412" xAngle="60.0" zAngle="3255.8666590213707"/>
<evSettings axes="false" grid="false" gridIsBold="false" pointCapturing="3" rightAngleStyle="1" gridType="0"/>
<axis id="0" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="1" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<axis id="2" show="false" label="" unitLabel="" tickStyle="1" showNumbers="true"/>
<plate show="false"/>
<bgColor r="0" g="0" b="0"/>
<clipping use="false" show="false" size="2"/>
<projection type="1"/>
</euclidianView3D>
<construction title="" author="" date="">
<element type="numeric" label="R">
<value val="11.3"/>
<show object="true" label="true"/>
<objColor r="255" g="127" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<slider min="5" max="30" absoluteScreenLocation="true" width="200.0" x="59.00000000000001" y="194.3518930957684" fixed="false" horizontal="true" showAlgebra="true"/>
<lineStyle thickness="10" type="0" typeHidden="1"/>
<animation step="0.1" speed="1" type="0" playing="false"/>
<font serif="true" sizeM="1.0" size="0" style="0"/>
<orgmodel val="1"/>
</element>
<command name="Sequence">
<input a0="((R * sin(α)), (R * cos(α)), R)" a1="α" a2="15°" a3="360°" a4="15°"/>
<output a0="列表1"/>
</command>
<element type="list" label="列表1">
<show object="false" label="true" ev="5"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<element type="angle" label="α">
<angleStyle val="3"/>
<value val="0.06981317007977318"/>
<slider min="0" max="90°" absoluteScreenLocation="true" width="200.0" x="59.00000000000001" y="98.1380846325167" fixed="false" horizontal="true" showAlgebra="true"/>
<show object="true" label="true" ev="4"/>
<objColor r="255" g="127" b="0" alpha="1.0"/>
<layer val="0"/>
<labelMode val="1"/>
<lineStyle thickness="10" type="0" typeHidden="2"/>
<arcSize val="30"/>
<animation step="0.017453292519943295" speed="3" type="2" playing="true"/>
<font serif="true" sizeM="1.0" size="0" style="0"/>
<orgmodel val="1"/>
</element>
<command name="Sequence">
<input a0="Segment[((R * sin(α)), (R * cos(α)), (-R)), ((R * sin(α)), (R * cos(α)), R)]" a1="α" a2="15°" a3="360°" a4="15°"/>
<output a0="列表5"/>
</command>
<element type="list" label="列表5">
<show object="false" label="true" ev="5"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="((R * sin(α)), (R * cos(α)), (-R))" a1="α" a2="15°" a3="360°" a4="15°"/>
<output a0="列表2"/>
</command>
<element type="list" label="列表2">
<show object="false" label="true" ev="5"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="((R * sin(α)), (R * cos(α)), 0)" a1="α" a2="15°" a3="540°" a4="15°"/>
<output a0="列表6"/>
</command>
<element type="list" label="列表6">
<show object="false" label="true" ev="5"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Line[Element[列表6, i], Element[列表6, i + 12]]" a1="i" a2="1" a3="24"/>
<output a0="列表3"/>
</command>
<element type="list" label="列表3">
<show object="false" label="true" ev="5"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="OrthogonalLine[Element[列表3, i], Element[列表5, i]]" a1="i" a2="1" a3="24"/>
<output a0="列表4"/>
</command>
<element type="list" label="列表4">
<show object="false" label="false" ev="5"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Rotate[Element[列表1, i], (i * 7.5°) + α, Element[列表4, i]]" a1="i" a2="1" a3="24"/>
<output a0="列表7"/>
</command>
<element type="list" label="列表7">
<show object="false" label="true" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="2"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Rotate[Element[列表2, i], (i * 7.5°) + α, Element[列表4, i]]" a1="i" a2="1" a3="24"/>
<output a0="列表8"/>
</command>
<element type="list" label="列表8">
<show object="false" label="true" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="2"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Segment[Element[列表7, i], Element[列表8, i]]" a1="i" a2="1" a3="24"/>
<output a0="列表9"/>
</command>
<element type="list" label="列表9">
<show object="true" label="false" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Point[Element[列表9, i], 0.15]" a1="i" a2="1" a3="24"/>
<output a0="列表10"/>
</command>
<element type="list" label="列表10">
<show object="true" label="false" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="2"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Point[Element[列表9, i], 0.85]" a1="i" a2="1" a3="24"/>
<output a0="列表11"/>
</command>
<element type="list" label="列表11">
<show object="true" label="false" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="2"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Point[Element[列表9, i], 0.3]" a1="i" a2="1" a3="24"/>
<output a0="列表12"/>
</command>
<element type="list" label="列表12">
<show object="true" label="false" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Point[Element[列表9, i], 0.7]" a1="i" a2="1" a3="24"/>
<output a0="列表13"/>
</command>
<element type="list" label="列表13">
<show object="true" label="false" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Point[Element[列表9, i], 0.45]" a1="i" a2="1" a3="24"/>
<output a0="列表14"/>
</command>
<element type="list" label="列表14">
<show object="true" label="true" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Point[Element[列表9, i], 0.55]" a1="i" a2="1" a3="24"/>
<output a0="列表15"/>
</command>
<element type="list" label="列表15">
<show object="true" label="true" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Rotate[Element[列表2, i], (i * 7.5°) + α + 90°, Element[列表4, i]]" a1="i" a2="1" a3="24"/>
<output a0="列表17"/>
</command>
<element type="list" label="列表17">
<show object="false" label="true" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="2"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Rotate[Element[列表1, i], (i * 7.5°) + α + 90°, Element[列表4, i]]" a1="i" a2="1" a3="24"/>
<output a0="列表16"/>
</command>
<element type="list" label="列表16">
<show object="false" label="true" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="2"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Segment[Element[列表16, i], Element[列表17, i]]" a1="i" a2="1" a3="24"/>
<output a0="列表18"/>
</command>
<element type="list" label="列表18">
<show object="true" label="true" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Point[Element[列表18, i], 0.15]" a1="i" a2="1" a3="24"/>
<output a0="列表19"/>
</command>
<element type="list" label="列表19">
<show object="true" label="true" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="3"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Point[Element[列表18, i], 0.45]" a1="i" a2="1" a3="24"/>
<output a0="列表20"/>
</command>
<element type="list" label="列表20">
<show object="true" label="false" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Point[Element[列表18, i], 0.55]" a1="i" a2="1" a3="24"/>
<output a0="列表21"/>
</command>
<element type="list" label="列表21">
<show object="true" label="false" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Point[Element[列表18, i], 0.3]" a1="i" a2="1" a3="24"/>
<output a0="列表23"/>
</command>
<element type="list" label="列表23">
<show object="true" label="false" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Point[Element[列表18, i], 0.7]" a1="i" a2="1" a3="24"/>
<output a0="列表24"/>
</command>
<element type="list" label="列表24">
<show object="true" label="false" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="4"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Point[Element[列表18, i], 0.85]" a1="i" a2="1" a3="24"/>
<output a0="列表22"/>
</command>
<element type="list" label="列表22">
<show object="true" label="false" ev="5"/>
<objColor r="255" g="127" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="3"/>
<pointStyle val="0"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Line[Element[列表7, i], Element[列表18, i]]" a1="i" a2="1" a3="24"/>
<output a0="列表25"/>
</command>
<element type="list" label="列表25">
<show object="false" label="true" ev="5"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Line[Element[列表8, i], Element[列表18, i]]" a1="i" a2="1" a3="24"/>
<output a0="列表26"/>
</command>
<element type="list" label="列表26">
<show object="false" label="true" ev="5"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Line[Element[列表16, i], Element[列表9, i]]" a1="i" a2="1" a3="24"/>
<output a0="列表27"/>
</command>
<element type="list" label="列表27">
<show object="false" label="true" ev="5"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Line[Element[列表17, i], Element[列表9, i]]" a1="i" a2="1" a3="24"/>
<output a0="列表28"/>
</command>
<element type="list" label="列表28">
<show object="false" label="true" ev="5"/>
<objColor r="0" g="100" b="0" alpha="0.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="2" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<expression label="b" exp="1"/>
<element type="numeric" label="b">
<value val="1.0"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="2"/>
<animation step="1" speed="1" type="0" playing="false"/>
<font serif="true" sizeM="1.0" size="0" style="0"/>
<orgmodel val="2"/>
</element>
<command name="Surface">
<input a0="((R + (0.1 * cos(β))) * cos(α))" a1="((R + (0.1 * cos(β))) * sin(α))" a2="(0.1 * sin(β))" a3="α" a4="0" a5="(2 * π)" a6="β" a7="0" a8="(2 * π)"/>
<output a0="a"/>
</command>
<element type="surfacecartesian3d" label="a">
<show object="true" label="false" ev="4"/>
<objColor r="255" g="0" b="0" alpha="1.0"/>
<layer val="0"/>
<labelMode val="0"/>
<lineStyle thickness="0" type="0" typeHidden="1"/>
<font serif="true" sizeM="1.0" size="0" style="0"/>
<orgmodel val="0"/>
</element>
<element type="numeric" label="r">
<value val="0.07"/>
<show object="true" label="true"/>
<objColor r="255" g="127" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="1"/>
<slider min="0" max="0.1" absoluteScreenLocation="true" width="200.0" x="59.00000000000001" y="290.56570155902006" fixed="false" horizontal="true" showAlgebra="true"/>
<lineStyle thickness="10" type="0" typeHidden="1"/>
<animation step="0.01" speed="1" type="0" playing="false"/>
<font serif="true" sizeM="1.0" size="0" style="0"/>
<orgmodel val="1"/>
</element>
<command name="Sequence">
<input a0="Circle[Element[列表25, i], Point[Element[列表9, i], r]]" a1="i" a2="1" a3="24"/>
<output a0="列表29"/>
</command>
<element type="list" label="列表29">
<show object="true" label="true" ev="5"/>
<objColor r="255" g="0" b="0" alpha="1.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="1" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Circle[Element[列表26, i], Point[Element[列表9, i], 1 - r]]" a1="i" a2="1" a3="24"/>
<output a0="列表30"/>
</command>
<element type="list" label="列表30">
<show object="true" label="true" ev="5"/>
<objColor r="255" g="0" b="0" alpha="1.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="1" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Circle[Element[列表27, i], Point[Element[列表18, i], r]]" a1="i" a2="1" a3="24"/>
<output a0="列表31"/>
</command>
<element type="list" label="列表31">
<show object="true" label="true" ev="5"/>
<objColor r="255" g="0" b="0" alpha="1.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="1" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<command name="Sequence">
<input a0="Circle[Element[列表28, i], Point[Element[列表18, i], 1 - r]]" a1="i" a2="1" a3="24"/>
<output a0="列表32"/>
</command>
<element type="list" label="列表32">
<show object="true" label="true" ev="5"/>
<objColor r="255" g="0" b="0" alpha="1.0"/>
<bgColor r="255" g="255" b="255" alpha="255"/>
<layer val="0"/>
<labelMode val="0"/>
<selectionAllowed val="false"/>
<lineStyle thickness="1" type="0" typeHidden="1"/>
<pointSize val="5"/>
<angleStyle val="0"/>
</element>
<expression label="c" exp="1"/>
<element type="numeric" label="c">
<value val="1.0"/>
<show object="false" label="true"/>
<objColor r="0" g="0" b="0" alpha="0.10000000149011612"/>
<layer val="0"/>
<labelMode val="2"/>
<animation step="1" speed="1" type="0" playing="false"/>
<font serif="true" sizeM="1.0" size="0" style="0"/>
<orgmodel val="2"/>
</element>
</construction>
</geogebra>