diff options
27 files changed, 2324 insertions, 3 deletions
diff --git a/docs/Code_Overview.md b/docs/Code_Overview.md index 011de21a..07df5599 100644 --- a/docs/Code_Overview.md +++ b/docs/Code_Overview.md @@ -113,7 +113,8 @@ Code flow of a move command A typical printer movement starts when a "G1" command is sent to the Klippy host and it completes when the corresponding step pulses are produced on the micro-controller. This section outlines the code flow -of a typical move command. +of a typical move command. The [kinematics](Kinematics.md) document +provides further information on the mechanics of moves. * Processing for a move command starts in gcode.py. The goal of gcode.py is to translate G-code into internal calls. Changes in diff --git a/docs/Kinematics.md b/docs/Kinematics.md new file mode 100644 index 00000000..924d1291 --- /dev/null +++ b/docs/Kinematics.md @@ -0,0 +1,266 @@ +This document provides an overview of how Klipper implements robot +motion (its [kinematics](https://en.wikipedia.org/wiki/Kinematics)). +The contents may be of interest to both developers interested in +working on the Klipper software as well as users interested in better +understanding the mechanics of their machines. + +Acceleration +============ + +Klipper implements a constant acceleration scheme whenever the print +head changes velocity - the velocity is gradually changed to the new +speed instead of suddenly jerking to it. Klipper always enforces +acceleration between the tool head and the print. The filament +leaving the extruder can be quite fragile - rapid jerks and/or +extruder flow changes lead to poor quality and poor bed adhesion. Even +when not extruding, if the print head is at the same level as the +print then rapid jerking of the head can cause disruption of recently +deposited filament. Limiting speed changes of the print head (relative +to the print) reduces risks of disrupting the print. + +It is also important to enforce a maximum acceleration of the stepper +motors to ensure they do not skip or put excessive stress on the +machine. Klipper limits the acceleration of each stepper by virtue of +limiting the acceleration of the print head. Enforcing acceleration at +the print head naturally also enforces acceleration at the steppers +that control that print head (the inverse is not always true). + +Klipper implements constant acceleration. The key formula for +constant acceleration is: +``` +velocity(time) = start_velocity + accel*time +``` + +Trapezoid generator +=================== + +Klipper uses a traditional "trapezoid generator" to model the motion +of each move - each move has a start speed, it accelerates to a +cruising speed at constant acceleration, it cruises at a constant +speed, and then decelerates to the end speed using constant +acceleration. + + + +It's called a "trapezoid generator" because a velocity diagram of the +move looks like a trapezoid. + +The cruising speed is always greater than or equal to both the start +speed and the end speed. The acceleration phase may be of zero +duration (if the start speed is equal to the cruising speed), the +cruising phase may be of zero duration (if the move immediately starts +decelerating after acceleration), and/or the deceleration phase may be +of zero duration (if the end speed is equal to the cruising speed). + + + +Lookahead +========= + +The "lookahead" system is used to determine cornering speeds between +moves. + +Consider the following two moves contained on an XY plane: + + + +In the above situation it is possible to fully decelerate after the +first move and then fully accelerate at the start of the next move, +but that is not ideal as all that acceleration and deceleration would +greatly increase the print time and the frequent changes in extruder +flow would result in poor print quality. + +To solve this, the "lookahead" mechanism queues multiple incoming +moves and analyzes the angles between moves to determine a reasonable +speed that can be obtained during the "junction" between two moves. If +the next move forms an acute angle (the head is going to travel in +nearly a reverse direction on the next move) then only a small +junction speed is permitted. If the next move is nearly in the same +direction then the head need only slow down a little (if at all). + + + +The junction speeds are determined using "approximated centripetal +acceleration". Best +[described](https://onehossshay.wordpress.com/2011/09/24/improving_grbl_cornering_algorithm/) +by the author. + +Klipper implements lookahead between moves contained in the XY plane +that have similar extruder flow rates. Other moves are rare and +implementing lookahead between them is unnecessary. + +Key formula for lookahead: +``` +end_velocity^2 = start_velocity^2 + 2*accel*move_distance +``` + +Smoothed lookahead +------------------ + +Klipper also implements a mechanism for smoothing out the motions of +short "zig-zag" moves. Consider the following moves: + + + +In the above, the frequent changes from acceleration to deceleration +can cause the machine to vibrate which causes stress on the machine +and increases the noise. To reduce this, Klipper tracks both regular +move acceleration as well as a virtual "acceleration to deceleration" +rate. Using this system, the top speed of these short "zig zag" moves +are limited to smooth out the printer motion: + + + +In the above, note the dashed gray lines - this is a graphical +representation of the "pseudo acceleration". Where the two dashed +lines meet enforces a limit on the move's top speed. For most moves +the limit will be at or above the move's existing limits and no change +in behavior is induced. However, for short "zig-zag" moves the limit +comes into play and it reduces the top speed. Note that the grey lines +represent a pseudo-acceleration to limit top speed only - the move +continues to use it's normal acceleration scheme up to its adjusted +top-speed. + +Generating steps +================ + +Once the lookahead process completes, the print head movement for the +given move is fully known (time, start position, end position, +velocity at each point) and it is possible to generate the step times +for the move. This process is done within "kinematic classes" in the +Klipper code. Outside of these kinematic classes, everything is +tracked in millimeters, seconds, and in cartesian coordinate space. +It's the task of the kinematic classes to convert from this generic +coordinate system to the hardware specifics of the particular printer. + +In general, the code determines each step time by first calculating +where along the line of movement the head would be if a step is +taken. It then calculates what time the head should be at that +position. Determining the time along the line of movement can be done +using the formulas for constant acceleration and constant velocity: + +``` +time = sqrt(2*distance/accel + (start_velocity/accel)^2) - start_velocity/accel +time = distance/cruise_velocity +``` + +Cartesian Robots +---------------- + +Generating steps for cartesian printers is the simplest case. The +movement on each axis is directly related to the movement in cartesian +space. + +Delta Robots +------------ + +To generate step times on Delta printers it is necessary to correlate +the movement in cartesian space with the movement on each stepper +tower. + + + +To simplify the math, for each move contained in an XY plane, the code +calculates the location of a "virtual tower" that is along the line of +movement. This virtual tower is chosen at the point where the line of +movement (extended infinitely in both directions) would be closest to +the actual tower. + + + +It is then possible to calculate where the head will be along the line +of movement after each step is taken on the virtual tower. The key +formula is Pythagorean's formula: + +``` +distance_to_tower^2 = arm_length^2 - tower_height^2 +``` + +One complexity is that if the print head passes the virtual tower +location then the stepper direction must be reversed. In this case +forward steps will be taken at the start of the move and reverse steps +will be taken at the end of the move. + +### Delta movements beyond simple XY plane ### + +Movement calculation is a little more complicated if the move is not +fully contained within a simple XY plane. A virtual tower along the +line of movement is still calculated, but in this case the tower is +not at a 90 degree angle relative to the line of movement: + + + +The code continues to calculate step times using the same general +scheme as delta moves within an XY plane, but the slope of the tower +must also be used in the calculations. + +Should the move contain only Z movement (ie, no XY movement at all) +then the same math is used - just in this case the tower is parallel +to the line of movement (its slope is 1.0). + +Extruder kinematics +------------------- + +Klipper implements extruder motion in its own kinematic class. Since +the timing and speed of each print head movement is fully known for +each move, it's possible to calculate the step times for the extruder +independently from the step time calculations of the print head +movement. + +Basic extruder movement is simple to calculate. The step time +generation uses the same constant acceleration and constant velocity +formulas that cartesian robots use. + +### Pressure advance ### + +Experimentation has shown that it's possible to improve the modeling +of the extruder beyond the basic extruder formula. In the ideal case, +as an extrusion move progresses, the same volume of filament should be +deposited at each point along the move and there should be no volume +extruded after the move. Unfortunately, it's common to find that the +basic extrusion formulas cause too little filament to exit the +extruder at the start of extrusion moves and for excess filament to +extrude after extrusion ends. This is often referred to as "ooze". + + + +The "pressure advance" system attempts to account for this by using a +different model for the extruder. Instead of naively believing that +each mm^3 of filament fed into the extruder will result in that amount +of mm^3 immediately exiting the extruder, it uses a model based on +pressure. Pressure increases when filament is pushed into the extruder +(as in [Hooke's law](https://en.wikipedia.org/wiki/Hooke%27s_law)) and +the pressure necessary to extrude is dominated by the flow rate +through the nozzle orifice (as in +[Poiseuille law](https://en.wikipedia.org/wiki/Poiseuille_law)). The +details of the above physics are not important - only that the +relationship between pressure and flow rate is linear. It is expected +that an appropriate "pressure advance" value for a particular filament +and extruder will be determined experimentally. + +Once configured, Klipper will push in an additional amount of filament +during acceleration and retract that additional filament during +deceleration. The higher the desired filament flow rate, the more +filament must be pushed in during acceleration to account for +pressure. Any additional filament pushed in during head acceleration +is retracted during head deceleration (the extruder will have a +negative velocity). + + + +One may notice that the pressure advance algorithm can cause the +extruder motor to make sudden velocity changes. This is tolerated +based on the idea that the majority of the inertia in the system is in +changing the extruder pressure. As long as the extruder pressure does +not change rapidly it is okay to make some sudden changes in extruder +motor velocity. + +One area where sudden velocity changes become problematic is during +small changes in head speed due to cornering. + + + +To prevent this, the Klipper pressure advance code utilizes the move +lookahead queue to detect intermittent speed changes. In these cases +the amount of pressure increased and decreased will be reduced or +eliminated. diff --git a/docs/Overview.md b/docs/Overview.md index 8b221763..14fb5bd3 100644 --- a/docs/Overview.md +++ b/docs/Overview.md @@ -1,7 +1,9 @@ See [installation](Installation.md) for information on compiling, installing, and running Klipper. Read [features](Features.md) for a -high-level description of useful capabilities. The history of releases -is available at [releases](Releases.md). +high-level description of useful capabilities. The +[kinematics](Kinematics.md) document provides information on how +movement is implemented. The history of releases is available at +[releases](Releases.md). There are also several documents available for developers interested in understanding how Klipper works: diff --git a/docs/img/corner.svg b/docs/img/corner.svg new file mode 100644 index 00000000..3383a969 --- /dev/null +++ b/docs/img/corner.svg @@ -0,0 +1,158 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="54.904114mm" + height="6.0860338mm" + viewBox="0 0 194.54213 21.564687" + id="svg3506" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="corner.svg"> + <defs + id="defs3508"> + <marker + inkscape:stockid="DiamondL" + orient="auto" + refY="0" + refX="0" + id="DiamondL" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4399" + d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="scale(0.8,0.8)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Lend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4341" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker4596" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4598" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path4329" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend-1" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path4329-1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="2.49" + inkscape:cx="27.644" + inkscape:cy="0.62950496" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + showborder="false" + inkscape:window-width="1920" + inkscape:window-height="1032" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1"> + <inkscape:grid + type="xygrid" + id="grid6021" + spacingx="9.9999997" + spacingy="10.000001" + originx="0.89299989" + originy="-30.954583" /> + </sodipodi:namedview> + <metadata + id="metadata3511"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-253.40821,-436.43703)"> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)" + d="m 345.38554,440.31401 96.88541,12.96764" + id="path3514" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend-1)" + d="m 253.63788,454.62572 89.78715,-13.91164" + id="path3514-5" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + </g> +</svg> diff --git a/docs/img/corner.svg.png b/docs/img/corner.svg.png Binary files differnew file mode 100644 index 00000000..c94ade20 --- /dev/null +++ b/docs/img/corner.svg.png diff --git a/docs/img/delta-tower.svg b/docs/img/delta-tower.svg new file mode 100644 index 00000000..a3536075 --- /dev/null +++ b/docs/img/delta-tower.svg @@ -0,0 +1,227 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="97.22496mm" + height="32.550285mm" + viewBox="0 0 344.49789 115.33566" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="delta-tower.svg"> + <defs + id="defs4"> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker6618" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mend"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + id="path6620" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0.0" + refX="0.0" + id="marker6500" + style="overflow:visible;" + inkscape:isstock="true"> + <path + id="path6502" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1;fill:#4b4b4b;fill-opacity:1" + transform="scale(0.4) rotate(180) translate(10,0)" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible;" + id="marker6082" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="Arrow1Mend" + inkscape:collect="always"> + <path + transform="scale(0.4) rotate(180) translate(10,0)" + style="fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1;fill:#4b4b4b;fill-opacity:1" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + id="path6084" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Mend" + style="overflow:visible;" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path5747" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1;fill:#4b4b4b;fill-opacity:1" + transform="scale(0.4) rotate(180) translate(10,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0.0" + refX="0.0" + id="Arrow1Mstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5744" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + style="fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1;fill:#4b4b4b;fill-opacity:1" + transform="scale(0.4) translate(10,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend-1" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path4329-1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.75" + inkscape:cx="140.92063" + inkscape:cy="45.708959" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="922" + inkscape:window-height="628" + inkscape:window-x="162" + inkscape:window-y="50" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + showborder="false" + inkscape:snap-global="false" + showguides="false"> + <inkscape:grid + type="xygrid" + id="grid3436" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-135.22429,-249.96955)"> + <ellipse + style="fill:#4d4d4d;stroke:#4b4b4b;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:2, 1, 0.5, 1;stroke-dashoffset:0;stroke-opacity:1" + id="path4255" + cx="353.79568" + cy="327.87662" + rx="4.2857141" + ry="4.8571429" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.00000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)" + d="M 181.50998,381.87664 359.22427,275.01949" + id="path5510" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:10.0000006px;line-height:125%;font-family:'DejaVu Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;-inkscape-font-specification:'DejaVu Sans, Normal';font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr;" + x="371.22427" + y="354.44806" + id="text6058" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6060" + x="371.22427" + y="354.44806">tower</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:10.0000006px;line-height:125%;font-family:'DejaVu Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;-inkscape-font-specification:'DejaVu Sans, Normal';font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr;" + x="163.7957" + y="272.73376" + id="text6062" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6064" + x="163.7957" + y="272.73376">line of movement</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:10.0000006px;line-height:125%;font-family:'DejaVu Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;-inkscape-font-specification:'DejaVu Sans, Normal';font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr;" + x="252.93855" + y="384.16235" + id="text6066" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6068" + x="252.93855" + y="384.16235">move</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.00000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6618)" + d="m 382.65284,344.73378 c -0.19273,-13.52091 -9.87887,-14.83602 -20.57143,-14.85715" + id="path6070" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker6500)" + d="m 254.65284,374.44806 c 3.39239,-12.86009 -2.06023,-20.09154 -15.42857,-22.28571" + id="path6072" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6082)" + d="m 258.08141,271.01949 c 28.33226,-5.6801 51.61878,4.04261 57.14286,25.71429" + id="path6074" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend-1)" + d="m 219.61431,358.80126 57.78715,-34.48307" + id="path3514-5" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + </g> +</svg> diff --git a/docs/img/delta-tower.svg.png b/docs/img/delta-tower.svg.png Binary files differnew file mode 100644 index 00000000..fe03d8d4 --- /dev/null +++ b/docs/img/delta-tower.svg.png diff --git a/docs/img/lookahead.svg b/docs/img/lookahead.svg new file mode 100644 index 00000000..4962a48a --- /dev/null +++ b/docs/img/lookahead.svg @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="97.22496mm" + height="32.550285mm" + viewBox="0 0 344.49789 115.33566" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="lookahead.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.94" + inkscape:cx="294.7319" + inkscape:cy="45.708959" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1091" + inkscape:window-height="588" + inkscape:window-x="107" + inkscape:window-y="116" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + showborder="false" + inkscape:snap-global="false" + showguides="false"> + <inkscape:grid + type="xygrid" + id="grid3436" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-135.22429,-249.96955)"> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 1.06383,102.12765 327.12765,-0.53192 -7.97871,5.85107" + id="path3347" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:100%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="434.04257" + y="365.1282" + id="text3349" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3351" + x="434.04257" + y="365.1282">time</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-313.86618" + y="140.27856" + id="text3353" + sodipodi:linespacing="125%" + transform="matrix(-0.01601372,-0.99987177,0.99987177,-0.01601372,0,0)"><tspan + sodipodi:role="line" + id="tspan3355" + x="-313.86618" + y="140.27856">velocity</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 -5.31915,8.51063" + id="path3359" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.62366331px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 179.63013,351.45141 16.05677,-60.94328 61.3451,0 4.83546,8.81561" + id="path3361" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.7558428px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 261.70791,300.17937 13.5395,-40.67564 59.85662,0 24.69858,91.73948" + id="path3361-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 262.35192,299.34775 0,54.25533" + id="path3412" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + </g> +</svg> diff --git a/docs/img/lookahead.svg.png b/docs/img/lookahead.svg.png Binary files differnew file mode 100644 index 00000000..eb822746 --- /dev/null +++ b/docs/img/lookahead.svg.png diff --git a/docs/img/ooze.svg b/docs/img/ooze.svg new file mode 100644 index 00000000..0c237a30 --- /dev/null +++ b/docs/img/ooze.svg @@ -0,0 +1,167 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="98.140816mm" + height="63.537022mm" + viewBox="0 0 347.74305 225.13119" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="ooze.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.94" + inkscape:cx="179.14226" + inkscape:cy="58.510649" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1091" + inkscape:window-height="588" + inkscape:window-x="540" + inkscape:window-y="225" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + showborder="false" + inkscape:snap-global="false" + showguides="false"> + <inkscape:grid + type="xygrid" + id="grid3436" + originx="-1.5695746e-05" + originy="109.79552" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-135.22431,-249.96955)"> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 1.06383,102.12765 327.12765,-0.53192 -7.97871,5.85107" + id="path3347" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.50000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-346.84067" + y="139.75046" + id="text3353" + sodipodi:linespacing="125%" + transform="matrix(-0.01601372,-0.99987177,0.99987177,-0.01601372,0,0)"><tspan + sodipodi:role="line" + id="tspan12733" + x="-346.84067" + y="139.75046">head velocity</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 -5.31915,8.51063" + id="path3359" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 179.63013,351.45141 16.05677,-60.94328 120.91957,-1.06383 16.53759,62.00711" + id="path3361" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.78742969px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 332.99641,351.24986 16.72764,-63.00287 133.24331,0" + id="path3361-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="200.11789" + y="284.45413" + id="text12656" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan12658" + x="200.11789" + y="284.45413">extrude move</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="356.50089" + y="283.39032" + id="text12660" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan12662" + x="356.50089" + y="283.39032">non-extrude move</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 151.66036,360.03004 1.06383,102.12766 327.12768,-0.53192 -7.97872,5.85107" + id="path3347-0" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:100%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="435.70297" + y="474.92374" + id="text3349-3" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3351-4" + x="435.70297" + y="474.92374">time</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.50000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-438.56586" + y="139.94199" + id="text3353-0" + sodipodi:linespacing="125%" + transform="matrix(-0.01601372,-0.99987177,0.99987177,-0.01601372,0,0)"><tspan + sodipodi:role="line" + id="tspan12712" + x="-438.56586" + y="139.94199">filament</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 151.66036,360.03004 -5.31915,8.51063" + id="path3359-9" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 181.29049,461.24691 c 17.46262,-43.80215 52.67413,-56.54375 92.65253,-60.94329 l 48.57915,-1.06383 c 24.916,55.4715 110.00504,59.23318 151.64398,62.00712" + id="path3361-1" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + </g> +</svg> diff --git a/docs/img/ooze.svg.png b/docs/img/ooze.svg.png Binary files differnew file mode 100644 index 00000000..138010dd --- /dev/null +++ b/docs/img/ooze.svg.png diff --git a/docs/img/pressure-advance.svg b/docs/img/pressure-advance.svg new file mode 100644 index 00000000..a05f66ce --- /dev/null +++ b/docs/img/pressure-advance.svg @@ -0,0 +1,193 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="102.61139mm" + height="99.266594mm" + viewBox="0 0 363.58366 351.73204" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="pressure-advance.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.98" + inkscape:cx="189.31482" + inkscape:cy="169.55487" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1091" + inkscape:window-height="588" + inkscape:window-x="540" + inkscape:window-y="225" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + showborder="false" + inkscape:snap-global="false" + showguides="false"> + <inkscape:grid + type="xygrid" + id="grid3436" + originx="17.089787" + originy="126.61899" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-118.13451,-140.19216)"> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 1.06383,102.12765 327.12765,-0.53192 -7.97871,5.85107" + id="path3347" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.50000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-334.86746" + y="122.91875" + id="text3353" + sodipodi:linespacing="125%" + transform="matrix(-0.01601372,-0.99987177,0.99987177,-0.01601372,0,0)"><tspan + sodipodi:role="line" + id="tspan12816" + x="-334.86746" + y="122.91875">extruder</tspan><tspan + sodipodi:role="line" + id="tspan12818" + x="-334.86746" + y="138.54375">velocity</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 -5.31915,8.51063" + id="path3359" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 316.60647,311.78473 16.53759,62.00711 m -154.57776,-52.12767 16.05677,-60.94328 1.06383,29.78724 m 0,0 120.91957,-1.06383 0,22.34043" + id="path3361" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 148.75077,140.45716 1.06383,102.12766 327.12769,-0.53192 -7.97872,5.85107" + id="path3347-6" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.50000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-237.05733" + y="140.25932" + id="text3353-2" + sodipodi:linespacing="125%" + transform="matrix(-0.01601372,-0.99987177,0.99987177,-0.01601372,0,0)"><tspan + sodipodi:role="line" + id="tspan12733-6" + x="-237.05733" + y="140.25932">head velocity</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 148.75077,140.45716 -5.31915,8.51063" + id="path3359-7" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 178.3809,241.67403 16.05679,-60.94329 120.91958,-1.06383 16.53759,62.00712" + id="path3361-5" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.78742969px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 331.74721,241.47248 16.72764,-63.00288 133.24332,0" + id="path3361-7-6" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="198.86868" + y="174.67674" + id="text12656-9" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan12658-8" + x="198.86868" + y="174.67674">extrude move</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="355.25165" + y="173.61293" + id="text12660-7" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan12662-2" + x="355.25165" + y="173.61293">non-extrude move</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 151.94226,384.0742 1.06383,102.12766 327.12769,-0.53192 -7.97872,5.85107" + id="path3347-2" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.50000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-467.65732" + y="122.73453" + id="text3353-1" + sodipodi:linespacing="125%" + transform="matrix(-0.01601372,-0.99987177,0.99987177,-0.01601372,0,0)"><tspan + sodipodi:role="line" + id="tspan12868" + x="-467.65732" + y="122.73453">extruder</tspan><tspan + sodipodi:role="line" + id="tspan12870" + x="-467.65732" + y="138.35953">pressure</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 151.94226,384.0742 -5.31915,8.51063" + id="path3359-5" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 181.57239,485.29107 16.05679,-60.94329 120.91958,-1.06383 16.53759,62.00712" + id="path3361-9" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + </g> +</svg> diff --git a/docs/img/pressure-advance.svg.png b/docs/img/pressure-advance.svg.png Binary files differnew file mode 100644 index 00000000..87772f84 --- /dev/null +++ b/docs/img/pressure-advance.svg.png diff --git a/docs/img/pressure-cornering.svg b/docs/img/pressure-cornering.svg new file mode 100644 index 00000000..d3788579 --- /dev/null +++ b/docs/img/pressure-cornering.svg @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="102.04809mm" + height="61.494076mm" + viewBox="0 0 361.58771 217.8924" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="pressure-cornering.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.98" + inkscape:cx="284.723" + inkscape:cy="35.715236" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1091" + inkscape:window-height="588" + inkscape:window-x="540" + inkscape:window-y="225" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + showborder="false" + inkscape:snap-global="false" + showguides="false"> + <inkscape:grid + type="xygrid" + id="grid3436" + originx="17.089805" + originy="-7.2206491" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-118.13449,-140.19216)"> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 1.06383,102.12765 327.12765,-0.53192 -7.97871,5.85107" + id="path3347" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.50000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-334.86746" + y="122.91875" + id="text3353" + sodipodi:linespacing="125%" + transform="matrix(-0.01601372,-0.99987177,0.99987177,-0.01601372,0,0)"><tspan + sodipodi:role="line" + id="tspan12816" + x="-334.86746" + y="122.91875">extruder</tspan><tspan + sodipodi:role="line" + id="tspan12818" + x="-334.86746" + y="138.54375">velocity</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 -5.31915,8.51063" + id="path3359" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 178.5663,321.66417 16.05677,-60.94328 1.06383,29.78724 m 0,0 117.21969,-0.77616 5.99519,7.3871 5.9952,-6.89861 131.50541,-0.77616" + id="path3361" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 148.75077,140.45716 1.06383,102.12766 327.12769,-0.53192 -7.97872,5.85107" + id="path3347-6" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.50000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-237.05733" + y="140.25932" + id="text3353-2" + sodipodi:linespacing="125%" + transform="matrix(-0.01601372,-0.99987177,0.99987177,-0.01601372,0,0)"><tspan + sodipodi:role="line" + id="tspan12733-6" + x="-237.05733" + y="140.25932">head velocity</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 148.75077,140.45716 -5.31915,8.51063" + id="path3359-7" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 178.3809,241.67403 16.05679,-60.94329 120.91958,-1.06383 4.29269,10.98671" + id="path3361-5" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 319.50231,193.5133 4.48274,-15.0437 133.24332,0" + id="path3361-7-6" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="198.86868" + y="174.67674" + id="text12656-9" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan12891" + x="198.86868" + y="174.67674">first extrude</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="355.25165" + y="173.61293" + id="text12660-7" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan12893" + x="355.25165" + y="173.61293">second extrude</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4, 2, 1, 2;stroke-dashoffset:0;stroke-opacity:1" + d="m 314.05288,288.86296 0,17.34694 5.10204,17.34694 -1.02041,-48.97959 7.14286,-17.34694 0,31.63265" + id="path12895" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccc" /> + </g> +</svg> diff --git a/docs/img/pressure-cornering.svg.png b/docs/img/pressure-cornering.svg.png Binary files differnew file mode 100644 index 00000000..aed2b0fb --- /dev/null +++ b/docs/img/pressure-cornering.svg.png diff --git a/docs/img/smoothed.svg b/docs/img/smoothed.svg new file mode 100644 index 00000000..3e348018 --- /dev/null +++ b/docs/img/smoothed.svg @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="97.22496mm" + height="32.550285mm" + viewBox="0 0 344.49789 115.33566" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="smoothed.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.75" + inkscape:cx="167.32577" + inkscape:cy="45.708959" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="840" + inkscape:window-height="628" + inkscape:window-x="162" + inkscape:window-y="50" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + showborder="false" + inkscape:snap-global="false" + showguides="false"> + <inkscape:grid + type="xygrid" + id="grid3436" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-135.22429,-249.96955)"> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 1.06383,102.12765 327.12765,-0.53192 -7.97871,5.85107" + id="path3347" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:100%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="434.04257" + y="365.1282" + id="text3349" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3351" + x="434.04257" + y="365.1282">time</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-313.86618" + y="140.27856" + id="text3353" + sodipodi:linespacing="125%" + transform="matrix(-0.01601372,-0.99987177,0.99987177,-0.01601372,0,0)"><tspan + sodipodi:role="line" + id="tspan3355" + x="-313.86618" + y="140.27856">velocity</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 -5.31915,8.51063" + id="path3359" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 165.50998,351.59092 15.42857,-35.42857 35.71428,0 11.71429,36.57143" + id="path3362" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.07142997px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 227.83578,352.85633 15.76217,-47.37239 22.00135,0 5.58242,17.6933" + id="path3362-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.21482575px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 271.35434,323.73296 11.15454,-30.54076 19.27119,-0.11152 8.73883,29.51288" + id="path3362-6" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.01949775px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 311.26144,322.49329 11.63197,-21.06975 15.33656,0 13.51652,50.22357" + id="path3362-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.00000012, 1.00000006, 0.50000003, 1.00000006;stroke-dashoffset:0;stroke-opacity:1" + d="m 165.50999,351.59092 33.14285,-34.28571 29.14286,34.28571" + id="path3426" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccc" /> + </g> +</svg> diff --git a/docs/img/smoothed.svg.png b/docs/img/smoothed.svg.png Binary files differnew file mode 100644 index 00000000..6385486b --- /dev/null +++ b/docs/img/smoothed.svg.png diff --git a/docs/img/trapezoid.svg b/docs/img/trapezoid.svg new file mode 100644 index 00000000..3f752e7d --- /dev/null +++ b/docs/img/trapezoid.svg @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="97.22496mm" + height="32.550285mm" + viewBox="0 0 344.49789 115.33566" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="trapezoid.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.94" + inkscape:cx="294.7319" + inkscape:cy="45.708959" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1091" + inkscape:window-height="588" + inkscape:window-x="113" + inkscape:window-y="31" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + showborder="false" /> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-135.22429,-249.96955)"> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 1.06383,102.12765 327.12765,-0.53192 -7.97871,5.85107" + id="path3347" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:100%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="434.04257" + y="365.1282" + id="text3349" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3351" + x="434.04257" + y="365.1282">time</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-313.86618" + y="140.27856" + id="text3353" + sodipodi:linespacing="125%" + transform="matrix(-0.01601372,-0.99987177,0.99987177,-0.01601372,0,0)"><tspan + sodipodi:role="line" + id="tspan3355" + x="-313.86618" + y="140.27856">velocity</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 -5.31915,8.51063" + id="path3359" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 179.78723,351.29837 41.48937,-60.63829 158.51063,0 37.23405,60.63829" + id="path3361" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + </g> +</svg> diff --git a/docs/img/trapezoid.svg.png b/docs/img/trapezoid.svg.png Binary files differnew file mode 100644 index 00000000..89474edc --- /dev/null +++ b/docs/img/trapezoid.svg.png diff --git a/docs/img/trapezoids.svg b/docs/img/trapezoids.svg new file mode 100644 index 00000000..b4ff5faf --- /dev/null +++ b/docs/img/trapezoids.svg @@ -0,0 +1,179 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="97.22496mm" + height="32.550285mm" + viewBox="0 0 344.49789 115.33566" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="trapezoids.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.94" + inkscape:cx="294.7319" + inkscape:cy="45.708959" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1091" + inkscape:window-height="588" + inkscape:window-x="113" + inkscape:window-y="31" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + showborder="false" + inkscape:snap-global="false" + showguides="false"> + <inkscape:grid + type="xygrid" + id="grid3436" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-135.22429,-249.96955)"> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 1.06383,102.12765 327.12765,-0.53192 -7.97871,5.85107" + id="path3347" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:100%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="434.04257" + y="365.1282" + id="text3349" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3351" + x="434.04257" + y="365.1282">time</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-313.86618" + y="140.27856" + id="text3353" + sodipodi:linespacing="125%" + transform="matrix(-0.01601372,-0.99987177,0.99987177,-0.01601372,0,0)"><tspan + sodipodi:role="line" + id="tspan3355" + x="-313.86618" + y="140.27856">velocity</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 -5.31915,8.51063" + id="path3359" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.62366331px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 179.63013,351.45141 16.05677,-60.94328 61.3451,0 6.96312,32.21987" + id="path3361" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.7558428px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 263.83557,321.45597 11.41184,-61.95224 59.85662,0 9.80496,28.97352" + id="path3361-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.7558428px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 344.93248,289.80297 59.85663,0 15.12411,61.95225" + id="path3361-7-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 264.47958,319.56052 0,31.9149" + id="path3412" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 343.73491,288.70946 1.06383,62.76596" + id="path3414" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 222.45831,289.77329 1.06383,61.70213" + id="path3416" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:20.00000119px;line-height:125%;font-family:'DejaVu Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;-inkscape-font-specification:'DejaVu Sans, Normal';font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr;" + x="193.73491" + y="338.70944" + id="text3418" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3420" + x="193.73491" + y="338.70944">1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20.00000191px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="236.28812" + y="338.70947" + id="text3422" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3434" + x="236.28812" + y="338.70947">2</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:20.00000191px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="294.79874" + y="335.51794" + id="text3426" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3428" + x="294.79874" + y="335.51794">3</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:20.00000119px;line-height:125%;font-family:'DejaVu Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;-inkscape-font-specification:'DejaVu Sans, Normal';font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr;" + x="367.13916" + y="337.6456" + id="text3430" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3432" + x="367.13916" + y="337.6456">4</tspan></text> + </g> +</svg> diff --git a/docs/img/trapezoids.svg.png b/docs/img/trapezoids.svg.png Binary files differnew file mode 100644 index 00000000..891a4715 --- /dev/null +++ b/docs/img/trapezoids.svg.png diff --git a/docs/img/virtual-tower.svg b/docs/img/virtual-tower.svg new file mode 100644 index 00000000..9ba254d5 --- /dev/null +++ b/docs/img/virtual-tower.svg @@ -0,0 +1,241 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="64.619751mm" + height="27.45583mm" + viewBox="0 0 228.96762 97.284438" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="virtual-tower.svg"> + <defs + id="defs4"> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker6618" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mend"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + id="path6620" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker6500" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path6502" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path5747" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5744" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend-1" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path4329-1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker6082" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mend" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + id="path6084" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.75" + inkscape:cx="169.7719" + inkscape:cy="-4.0565054" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="922" + inkscape:window-height="628" + inkscape:window-x="162" + inkscape:window-y="50" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + showborder="false" + inkscape:snap-global="false" + showguides="false"> + <inkscape:grid + type="xygrid" + id="grid3436" + originx="-14.085234" + originy="-95.286988" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-149.30952,-172.73378)"> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)" + d="m 176.36712,256.16235 200.00001,-0.57143" + id="path5510" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.00000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-254.01012" + y="369.20834" + id="text6058" + sodipodi:linespacing="125%" + transform="matrix(-0.01833576,-0.99983189,0.99983189,-0.01833576,0,0)" + inkscape:transform-center-x="-8.0000002" + inkscape:transform-center-y="12.571429"><tspan + sodipodi:role="line" + id="tspan10365" + x="-254.01012" + y="369.20834">virtual tower</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.00000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="148.36713" + y="269.87662" + id="text6062" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6064" + x="148.36713" + y="269.87662">line of movement</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.00000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="237.50998" + y="251.01949" + id="text6066" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6068" + x="237.50998" + y="251.01949">move</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:7.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 358.08141,255.01949 0,-82.28571" + id="path10351" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 220.36713,255.01949 357.50998,173.30521" + id="path10373" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.00000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="200.36713" + y="187.59093" + id="text10375" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan10377" + x="200.36713" + y="187.59093">virtual arm</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6082)" + d="m 261.76375,182.85539 c 22.73118,-0.70136 26.45506,3.7437 40.00001,18.28573" + id="path6074" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend-1)" + d="m 219.61431,255.37268 70.93001,0.37408" + id="path3514-5" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + </g> +</svg> diff --git a/docs/img/virtual-tower.svg.png b/docs/img/virtual-tower.svg.png Binary files differnew file mode 100644 index 00000000..7856192c --- /dev/null +++ b/docs/img/virtual-tower.svg.png diff --git a/docs/img/xy+z-tower.svg b/docs/img/xy+z-tower.svg new file mode 100644 index 00000000..b1f3101f --- /dev/null +++ b/docs/img/xy+z-tower.svg @@ -0,0 +1,241 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="64.619751mm" + height="27.45583mm" + viewBox="0 0 228.96762 97.284438" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="xy+z-tower.svg"> + <defs + id="defs4"> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker6618" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mend"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + id="path6620" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="marker6500" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path6502" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path5747" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5744" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend-1" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + id="path4329-1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker6082" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mend" + inkscape:collect="always"> + <path + inkscape:connector-curvature="0" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:#4b4b4b;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + id="path6084" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.75" + inkscape:cx="169.7719" + inkscape:cy="-4.0565054" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="922" + inkscape:window-height="628" + inkscape:window-x="162" + inkscape:window-y="50" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + showborder="false" + inkscape:snap-global="false" + showguides="false"> + <inkscape:grid + type="xygrid" + id="grid3436" + originx="-14.085234" + originy="-95.286988" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-149.30952,-172.73378)"> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)" + d="m 176.36712,256.16235 200.00001,-0.57143" + id="path5510" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.00000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-119.27526" + y="434.37329" + id="text6058" + sodipodi:linespacing="125%" + transform="matrix(0.32454206,-0.94587127,0.94587127,0.32454206,0,0)" + inkscape:transform-center-x="-3.9400734" + inkscape:transform-center-y="14.789029"><tspan + sodipodi:role="line" + id="tspan10365" + x="-119.27526" + y="434.37329">virtual tower</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.00000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="148.36713" + y="269.87662" + id="text6062" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6064" + x="148.36713" + y="269.87662">line of movement</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.00000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="237.50998" + y="251.01949" + id="text6066" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan6068" + x="237.50998" + y="251.01949">move</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:7.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 354.70239,255.76769 28.12779,-77.32895" + id="path10351" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 220.36713,255.01949 380.93855,178.44807" + id="path10373" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.00000095px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="200.36713" + y="187.59093" + id="text10375" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan10377" + x="200.36713" + y="187.59093">virtual arm</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6082)" + d="m 261.76375,182.85539 c 22.73118,-0.70136 26.45506,3.7437 40.00001,18.28573" + id="path6074" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend-1)" + d="m 219.61431,255.37268 70.93001,0.37408" + id="path3514-5" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + </g> +</svg> diff --git a/docs/img/xy+z-tower.svg.png b/docs/img/xy+z-tower.svg.png Binary files differnew file mode 100644 index 00000000..96c54808 --- /dev/null +++ b/docs/img/xy+z-tower.svg.png diff --git a/docs/img/zigzag.svg b/docs/img/zigzag.svg new file mode 100644 index 00000000..01eca11b --- /dev/null +++ b/docs/img/zigzag.svg @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="97.22496mm" + height="32.550285mm" + viewBox="0 0 344.49789 115.33566" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="zigzag.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.75" + inkscape:cx="167.32577" + inkscape:cy="45.708959" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="840" + inkscape:window-height="628" + inkscape:window-x="160" + inkscape:window-y="35" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + showborder="false" + inkscape:snap-global="false" + showguides="false"> + <inkscape:grid + type="xygrid" + id="grid3436" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-135.22429,-249.96955)"> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 1.06383,102.12765 327.12765,-0.53192 -7.97871,5.85107" + id="path3347" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:100%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="434.04257" + y="365.1282" + id="text3349" + sodipodi:linespacing="100%"><tspan + sodipodi:role="line" + id="tspan3351" + x="434.04257" + y="365.1282">time</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-313.86618" + y="140.27856" + id="text3353" + sodipodi:linespacing="125%" + transform="matrix(-0.01601372,-0.99987177,0.99987177,-0.01601372,0,0)"><tspan + sodipodi:role="line" + id="tspan3355" + x="-313.86618" + y="140.27856">velocity</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 150,250.23455 -5.31915,8.51063" + id="path3359" + inkscape:connector-curvature="0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 165.50998,351.59092 24.57143,-73.14286 23.42857,73.14286" + id="path3362" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 214.08032,352.31321 24.57144,-73.14287 13.14286,43.42858" + id="path3362-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.09757805px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 252.42963,323.78006 17.64919,-60.34771 14.22362,59.20485" + id="path3362-6" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 284.36604,322.59892 14.85715,-44.00001 3.71429,0 16.85715,73.14287" + id="path3362-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + </g> +</svg> diff --git a/docs/img/zigzag.svg.png b/docs/img/zigzag.svg.png Binary files differnew file mode 100644 index 00000000..90118d03 --- /dev/null +++ b/docs/img/zigzag.svg.png |