Skip to content

Solid Geometry

The "Solid Geometry" page is used to define 3D spatial objects (points, lines, planes, segments) and plot them with Matplotlib. Defined objects are stored in the main window's ljs dictionary ({name: (category, sympy object)}) and are shared with the "Solid Geometry Calculation" and "Solid Geometry Plot" pages.

Defining Objects

On the "Solid Geometry" page, choose a construction method, enter a name and parameters, then click Save (or press Enter) to create the object. Objects appear in the category list below, where you can Read (view name and equation / expression) or Delete them.

# Construction method Parameters (comma-separated) Category
1 3D point (coordinates) x, y, z Point
2 Line through two points p1, p2 Line
3 Plane parallel to a given plane through a point plane, point Plane
4 Plane perpendicular to a given line through a point line, point Plane
5 Line parallel to a given line through a point line, point Line
6 Perpendicular to a given line through a point point, line Line
7 Line perpendicular to a given plane through a point plane, point Line
8 Plane through a line and an external point line, point Plane
9 Plane through two lines (intersecting or parallel) line1, line2 Plane
10 Perpendicular foot from a point to a plane point, plane Point
11 Perpendicular foot from a point to a line point, line Point
12 3D segment through two points p1, p2 Segment

Note

The object "name" is entered in the name input box (e.g. A, α); "point1" in parameters refers to the name of an already defined object. Coordinates accept SymPy expressions such as sqrt(2) or pi/2.

Property Panel

Select an object in the list and click Read to show its name and equation / expression (planes and lines show their equation; points show coordinates) in the property panel; click Delete to remove it.

Plotting

On the "Solid Geometry Plot" page, defined objects are shown as a checkable list (all checked by default). Check the objects you want to display and click Plot to render a 3D image with Matplotlib:

  • Points, lines, planes, and segments can be displayed together; planes are rendered as semi-transparent grids.
  • Each object is labeled with its name automatically.
  • The 3D axes support mouse-drag view rotation; the toolbar provides Home / Pan / Zoom / Save.
  • The image is re-rendered automatically when switching between light / dark themes.

It is implemented by draw3d in functions/paint3D.py. For calculations such as angles, distances, and volumes of these objects, use the "Solid Geometry Calculation" page — see Solid Geometry Calculation.

Example

  1. Define four points A(0,0,0), B(1,0,0), C(0,1,0), D(0,0,1).
  2. Use method 2 to create line AB (parameters A,B).
  3. Switch to the "Plot" page, check A, B, C, D, AB, and click Plot to see the 3D points and line.

Tips

  • Coordinate input follows the String Parsing standard.
  • After defining objects, the "Solid Geometry Calculation" page offers 22 operations on them (distance, tetrahedron volume, etc.).