Skip to content

Flexible library of graphical algorithms in Python, providing mathematical classes such as vectors and points, speed-optimized graphical functions and much more ! It can be used on the Numworks calculator, or on a computer.

License

Notifications You must be signed in to change notification settings

Archange-py/Visual

Repository files navigation

Visual Banner

Visual

GitHub Stars GitHub Forks GitHub Issues GitHub Pull Requests GitHub License Last Commit Tests Visiteurs

PyPI Version PyPI - Downloads Python Versions

Welcome! This project is designed for use with the Numworks graphing calculator. It allows you to add graphical functions, mainly around new drawing functions like line or circle drawing, but also mathematical classes like vectors or points, and much more!

But it's also an easy-to-use library available on PyPi, so you don't have to code on your calculator, thanks to the Numworks python emulator for computers.

Star History Chart

Table of Contents


  1. General Info
  2. How to use it
  3. Examples
  4. Tree Fractals
  5. Extensions
  6. QR-Codes
  7. FAQs

General Info


I recommend that you test the example files on your own computer, as you can drastically increase their execution speeds.

To install it on the Numworks, we have the choice :

  1. Just follow this link to the Numworks website

  2. You just need to copy and paste the code from the visual file into a new script on your Numworks account. Then upload it to your calculator.

Here's another example of what you can do with the functions provided by Visual.

example.gif

If you have any questions, go to the FAQs section, or explore all the examples here after visiting this page to install the visualcore library on your computer !

How to use it


  1. Simply use this command :
pip install visualcore
  1. Or download the github repository in .zip or clone it via this url :
https://github.com/Archange-py/Visual.git

To use it properly, you need to install several python packages on your computer, either from the command line using the requirements.txt file :

pip install -r requirements.txt

Or individually with each package.

pip install kandinsky
pip install --pre ion-numworks

And python, of course, here if you don't already have it.

You can change the emulator's OS by pressing "CTR+O" to increase speed, so you can get the most out of it without seeing everything slow down !

Examples


First of all, after you're on your computer, you need to start by importing it after installing it in the current directory, and write that on the first line of your project :

from visual import *

After that, you need to understand how this script is organized, with points and vectors for example, and how it works, with its functions. For this purpose, you have at your disposal one Jupiter Notebook containing everything that can be shown in writing for the file visual_example.

Here's an example of what you can do with the calculator, using the compact example file. Click here to see it on the Numworks website.

from visual import *

A = Point( 20,  20, 'A')
B = Point(160, 111, 'B')
C = Point( 20, 202, 'C')
D = Point(300,  20, 'D')
E = Point(300, 202, 'E')

F = milieu(D, E)
F.round()
F.name = 'F'

V = Vector(A, B, name='V')
W = Vector(B, C, name='W')
Y = Vector(F, D, name='Y')
X = Vector(F, E, name='X')

U = V + W
U.name = 'U'

def example():
  draw_points([A, B, C, D, E, F], 'r', style='.')
  draw_rectangle(A, E)
  draw_croix(B, 320)
  bezier_curve([A, B, C, E], 'orange')
  bezier_curve([E, B, D, A], 'orange')
  draw_circle(B, 50, 'r')
  fill_circle(B, 10, 'r')
  draw_droite(D, E, 'cyan', "d'")
  draw_droite(D, B, 'cyan', "d''")
  draw_droite(E, B, 'cyan', "d'''")
  draw_vector(A, V, 'g')
  draw_vector(B, W, 'g')
  draw_vector(A, U, 'g')
  draw_arrows([(F, D)], 'b', fill=True)
  draw_arrows([(F, E)], 'b', fill=True)
  draw_polygone(6, 50, B)
  fill_polygone(6, 50, B, 'yellow', alpha=0.5)

example()

example_visual.png

Then there are plenty of example files for everything to do with graphics. You can see the results with the following images :

Example 1 Example 2 Example 3 Example 4
example_interpolate_1.png example_interpolate_2.png example_interpolate_3.png example_interpolate_4.png

We have to take a number less or equal to 0, and greater or equal to 1 for the alpha parameter

Example 1 Example 2
example_alpha_layer_1.png example_alpha_layer_2.png
Example 1 Example 2 Example 3
example_scatter_1.png example_scatter_2.png example_scatter_3.png
Example 1 Example 2 Example 3
example_plot_1.png example_plot_2.png example_plot_3.png
Example
example_lines.png
Example
example_points.png
Example
example_croix.png
Example
example_arrows.png
Example
example_vectors.png
Example 1 Example 2
example_droite_1.png example_droite_2.png
Example
example_triangles.png
Example
example_polygones.png
Example
example_cercle.png
Example 1 Example 2
example_bezier_curve.png example_bezier_curve.gif

Tree Fractals

The link to the example script: example_fractal.py
And the source script: fractal.py


example_bezier_curve.gif


Don't forget to install the lines extension here in your computer !

Basic Tree Palm Tree
fractale_basic_tree_1.png fractale_palm_red_yellow_1.png
fractale_basic_tree_2.png fractale_palm_red_yellow_2.png
fractale_basic_tree_black_1.png fractale_palm_black_1.png
fractale_basic_tree_black_2.png fractale_palm_black_2.png

Magenta Trees

fractale_magenta_1.png fractale_magenta_2.png fractale_magenta_3.png fractale_magenta_4.png
fractale_magenta_thickness_1.png fractale_magenta_thickness_2.png fractale_magenta_thickness_3.png fractale_magenta_thickness_4.png

Cyan Trees

fractale_cyan_angle_1.png fractale_cyan_angle_2.png fractale_cyan_angle_3.png
fractale_cyan_angle_4.png fractale_cyan_angle_5.png fractale_cyan_angle_6.png
fractale_cyan_angle_7.png fractale_cyan_angle_8.png fractale_cyan_angle_9.png
fractale_cyan_angle_10.png fractale_cyan_angle_11.png fractale_cyan_angle_12.png
fractale_cyan_angle_13.png

Examples of Trees

fractale_tree_blue.png fractale_tree_cyan.png fractale_tree_fushia.png
fractale_tree_green.png fractale_tree_magenta.png fractale_tree_orange.png
fractale_tree_pink.png fractale_tree_purple.png fractale_tree_red.png
fractale_tree_yellow.png fractale_tree_white.png fractale_thickness_purple.png

Angle Tree

fractale_h_magenta_purple.png fractale_h_black.png

Extensions


Here are some extensions designed to work with the calculator. However, the latest extension, Grapher, will only work on a computer. They include a number of extra features, notably a reproduction of the turtle module, and another, much simpler one, of the matplotlib.pyplot module. I'll let you discover them with some beautiful images!

You need to copy and paste the code from the extension files into a new file created on the Numworks website.

Example
example_lines.png
Example 1 Example 2
example_ellipses_1.png example_ellipses_2.png

The turtle extension has both a compact and a non-compact file for use on the computer.


Example 1 Example 2
example_2.png example_turtle.gif
Keys Short
Arrows [Up, Down, Right, Left] allows you to move around the grapher
'Maj'+'=' or '+' zoom in or out
'Maj'+'à' or '0' refocuses the graphic
'Ctr'+'o' changes the emulator, thus increasing speed

Examples

example_fonction_axes_1.png example_fonction_axes_poo_1.png example_fonction_axes_2.png
example_fonction_axes_poo_2.png example_fonction_axes_poo_3.png example_fonction_axes_poo_4.png
example_fonction_axes_poo_5.png example_fonction_axes_poo_6.png example_fonction_scatter_and_points_2.png
example_fonction_plot_and_lines_1.png example_fonction_vector_1.png example_fonction_droite_1.png

QR-Codes


Here are two QR codes to easily find the Visual library on GitHub and on the official Numworks website. Use them without restriction!

GitHub Numworks
example_2.png example_turtle.gif

FAQs


A list of frequently asked questions (for the moment there is none).

About

Flexible library of graphical algorithms in Python, providing mathematical classes such as vectors and points, speed-optimized graphical functions and much more ! It can be used on the Numworks calculator, or on a computer.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •