turtle
Turtle3D 3.0
Turtle3D project is a scheme implementation of the Turtle, in 3D. more>>
It is object oriented, so you can have many turtles in the drawing window.
A test program is included.
KLogo-Turtle 0.6
The KLogo-Turtle is an interpreter of the LOGO language for KDE desktops. more>>
The KLogo-Turtle is a useful tool for teaching geometry and the basic principles of the programming of computer. Children can study the mathematics of geometry in an interactive and constructive way.
KLogo-Turtle has syntax a little different than the LOGO language developed at MIT. Look at the documents link. Comments, doubts and suggestions, please use the e-mail link.
KLogo-Turtle supports commands in the languages english, portuguese, german, italian and french.
KLogo-Turtle is under the GPL license and is developed in KDevelop by Euclides Chuma.
Enhancements:
- Release version stable (0.6) with support for commands in english, portuguese, german, italian and french.
Gnome-Turtle 0.1.3
Gnome-Turtle is a turtle and lsys drawing program for GNOME. more>>
Aims to provide an educational approach to programming with the help of the turtle language and experiments with fractals in a L-System notation.
Enhancements:
- The screen is now cleared when loading a new definition, menus are greyed accordingly to the state of the screen, new definition examples have been added, and the projects source code has been moved to Savannah.
Turtle Firewall 1.37
Turtle Firewall is a firewall configuration project based on Linux 2.4.x and iptables. more>>
Turtle Firewall project is based on Kernel 2.4.x and Iptables. Its way of working is easy to understand: you can define the different firewall elements (zones, hosts, networks) and then set the services you want to enable among the different elements or groups of elements.
You can do this simply editing a XML file or using the comfortable web interface Webmin.
Turtle Firewall is an Open Source project written using the perl language and realeased under GPL version 2.0 by Andrea Frigido (Frisoft).
Main features:
- ZONES, NETWORKS, HOSTS and GROUPS definitions.
- Filter rules definitions based on services.
- New services definitions.
- NAT
- Masquerading
Turtle Beach MultiSound Linux Drivers 0.9.0.0
The TB MultiSound Driver is a unified driver for the Turtle Beach Pinnacle, Fiji, Classic, Tahiti and Monterey soundcards. more>>
This is similar to 0.8.3.1 but only for Linux 2.4, and includes MIDI support. Testing has been limited, but Pinnacle external MIDI should work. Most of the caveats listed below for the 2.2 version also apply here. Please send any feedback you have regarding this version. If you have a PnP machine and are using non-PnP mode, please try using resource exclusion for your ISA card in your systems BIOS. Not doing so can result in machine lockups during kernel module insertion, and other bizarre behaviour.
Note that some apps write with small buffer sizes (i.e. mpg123), so see if you can increase the apps buffer size if you have audio problems. For mpg123, try using -b 1024 if you experience audio trouble.
The Wurld 3D Engine 0.4
The Wurld 3D Engine is yet another 3D gaming engine. more>>
TextTools 2.0.3
Texttools packages are an ncurses-based library for the Linux console written in Ada 95. more>>
It contains more than 600 procedures and functions to create windows, draw scroll bars, handle the mouse and keyboard events, play sounds, and much more.
It also provides a thick binding to Linux kernel calls. You can create a wide variety of application programs using Texttools alone.
More than 600 subroutines and a variety of window objects including scroll bars, selection lists and text edit boxes.
Texttools has event queues and supports mice just like X Windows but is much easier to program.
Main features:
- 600 Functions
- I/O Toolkit
- Event Handling
- Standard Dialogs
- Blind Mode for Passwords
- Data Entry Auto-advance
- Tool Tips
- Callback Hooks
- Text Styles
- Keyboard Macros
- Turtle Graphics
- Thick O/S Binding
- Sounds (with wavplay)
- Partial C++ Support
Controls:
- Static Line
- Edit Line
- Simple Button
- Check Box
- Radio Button
- Rectangle
- Lines
- Thermometer
- Scroll Bar
- Static Text Box
- Text Edit Box
- Check List
- Radio List
GD::Simple 2.35
GD::Simple module is a simplified interface to GD library. more>>
SYNOPSIS
use GD::Simple;
# create a new image
$img = GD::Simple->new(400,250);
# draw a red rectangle with blue borders
$img->bgcolor(red);
$img->fgcolor(blue);
$img->rectangle(10,10,50,50);
# draw an empty rectangle with green borders
$img->bgcolor(undef);
$img->fgcolor(green);
$img->rectangle(30,30,100,100);
# move to (80,80) and draw a green line to (100,190)
$img->moveTo(80,80);
$img->lineTo(100,190);
# draw a solid orange ellipse
$img->moveTo(110,100);
$img->bgcolor(orange);
$img->fgcolor(orange);
$img->ellipse(40,40);
# draw a black filled arc
$img->moveTo(150,150);
$img->fgcolor(black);
$img->arc(50,50,0,100,gdNoFill|gdEdged);
# draw a string at (10,180) using the default
# built-in font
$img->moveTo(10,180);
$img->string(This is very simple);
# draw a string at (280,210) using 20 point
# times italic, angled upward 90 degrees
$img->moveTo(280,210);
$img->font(Times:italic);
$img->fontsize(20);
$img->angle(-90);
$img->string(This is very fancy);
# some turtle graphics
$img->moveTo(300,100);
$img->penSize(3,3);
$img->angle(0);
$img->line(20); # 20 pixels going to the right
$img->turn(30); # set turning angle to 30 degrees
$img->line(20); # 20 pixel line
$img->line(20);
$img->line(20);
$img->turn(-90); # set turning angle to -90 degrees
$img->line(50); # 50 pixel line
# draw a cyan polygon edged in blue
my $poly = new GD::Polygon;
$poly->addPt(150,100);
$poly->addPt(199,199);
$poly->addPt(100,199);
$img->bgcolor(cyan);
$img->fgcolor(blue);
$img->penSize(1,1);
$img->polygon($poly);
# convert into png data
print $img->png;
GD::Simple is a subclass of the GD library that shortens many of the long GD method calls by storing information about the pen color, size and position in the GD object itself. It also adds a small number of "turtle graphics" style calls for those who prefer to work in polar coordinates. In addition, the library allows you to use symbolic names for colors, such as "chartreuse", and will manage the colors for you.
The Pen
GD::Simple maintains a "pen" whose settings are used for line- and shape-drawing operations. The pen has the following properties:
fgcolor
The pen foreground color is the color of lines and the borders of filled and unfilled shapes.
bgcolor
The pen background color is the color of the contents of filled shapes.
pensize
The pen size is the width of the pen. Larger sizes draw thicker lines.
position
The pen position is its current position on the canvas in (X,Y) coordinates.
angle
When drawing in turtle mode, the pen angle determines the current direction of lines of relative length.
turn
When drawing in turtle mode, the turn determines the clockwise or counterclockwise angle that the pen will turn before drawing the next line.
font
The font to use when drawing text. Both built-in bitmapped fonts and TrueType fonts are supported.
fontsize
The size of the font to use when drawing with TrueType fonts.
One sets the position and properties of the pen and then draws. As the drawing progresses, the position of the pen is updated.
Methods
GD::Simple introduces a number of new methods, a few of which have the same name as GD::Image methods, and hence change their behavior. In addition to these new methods, GD::Simple objects support all of the GD::Image methods. If you make a method call that isnt directly supported by GD::Simple, it refers the request to the underlying GD::Image object. Hence one can load a JPEG image into GD::Simple and declare it to be TrueColor by using this call, which is effectively inherited from GD::Image:
my $img = GD::Simple->newFromJpeg(./myimage.jpg,1);
The rest of this section describes GD::Simple-specific methods.
$img->moveTo($x,$y)
This call changes the position of the pen without drawing. It moves the pen to position ($x,$y) on the drawing canvas.
$img->move($dx,$dy)
$img->move($dr)
This call changes the position of the pen without drawing. When called with two arguments it moves the pen $dx pixels to the right and $dy pixels downward. When called with one argument it moves the pen $dr pixels along the vector described by the current pen angle.
$img->lineTo($x,$y)
The lineTo() call simultaneously draws and moves the pen. It draws a line from the current pen position to the position defined by ($x,$y) using the current pen size and color. After drawing, the position of the pen is updated to the new position.
$img->line($dx,$dy)
$img->line($dr)
The line() call simultaneously draws and moves the pen. When called with two arguments it draws a line from the current position of the pen to the position $dx pixels to the right and $dy pixels down. When called with one argument, it draws a line $dr pixels long along the angle defined by the current pen angle.
$img->clear
This method clears the canvas by painting over it with the current background color.
$img->rectangle($x1,$y1,$x2,$y2)
This method draws the rectangle defined by corners ($x1,$y1), ($x2,$y2). The rectangles edges are drawn in the foreground color and its contents are filled with the background color. To draw a solid rectangle set bgcolor equal to fgcolor. To draw an unfilled rectangle (transparent inside), set bgcolor to undef.
$img->ellipse($width,$height)
This method draws the ellipse centered at the current location with width $width and height $height. The ellipses border is drawn in the foreground color and its contents are filled with the background color. To draw a solid ellipse set bgcolor equal to fgcolor. To draw an unfilled ellipse (transparent inside), set bgcolor to undef.
$img->arc($cx,$cy,$width,$height,$start,$end [,$style])
This method draws filled and unfilled arcs. See GD for a description of the arguments. To draw a solid arc (such as a pie wedge) set bgcolor equal to fgcolor. To draw an unfilled arc, set bgcolor to undef.
$img->polygon($poly)
This method draws filled and unfilled polygon using the current settings of fgcolor for the polygon border and bgcolor for the polygon fill color. See GD for a description of creating polygons. To draw a solid polygon set bgcolor equal to fgcolor. To draw an unfilled polygon, set bgcolor to undef.
$img->polyline($poly)
This method draws polygons without closing the first and last vertices (similar to GD::Image->unclosedPolygon()). It uses the fgcolor to draw the line.
$img->string($string)
This method draws the indicated string starting at the current position of the pen. The pen is moved to the end of the drawn string. Depending on the font selected with the font() method, this will use either a bitmapped GD font or a TrueType font. The angle of the pen will be consulted when drawing the text. For TrueType fonts, any angle is accepted. For GD bitmapped fonts, the angle can be either 0 (draw horizontal) or -90 (draw upwards).
For consistency between the TrueType and GD font behavior, the string is always drawn so that the current position of the pen corresponds to the bottom left of the first character of the text. This is different from the GD behavior, in which the first character of bitmapped fonts hangs down from the pen point.
This method returns a polygon indicating the bounding box of the rendered text. If an error occurred (such as invalid font specification) it returns undef and an error message in $@.
$metrics = $img->fontMetrics
($metrics,$width,$height) = GD::Simple->fontMetrics($font,$fontsize,$string)
This method returns information about the current font, most commonly a TrueType font. It can be invoked as an instance method (on a previously-created GD::Simple object) or as a class method (on the GD::Simple class).
When called as an instance method, fontMetrics() takes no arguments and returns a single hash reference containing the metrics that describe the currently selected font and size. The hash reference contains the following information:
xheight the base height of the font from the bottom to the top of
a lowercase m
ascent the length of the upper stem of the lowercase d
descent the length of the lower step of the lowercase j
lineheight the distance from the bottom of the j to the top of
the d
leading the distance between two adjacent lines
($delta_x,$delta_y)= $img->stringBounds($string)
This method indicates the X and Y offsets (which may be negative) that will occur when the given string is drawn using the current font, fontsize and angle. When the string is drawn horizontally, it gives the width and height of the strings bounding box.
$delta_x = $img->stringWidth($string)
This method indicates the width of the string given the current font, fontsize and angle. It is the same as ($img->stringBounds($string))[0]
($x,$y) = $img->curPos
Return the current position of the pen. Set the current position using moveTo().
$font = $img->font([$newfont] [,$newsize])
Get or set the current font. Fonts can be GD::Font objects, TrueType font file paths, or fontconfig font patterns like "Times:italic" (see fontconfig). The latter feature requires that you have the fontconfig library installed and are using libgd version 2.0.33 or higher.
As a shortcut, you may pass two arguments to set the font and the fontsize simultaneously. The fontsize is only valid when drawing with TrueType fonts.
$size = $img->fontsize([$newfontsize])
Get or set the current font size. This is only valid for TrueType fonts.
$size = $img->penSize([$newpensize])
Get or set the current pen width for use during line drawing operations.
$angle = $img->angle([$newangle])
Set the current angle for use when calling line() or move() with a single argument.
Here is an example of using turn() and angle() together to draw an octagon. The first line drawn is the downward-slanting top right edge. The last line drawn is the horizontal top of the octagon.
$img->moveTo(200,50);
$img->angle(0);
$img->turn(360/8);
for (1..8) { $img->line(50) }
$angle = $img->turn([$newangle])
Get or set the current angle to turn prior to drawing lines. This value is only used when calling line() or move() with a single argument. The turning angle will be applied to each call to line() or move() just before the actual drawing occurs.
Angles are in degrees. Positive values turn the angle clockwise.
$color = $img->fgcolor([$newcolor])
Get or set the pens foreground color. The current pen color can be set by (1) using an (r,g,b) triple; (2) using a previously-allocated color from the GD palette; or (3) by using a symbolic color name such as "chartreuse." The list of color names can be obtained using color_names().
$color = $img->bgcolor([$newcolor])
Get or set the pens background color. The current pen color can be set by (1) using an (r,g,b) triple; (2) using a previously-allocated color from the GD palette; or (3) by using a symbolic color name such as "chartreuse." The list of color names can be obtained using color_names().
$index = $img->translate_color(@args)
Translates a color into a GD palette or TrueColor index. You may pass either an (r,g,b) triple or a symbolic color name. If you pass a previously-allocated index, the method will return it unchanged.
$index = $img->alphaColor(@args,$alpha)
Creates an alpha color. You may pass either an (r,g,b) triple or a symbolic color name, followed by an integer indicating its opacity. The opacity value ranges from 0 (fully opaque) to 127 (fully transparent).
@names = GD::Simple->color_names
$translate_table = GD::Simple->color_names
Called in a list context, color_names() returns the list of symbolic color names recognized by this module. Called in a scalar context, the method returns a hash reference in which the keys are the color names and the values are array references containing [r,g,b] triples.
$gd = $img->gd
Return the internal GD::Image object. Usually you will not need to call this since all GD methods are automatically referred to this object.
($red,$green,$blue) = GD::Simple->HSVtoRGB($hue,$saturation,$value)
Convert a Hue/Saturation/Value (HSV) color into an RGB triple. The hue, saturation and value are integers from 0 to 255.
($hue,$saturation,$value) = GD::Simple->RGBtoHSV($hue,$saturation,$value)
Convert a Red/Green/Blue (RGB) value into a Hue/Saturation/Value (HSV) triple. The hue, saturation and value are integers from 0 to 255.
COLORS
This script will create an image showing all the symbolic colors.
#!/usr/bin/perl
use strict;
use GD::Simple;
my @color_names = GD::Simple->color_names;
my $cols = int(sqrt(@color_names));
my $rows = int(@color_names/$cols)+1;
my $cell_width = 100;
my $cell_height = 50;
my $legend_height = 16;
my $width = $cols * $cell_width;
my $height = $rows * $cell_height;
my $img = GD::Simple->new($width,$height);
$img->font(gdSmallFont);
for (my $c=0; $cfgcolor($color);
$img->rectangle(@topleft,@botright);
$img->moveTo($topleft[0]+2,$botright[1]+$legend_height-2);
$img->fgcolor(black);
$img->string($color);
}
}
print $img->png;
PythonCard 0.8.2
PythonCard is a GUI construction kit for building cross-platform desktop applications on Windows, Mac OS X, and Linux. more>>
The PythonCard motto is "Simple things should be simple and complex things should be possible."
PythonCard is for you if you want to develop graphical applications quickly and easily with a minimum of effort and coding. Apples HyperCard is one of our inspirations; simple, yet powerful.
PythonCard works on wxPython. If you are already familiar with wxPython, just think of PythonCard as a simpler way of doing wxPython programs with a whole lot of samples and tools already in place for you to copy and subclass and tools to help you build cross-platform applications.
PythonCard is an open source project and is being developed under the terms of a BSD-style license. This basically means you are free to download and use the executables, source code, web pages or any other item produced by the project and use it as you wish, as long as you acknowledge the source of that item and replicate the license associated with it.
Enhancements:
- added minimized and maximized attributes to Background class
- created documentation.py module to hold code previously in widgets.py
- for automatically generating component and background docs
- added getTextExtent and getFullTextExtent methods to BitmapCanvas
- revised internationalResourceName to support platform-specific resources
- added UK US to conversions.py and simplified SOAP.py module check
- updated turtle.py and bitmapcanvas.py component to force update on Mac
- renamed samples.py to samples.pyw
- added work-in-progress version of multiresourceEditor (tools/resourceEditor/multiresourceEditor)
- renamed to layoutEditor
- support customizable window styles in backgroundInfo of resourceEditor
- added convenience wrappers for pop-up menus, multiple check-box dialogs,
- multiple button dialogs (helpful.py and samples/helpfulWrappers)
- added sample for sudoku solver/helper (samples/sudoku)
- replaced StringType with StringTypes to handle Unicode better
- Major update standaloneBuilder, including support for py2exe
- allow for Python2.4 or Python 2.5 on Mac
Raptor RDF Parser Toolkit 1.4.19
Open Source C library that provides a set of parsers and serializers for generating Resource Description Framework (RDF) triples more>>
Raptor RDF Parser Toolkit 1.4.19 is a very serviceable software / Open Source C library that provides a set of parsers and serializers generating Resource Description Framework (RDF) triples by parsing syntaxes or serialize the triples into a syntax.
The supported parsing syntaxes are RDF/XML, N-Triples, TRiG, Turtle, RSS tag soup including all versions of RSS, Atom 1.0 and 0.3, GRDDL and microformats for HTML, XHTML and XML and RDFa. The serializing syntaxes are RDF/XML (regular, and abbreviated), Atom 1.0, GraphViz, JSON, N-Triples, RSS 1.0 and XMP.
Raptor was designed to work closely with the Redland RDF library (RDF Parser Toolkit for Redland) but is entirely separate. It is a portable library that works across many POSIX systems (Unix, GNU/Linux, BSDs, OSX, cygwin, win32). Raptor has no memory leaks and is fast.
Major Features:
- Designed to integrate well with Redland
- Parses content on the web if libcurl, libxml2 or BSD libfetch is available.
- Supports all RDF terms including datatyped and XML literals
- Optional features including parsers and serialisers can be selected at configure time.
- Language bindings to Perl, PHP, Python and Ruby when used via Redland
- No memory leaks
- Fast
- Standalone rapper RDF parser utility program
Enhancements:
- Many improvements to RSS tag soup (RSSes and Atom) parser and the RSS 1.0 and Atom serializers
- Several fixes and improvements to the N-Triples, RDFa and RDF/XML parsers and Turtle serializer
- Improved the use and configuration of static libxml functions for better compatibility
- Several Win32 portability fixes - Lou Sakey
- Many internal changes for upcoming Raptor V2 - primarily by Lauri Aalto
- Many other fixes and resilience improvements.
- Fixed:
-
- Fix NFC check for legal combiner sequence
- Error when raptor_new_uri() fails in Turtle parser
- Invalid turtle output syntax on empty integer/double/decimal literals
- Default/atom namespace in atom serializer output
- strstr is called in raptor_parse_chunk() on a buffer string, where it should be called on a null-terminating string.
- RSS serializer fixes for g++
- Fix raptor_sequence_set_at() when setting beyond end
- broken collection abbreviation in turtle serialization
- Fix raptor_sax2_parse_chunk() calling raptor_log_error_to_handlers() with expat raptor_get_feature function does not return feature value
- Fix RDFa parser problem when there is a subject and predicate specified on an element, but no child nodes for the object literal
- Fix performance problems when turtle parsing with lots of namespaces
- Fix RDF/XML Parser problem with legacy ordinal predicates
- Avoid calling xsltSetDefaultSecurityPrefs()
- Fix NFC check for legal combiner sequence
Language::Logo 1.000
Language::Logo Perl module is an implementation of the Logo programming language. more>>
SYNOPSIS
use Language::Logo;
my $lo = new Logo(update => 20);
$lo->command("setxy 250 256");
$lo->command("color yellow");
$lo->command("pendown");
# Draw a circle
for (my $i = 0; $i < 360; $i += 10) {
$lo->command("forward 10; right 10");
}
$lo->disconnect("Finished...")
This module provides an implementation of the Logo programming language, with all of the necessary drawing primitives in a Tk Canvas. The Canvas object is also referred to as the "screen".
The first construction of a Language::Logo object causes a server to be created in a separate process; this server then creates a Tk GUI with a Tk::Canvas for use by the clients "turtle", and responds to all requests from the clients commands. In this way, multiple clients may be constructed simultaneously -- each one with its own "turtle".
In this first release, not all of the Logo language is implemented. Rather, the primary commands available are those which directly affect the turtle, and are related to drawing on the screen. The intent is to use the Logo in conjunction with Perl as a sort of "hybrid" language; Perl us used as the higher-level language layer through which all loop constructs, conditionals, and data-manipulation is done. This allows for a substantial level of programming power.
Redland RDF library 1.0.6
Redland RDF library is an RDF (Resource Description Framework) library. more>>
Main features:
- Modular, object based libraries written in C.
- APIs for manipulating the RDF graph, triples, URIs and Literals.
- Triple sequences for efficient streaming.
- Parsers and Serializers for reading and writing RDF as RDF/XML, N-Triples and Turtle Terse RDF Triple Language syntaxes via the Raptor RDF Parser Toolkit.
- Storage for graphs in memory, with Sleepycat/Berkeley DB, MySQL 3/4, AKT Triplestore, SQLite, files or URIs.
- Querying with RDQL and SPARQL using the Rasqal RDF Query Library.
- Redland contexts for managing data aggregation and recording provenance.
- Language Bindings in C#, Java, Obj-C, Perl, PHP, Python, Ruby and Tcl via the Redland Bindings package.
- Command line utility programs rdfproc (RDF), rapper (parsing) and roqet (query).
- Portable, fast and with no known memory leaks.
Enhancements:
- The code was updated to use Rasqal RDF query library 0.9.14 and Raptor RDF parser/serializer library 1.4.15.
- A new transaction API was added, implemented with MySQL for consistent changes to the graph.
- A new query results formatter class was added.
- Many other bugs were fixed.
LXlogo 1.0
LXlogo project is an interactive LOGO programming environment for K-12 educational use or just for fun. more>>
It is easy to install with minimal system requirements, and is a modern variant of the familiar "turtle" LOGO language.
Logo is interesting because it gives students immediate graphical results with just a few commands or lines of code, and allows students to gradually become familiar with geometric concepts, and how to write programs and think procedurally.
As students move beyond the beginning stages, they can move on to create fun animations and user interfaces.
Main features:
- LXlogo works on just about any linux or unix platform that has X windows
- Easy to install... no library dependencies other than X11/xlib
- Download for free ... precompiled x86 binaries or build from source code (gcc required)
- Interactive turtle moving / drawing for beginners to get their toes wet
- Animation support
- GUI graphical user interface can be added to user programs
- Graphics can be printed (color PostScript)
- Graphics can be saved as GIF or SVG files for posting on web sites and other electronic uses
- Interactive development environment (using xedit)
- Engine mode (-f) for users who prefer their own text editor for developing code
WWW L-System Explorer 1.0.2
WWW L-System Explorer is fancy tool for exploring L-S based fractals in your browser while computing takes place on a Web server more>>
A rich command set is provided, along with several examples.
Main features:
- rich command set
- user-friendly interface using JavaScript
- PNG output
- 8 examples
- can be included in your pages using < IMG SRC="" > tag
- English and Czech help pages
- easy installation
- source code included
- universal class for turtle graphics
XLogo 0.9.25
XLogo is an interpreter for the Logo programming language. more>>
XLogo is a Logo interpreter written in Java. This program is therefore free as in freedom and free as in beer.
Logo is a language developed in the 70s by Seymour Papert. It is an excellent language to begin learning programming with, and teaches the basics of things like loops, tests, procedures, etc.
The user is able to move an object called a "turtle" around the screen using commands as simple as forward, back, right, and so on. At each move, the turtle leaves a trail behind it, and it is therefore possible to create drawings. Operations on lists and words are also possible.
For example, forward 100 right 90 will make the turtle move 100 steps forward, and then turn the turtle 90° to the right.
This graphical approach makes Logo an ideal language for beginners, and especially easy for children!
Enhancements:
- Several bugs were fixed.
- Page: 1 of 2
- 1
- 2