A powerful mathematical visualization tool crafted for educators and students. Transform complex mathematical expressions into interactive, dynamic graphs.
Getting Started β’ Key Features β’ Examples β’ Documentation β’ Contributing
Advanced Graphing Calculator is a sophisticated mathematical visualization tool that brings complex functions to life. Perfect for:
- π Students: Exploring mathematical concepts
- π Educators: Demonstrating function behaviors
- π¬ Researchers: Analyzing mathematical relationships
- π‘ Enthusiasts: Anyone interested in mathematical visualization
- Overview
- Getting Started
- Usage Instructions
- Key Features
- Examples
- Important Notes
- Frequently Asked Questions
- Contributing
- License
- Contact Us
- Python 3.9+
- pip package manager
Install the required Python libraries using the following command:
pip install PyQt6 requests semver sympy numpy matplotlib
-
Save the
graphing_calculator.py
file to your local machine. -
Open a terminal or command prompt and navigate to the directory containing the file.
-
Run the following command to start the application:
python graphing_calculator.py
- In the "Enter 2D equations" input field, enter one or more 2D expressions.
- Input only expressions, not equations. For example, enter
sin(x) x^2 |x|
to plotsin(x)
,xΒ²
, and|x|
. - Use spaces to separate multiple expressions. Spaces are used to distinguish different formulas.
- After entering the expressions, click the "Plot 2D Graphs" button.
- The application will plot the corresponding graphs and calculate various function properties.
- Results will be displayed in the text browser below the plot.
- Zooming: Use the mouse wheel to zoom in and out of the graph. Hold the
Ctrl
key and scroll the mouse wheel for precise zooming. - Panning: Press and hold the middle mouse button (scroll wheel) and drag to pan the graph.
- View Intersections: Click on the intersection points in the graph to display their coordinates and corresponding equations.
- Multi-Function Plotting: Visualize multiple functions simultaneously
- Interactive Graphs: Real-time zoom, pan, and point analysis
- Smart Annotations: Automatic labeling of key points and intersections
Feature | Description |
---|---|
π― Zero Points | Automatically finds x-intercepts |
π Derivatives | Calculates first and second derivatives |
π Critical Points | Identifies extrema and inflection points |
π Domain & Range | Determines function boundaries |
π Asymptotes | Locates horizontal and vertical asymptotes |
Identifies points of discontinuity |
Control | Action | Description |
---|---|---|
Mouse Wheel | Zoom | Scroll to zoom in/out |
Ctrl + Wheel | Precise Zoom | Fine-grained zoom control |
Middle Mouse | Pan | Click and drag to move view |
Left Click | Point Analysis | Shows coordinates and function details |
Grid Toggle | Show/Hide Grid | Toggle grid visibility |
Dark Mode | Theme Switch | Changes interface theme |
Custom Ranges | Set View Bounds | Enter custom x/y axis limits |
Feature | Format | Description |
---|---|---|
Save Equations | Text file (.txt) | Save current function set |
Load Equations | Text file (.txt) | Load saved function set |
Export Graph | PNG/SVG | Export graph as image |
Function Templates | Built-in | Quick access to common functions |
Category | Functions | Examples |
---|---|---|
Arithmetic | +, -, *, /, ^ | x^2 + 2*x |
Trigonometric | sin, cos, tan, sec, csc, cot | sin(x) * cos(x) |
Inverse Trig | asin, acos, atan | asin(x/2) |
Hyperbolic | sinh, cosh, tanh | sinh(x) |
Exponential | exp, ln, log | exp(-x^2) |
Special | Abs, factorial, gamma | ` |
Bessel | jn, yn | jn(0,x) |
Input:
sin(x) x^2
Outcome:
- Plots the sine function and the quadratic function on the same graph.
- Displays the intersection points, zeros, derivatives, and other properties for both functions.
Input:
|x| x^3-3x
Outcome:
- Plots the absolute value function and the cubic function.
- Automatically handles absolute value notation and calculates relevant function properties.
- Avoid Using Dark Mode: Do not use dark mode on Windows systems to ensure proper display of the interface and graphs.
- Input Format:
- Do Not Insert Spaces Within Expressions: Spaces are used to separate different expressions. Do not include spaces within a single expression.
- Input Only Expressions: Enter only the mathematical expression without an equals sign. For example, use
x^2
instead ofy = x^2
. - Separate Multiple Expressions with Spaces: To plot multiple functions, separate each expression with a space, such as
sin(x) cos(x)
.
A1: Use the pipe symbol |
to denote absolute values. For example, |x|
will be automatically converted to Abs(x)
for processing.
A2: The application will display an error message in the results browser, prompting you to check and correct your input expressions.
A3: After plotting the graphs, the results browser will automatically list the first and second derivatives, domain, asymptotes, and other detailed properties for each function.
Contributions are welcome! If you have suggestions or want to contribute code, please submit an Issue or Pull Request on the GitHub repository.
This project is licensed under the GNU Affero General Public License v3.0 License. See the LICENSE file for details.
If you have any questions or suggestions, please reach out to us:
- Email: [email protected]
- GitHub: fzlzjerry/graphing_calculator