Toy curves editor made for Curves and Surfaces in Computer Graphics course at university. It features CPU-based computations and rendering, very low memory footprint (13M after start) and IPC (see scripts/).
- download and unzip a
JetBrainsMonoNL-Regular.ttf
font file - download the latest binary from releases and place it in the same directory as font file
chmod +x askew
./askew run
List of initial parameters is available under ./askew run --help
.
First, you need to install the latest stable Rust toolchain. Then follow these instructions:
git clone https://github.com/pitcer/askew.git
cd askew
cargo run --release -- run
You can also directly use compiled binary at ./target/release/askew
.
:
- enter command modeenter
- execute commandescape
- exit modep
- change mode to points
- change mode to point selecta
- change mode to point add or add curved
- delete curve or pointj
- previous curve or pointk
- next curve or pointi
- increase rotation or weighto
- decrease rotation or weighth
- show convex hullup|down|left|right
- move curve or point
:get show_convex_hull
:get interpolation_nodes
:get samples
:set show_convex_hull <bool>
:set interpolation_nodes <chebyshev|equally_spaced>
:set samples <uint>
:toggle show_convex_hull
:toggle control_line
:rotate <deg> [curve id]
:move <x shift> <y shift>
:save [path]
:open [path]
:set_curve_type <polyline|convex_hull|interpolation|bezier|rational_bezier>
:get_curves_length
:get_length <curve id>
:get_point <curve id> <point id>
:move_point <curve id> <point id> <x> <y>
:trochoid_properties <range_start,range_end,r_1,r_2,w_1,w_2>