ring ==== .. image:: images/ring.jpg .. image:: images/ringdiagram.png :width: 200px .. py:function:: ring( pos=vec(0,0,0), axis=vec(1,0,0), radius = 2, thickness = 0.2. color=color.cyan ) :param pos: Default <0,0,0>. :type pos: vector :param color: Default *color.white* :type color: vector :param axis: Perpendicular to plane of ring. Default <1,0,0>. :type axis: vector :param radius: Radius of the ring. Default 1. :type radius: scalar :param thickness: Half the diameter of the cross section of the ring. Default 0.1*radius. :type thickness: scalar :param size: Size of a box surrounding the object. Default <0.2, 2,2, 2.2>. :type size: vector The *pos* of a ring is at its center. The *axis* of a ring determines only the orientation of the ring; the magnitude of *axis* is ignored. The default size of a ring is unusual: <0.2, 2, 2>. The outer radius is *radius+thickness*, and the inner radius is *radius-thickness*. Setting *radius* or *thickness* overrides *size*. Size is < length, height, width>. To make the ring oval, specify *size* with different height and width. Attributes used less often: .. py:function:: ring( opacity=0.5, shininess=0.2, texture=textures.wood, make_trail=True, canvas=mycanvas, emissive=False ) :noindex: :param opacity: Default 1.0; Range 0-1. :type opacity: scalar :param shininess: Default 0.6; Range 0-1. :type shininess: scalar :param emissive: Default False. Object glows, losing all shading, if True. :type emissive: boolean :param texture: Default None. :type texture: class element or path :param visible: If False, object is not displayed. Default: True :type visible: boolean :param canvas: Default is :py:attr:`scene`. :type canvas: object :param make_trail: If True, object leaves a trail when moved. See Attaching a Trail for more options. :type make_trail: boolean :param up: A vector perpendicular to the axis. :type up: vector :param group: The group to which this object belongs. :type group: object .. include:: ./objectSeeAlso.rst