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