% if FORMAT == 'sphinx':
# Sphinx can only have title with less than 63 chars...
TITLE: Pysketcher: Create Principal Sketches of Physics Problems
% else:
TITLE: Using Pysketcher to Create Principal Sketches of Physics Problems
% endif
AUTHOR: Hans Petter Langtangen at Center for Biomedical Computing, Simula Research Laboratory & Department of Informatics, University of Oslo
DATE: today

<%
#src_path_tut = 'http://hplgit.github.com/pysketcher/doc/src/tut'
src_path_tut = 'http://tinyurl.com/oou9lp7'
#src_path_pysketcher = 'https://github.com/hplgit/pysketcher/tree/master/doc/src/tut/src-tut'
src_path_pysketcher = 'http://tinyurl.com/ot733jn'
%>

!bbox
This document is derived from Chapter 9 in the book
"A Primer on Scientific Programming with Python": "http://www.amazon.com/Scientific-Programming-Computational-Science-Engineering/dp/3642549586/ref=sr_1_2?s=books&ie=UTF8&qid=1407225588&sr=1-2&keywords=langtangen", by H. P. Langtangen,
4th edition, Springer, 2014.
!ebox

__Abstract.__
Pysketcher is a Python package which allows principal sketches of
physics and mechanics problems to be realized through short programs
instead of interactive (and potentially tedious and inaccurate)
drawing.  Elements of the sketch, such as lines, circles, angles,
forces, coordinate systems, etc., are realized as objects and
collected in hierarchical structures. Parts of the hierarchical
structures can easily change line styles and colors, or be copied,
scaled, translated, and rotated. These features make it
straightforward to move parts of the sketch to create animation,
usually in accordance with the physics of the underlying problem.
Exact dimensioning of the elements in the sketch is trivial to obtain
since distances are specified in computer code.

Pysketcher is easy to learn from a number of examples. Beyond
essential Python programming and a knowledge about mechanics problems,
no further background is required.


# Task (can be questions): make sketches of physical problems, see fig
#   through user-friendly composition of basic shapes
# Desired knowledge: plotting curves, basic OO (ch. X.Y, ...)
# Required knowledge?
# Learning Goals: these targets the inner workings of pysketcher,
# which is just a part of this document...

!split
TOC: on

!split
# #include "basics.do.txt"

!split
# #include "examples.do.txt"

!split
# #include "classes.do.txt"

!split
# #include "implementation.do.txt"
