pymunk.matplotlib_util Module

This submodule contains helper functions to help with quick prototyping using pymunk together with pyglet.

Intended to help with debugging and prototyping, not for actual production use in a full application. The methods contained in this module is opinionated about your coordinate system and not very optimized (they use batched drawing, but there is probably room for optimizations still).

class pymunk.matplotlib_util.DrawOptions(ax)[source]

Bases: pymunk.space_debug_draw_options.SpaceDebugDrawOptions

DRAW_COLLISION_POINTS

alias of CP_SPACE_DEBUG_DRAW_COLLISION_POINTS

DRAW_CONSTRAINTS

alias of CP_SPACE_DEBUG_DRAW_CONSTRAINTS

DRAW_SHAPES

alias of CP_SPACE_DEBUG_DRAW_SHAPES

__init__(ax)[source]

DrawOptions for space.debug_draw() to draw a space on a ax object.

Typical usage:

>>> import matplotlib as mpl
>>> import pymunk
>>> import pymunk.matplotlib_util
>>> my_space = pymunk.Space()
>>> fix, ax = mpl.subplot()
>>> options = pymunk.matplotlib_util.DrawOptions(ax)
>>> my_space.debug_draw(options)

You can control the color of a Shape by setting shape.color to the color you want it drawn in.

>>> my_shape.color = (1, 0, 0, 1) # will draw my_shape in red

See matplotlib_util.demo.py for a full example

Param:
ax: matplotlib.Axes

A matplotlib Axes object.

collision_point_color
color_for_shape(shape)
constraint_color
draw_circle(pos, angle, radius, outline_color, fill_color)[source]
draw_dot(size, pos, color)[source]
draw_fat_segment(a, b, radius, outline_color, fill_color)[source]
draw_polygon(verts, radius, outline_color, fill_color)[source]
draw_segment(a, b, color)[source]
flags
shape_dynamic_color = SpaceDebugColor(r=52, g=152, b=219, a=255)
shape_kinematic_color = SpaceDebugColor(r=39, g=174, b=96, a=255)
shape_outline_color
shape_sleeping_color = SpaceDebugColor(r=114, g=148, b=168, a=255)
shape_static_color = SpaceDebugColor(r=149, g=165, b=166, a=255)