Volleyball#

Volleyball relies on the following parameterized features:

Extensions of the BaseFeature class to be specific to volleyball courts.

The features are all parameterized by the basic characteristics of a volleyball court. A user can manually specify their own court parameters in the VolleyballCourt class that will adjust the placement of these features, however the features themselves will be consistent across all volleyball surfaces.

@author: Ross Drucker

class sportypy._feature_classes.volleyball.AttackLine(court_length=0.0, court_width=0.0, feature_radius=0.0, feature_thickness=0.0, feature_units='ft', *args, **kwargs)#

The attack line.

This is the line that runs from sideline to sideline, separating the backcourt from the front zone. Players in the front row may attack from either side of this line, while players in the back row must begin their attack from the backcourt side of this line. The anchor point of this feature should be its outer edge

class sportypy._feature_classes.volleyball.Backcourt(attack_line_edge_to_center_line=0.0, *args, **kwargs)#

The backcourt area of the volleyball court.

This is the area between the attack line and the end line. Players playing in the back row of the rotation must take off from this area before attacking the ball

attack_line_edge_to_center_line#

The distance from the edge furthest from the attack line to the center of the line running along x = 0

Type:

float

class sportypy._feature_classes.volleyball.BaseVolleyballFeature(court_length=0.0, court_width=0.0, feature_radius=0.0, feature_thickness=0.0, feature_units='ft', *args, **kwargs)#

An extension of the BaseFeature class for volleyball features.

The following attributes are specific to volleyball features only. For more information on inherited attributes, please see the BaseFeature class definition. The default values are provided to ensure that the feature can at least be created.

court_length#

The length of the court in TV view. The default is 0.0

Type:

float

court_width#

The width of the court in TV view. The default is 0.0

Type:

float

feature_radius#

The radius needed to draw the feature. This may not be needed for all features. The default is 0.0

Type:

float

feature_thickness#

The thickness with which to draw the feature. This is normally given as the horizontal width of the feature in TV view, however it may be used to specify other thicknesses as needed. The default is 0.0

Type:

float

field_units#

The units with which the feature is drawn. The default is "ft"

Type:

str

class sportypy._feature_classes.volleyball.CenterLine(court_length=0.0, court_width=0.0, feature_radius=0.0, feature_thickness=0.0, feature_units='ft', *args, **kwargs)#

The center line.

This line runs along the line x = 0 when viewing the court in TV view, dividing the court into two equal halves

class sportypy._feature_classes.volleyball.CourtApron(court_apron_end_line=0.0, court_apron_sideline=0.0, *args, **kwargs)#

The apron of the volleyball court.

The court apron is similar to the court apron of a basketball court in that it is the area outside of the court, but this is different than the FreeZone as it is fully contained within the free zone.

court_apron_end_line#

The distance the free zone extends beyond the outer edge of the end line

Type:

float

court_apron_sideline#

The distance the free zone extends beyond the outer edge of the sideline

Type:

float

class sportypy._feature_classes.volleyball.CourtConstraint(court_length=0.0, court_width=0.0, feature_radius=0.0, feature_thickness=0.0, feature_units='ft', *args, **kwargs)#

The constraint around the interior edge of the court’s boundary lines.

This confines all interior features to be constrained inside the court, as well as any interior plots.

class sportypy._feature_classes.volleyball.EndLine(court_length=0.0, court_width=0.0, feature_radius=0.0, feature_thickness=0.0, feature_units='ft', *args, **kwargs)#

The end lines.

These are the lines that run the full width of the court, and their entire thickness is considered in bounds during play

class sportypy._feature_classes.volleyball.FreeZone(free_zone_end_line=0.0, free_zone_sideline=0.0, *args, **kwargs)#

The free zone of a volleyball court.

This is similar to the court apron of a basketball court in that it is the area outside of the court. It may be the same color as the interior of the court, but isn’t necessarily. Unlike a basketball court’s apron, however, the boundary line thickness doesn’t matter since the lines are considered in-play and therefore are included in the court’s length and width.

free_zone_end_line#

The distance the free zone extends beyond the outer edge of the end line

Type:

float

free_zone_sideline#

The distance the free zone extends beyond the outer edge of the sideline

Type:

float

class sportypy._feature_classes.volleyball.FrontZone(attack_line_edge_to_center_line=0.0, *args, **kwargs)#

The front zone of a volleyball court.

The front zone is the area between the attack line and the line running along x = 0. If considering the entirety of the volleyball court as being divided into thirds, this is _half_ of the middle third of the court

attack_line_edge_to_center_line#

The distance from the edge furthest from the attack line to the center of the line running along x = 0

Type:

float

class sportypy._feature_classes.volleyball.ServiceZoneMark(service_zone_mark_length=0.0, *args, **kwargs)#

A single service zone mark.

These marks lie beyond the end lines and denote where a legal serve must take place. It appears as a hash mark that is out of bounds of the court, but contained within the free zone

service_zone_mark_length#

The length of the service zone mark

Type:

float

class sportypy._feature_classes.volleyball.Sideline(court_length=0.0, court_width=0.0, feature_radius=0.0, feature_thickness=0.0, feature_units='ft', *args, **kwargs)#

The sidelines.

These are the lines that run the full length of the court, and their entire thickness is considered in bounds during play

class sportypy._feature_classes.volleyball.SubstitutionZoneDash(dash_length=0.0, *args, **kwargs)#

A single dash of the substitution zone.

The substitution zone is typically marked by a dashed line extending from the attack lines. This creates a single dash, and the dashes should be added to the plot accordingly

dash_length#

The length of a single dash of the service line

Type:

float