Releases: G1OJS/xyz_canvas
Add keywords and classifiers to toml file
Add warnings import for backwards compatibility warning
V1.1.1 forgot to import warnings
Added a simple user API
Added a simple user API to enable users to develop their own applications using xyz_canvas as the 3D canvas 'engine', as illustrated in the customised example program.
Minimal V1.0.0
Shows how to create a collection of points in 3D using only Matplotlib and about 200 lines of code.
Select and move from true 3D fixed
Fixed the issues of
a) can't select a line end unless at least one co-ordinate is at an axis limit and
b) can't disambiguate 2D to 3D to allow movement of the selected line.
Fixed by a) using 2D xy to select the line end (index), and
b) by using the mouse 3D coordinates instead of the line end's, because the mouse 3D always does have at least one coordinate pinned to a backplane.
Added viable method for getting line ends away from backplanes
V0.3.0 Update README.md
Refactored classes, added an objects.py to define and control object primitives, updated demo.py.
From the readme, this describes the current state:
Interactive canvas for editing 3D geometry, using matplotlib.pyplot
This is a demo of xyz_canvas (pre-release, V0.2.1), a Python library to add, edit, and connect 3D wire-frame objects
using only Matplotlib. The idea is that this will be called by code that needs the
user to define / edit these objects in 3D space.
Currently, only lines are supported but the plan is to include at least lines, rectangles,
arcs (circles) and helices. Shape types are seleced via the buttons next to the geometry display.
The clear button is implemented, as is Exit & Close and List, but the others are placeholders.
To add a line, click two points within the axis space (note that no feedback is given for the first click).
The view may be rotated at any time by clicking and dragging just oustide the axis space.
Currently, endpoints / vertices are pinned to the 'closest' backplane (shaded & gridded).
Methods to move vertices into general 3D space by clicking and typing co-ordinates,
snapping to a 3D grid / other objects, will be added soon.
Initial uploaded to PyPI
Proof of concept of using matplotlib to create and view 3D objects using mouse clicks on the '3D viewer' matplotlib.axes._subplots.Axes3DSubplot