Main > Free Download Search >

Free polygon software for linux

polygon

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 66
Wx::Polygon 0.06

Wx::Polygon 0.06


Wx::Polygon can draw and manipulate polygons for wxPerl. more>>
Wx::Polygon can draw and manipulate polygons for wxPerl.

ABSTRACT

This module provides functions for manipulating polygons in wxPerl.

new( POLYGON = (Wx::Point,...) | ELLIPSE => (x_offset,y_offset,width,heigth) ) --> Wx::Polygon>

Instantiates a new Wx::Polygon with an array of Wx::Points for a given POLYGON or an ellipse with given parameters.
add_point(x,y,recalc=1) --> void

Adds a point to the polygon. If scale and rotation have been used, rescales and rerotates the polygon after adding the point. If recalc is set to 0, this will not be done, which is better when a lot of points need added.

recalc() --> void

Rescales and rerotates the polygon. This method should be used when a lot of points need to be added. Recalculation can than be done after adding the points.

set_color(r,g,b) --> void

Sets the fill color to wxSOLID with the given r, g and b values.

mid() --> (midx:integer,midy:integer)

Calculates the middle of the polygon (not point z) and returns a list with x and y position.

in(x,y) --> boolean

Calculates if (x,y) falls within the edges of the polygon. Returns true if so. Uses algorithm of Randolph Franklin, http://astronomy.swin.edu.au/~pbourke/geometry/insidepoly.

draw( dc:Wx::DC ) --> void

Draws the polygon at given offsets and with given colour(s) to the current DC.

copy() --> Wx::Polygon

Returns a copy of the object.

scale(scale-factor) --> void

Scales the polygon with scale-factor.

rotate(degrees) --> void

Rotates the polygon by degrees degrees (0-360).

offset(x,y) --> void

Sets the offset for drawing. This can be used to transpose the polygon.

<<less
Download (0.006MB)
Added: 2007-08-18 License: Perl Artistic License Price:
799 downloads
Polygon Puzzle 1.7

Polygon Puzzle 1.7


Polygon Puzzle is a tessellation puzzle inspired by Beat The Computer. more>>
Polygon Puzzle project is a tessellation puzzle inspired by Beat The Computer. Pieces of connecting regular polygons are arranged to fit into predefined trays.
The mathematical names of the shapes are polyhexes, polyominoes, and polyiamonds.
Enhancements:
- Two new puzzle trays with more sophisticated color schemes were added.
- Minor changes were made to error handling along with a small bugfix and support for the wheel mouse under Windows XP.
<<less
Download (0.018MB)
Added: 2006-12-12 License: GPL (GNU General Public License) Price:
1048 downloads
XPilotNG 4.7.2

XPilotNG 4.7.2


XPilotNG is the mother of all 2D team based space games. more>>
XPilotNG is the mother of all 2D team based space games.
XPilot NG is a multiplayer spacewar game based on the mother of all computer games: XPilot - one of the highest rated games on the linux game tome.
Xpilot is a 2D game which can be played in many modes, each man for himself, team games with carry the flag mode, a racing mode, or all out warfare with complex items such as nukes, ecm, heat seeking and smart missiles, armor, tractor beams, afterburners, warping and many more. Items are collected as powerups. Mouse or keyboard can be used to control the ship. most popular currently is team based games which involved alot of quick thinking and strategy.
XPilot NG improves XPilot in several areas. The most important improvement is the support for a new polygon based map format. The new map format allows the use of arbitrary polygons to define walls and other map constructs. Old block style maps are also supported: the server converts them to polygons automatically to take advantage of the improved wall collision detection code. Legacy XPilot clients are also supported even on new polygon maps. The server can approximate wall polygons using blocks although the approximation is not always very accurate (for obvious reasons).
XPilot NG improves the XPilot code base by removing lots of old hacks and generally cleaning up things to make further improvements easier. This clean up has made it possible for the XPilot NG development team to create a new SDL/OpenGL based client that shares much of the code and functionality of the original X client. The SDL/OpenGL client is quite usable and is tested to work on Linux, Windows and MacOS X platforms. Also, last but not least, it looks quite pretty.
Enhancements:
- SDL client: Fixed some memory leaks, e.g. one for HUD messages.
- SDL client: Texture bug fixes, should fix the bug in 4.7.1 where the ship is painted as a white box on some machines.
- Server: Put back the old behaviour that dropped mines are immune to gravity. Explanation is that they are "anchored" to the map the same way as the walls are.
- Server: New option ballCollisionDetaches (default false): Does a ball get freed by a collision with a player?
- Replays: A fix so that big old recordings dont slow down to a crawl.
- Replays: Possibility to jump forward in a recording by pressing number keys: the number pressed tells how many minutes to forward.
- Several other improvements
<<less
Download (2.7MB)
Added: 2006-02-27 License: GPL (GNU General Public License) Price:
1335 downloads
PolyPuzzle 1.6.2

PolyPuzzle 1.6.2


PolyPuzzle project is a cute game, based on the original puzzle #0. more>>
PolyPuzzle project is a cute game, based on the original puzzle #0.

Poly Puzzle is my first original program to make use of Tks canvas widget. It was inspired by a plastic puzzle named Beat The Computer which came in an array of
sizes and loud colours.

It now has trays with polygons based on hexagons, squares and equilateral triangles. The new round tray is based on smooth triangles, and isnt quite as cute as
the original puzzle #0.

I had planned to incorporate a computer solution feature. This would be handy for the actual plastic game - which you have to put away at the end of the day - but
on the computer there are no little pieces to lose under the carpet ;>. More to the point - it would require quite a bit of programming / math!

<<less
Download (MB)
Added: 2006-11-22 License: GPL (GNU General Public License) Price:
1067 downloads
PloneWorldKit 0.1

PloneWorldKit 0.1


PloneWorldKit project is an out-of-the-box GIS for the Web. more>>
PloneWorldKit project is an out-of-the-box GIS for the Web.
PloneWorldKit is a mapping solution for ZOPE Plone.
It is built around the worldkit engine and makes annotating fairly easy.
worldKit is an easy to use and flexible mapping application for the Web (a lightweight GIS). Its a SWF-based app, configured by XML, and with data fed by RSS.
Main features:
- Ubiquitous use in the Flash Player and with RSS feeds.
- Highly configurable look and feel. Can use images for marking annotations.
- Integrates with weblogging tools, and any software producing RSS.
- Annotations updated in the background, live.
- Displays photos within the map.
- Zoom & Pan. Integrates with Zoomify for high resolution images.
- Accepts input for Collaborative Cartography.
- Annotations are categorizable. Javascript interface for GIS layer functionality.
- Connects annotations for GPS track routes.
- ntegration of worldKit as a content type (Map)
- Complete TTW (Through The Web) configuration of worldKit attributes
- ZCatalog based XML and RSS generation (config.xml, rss.xml)
- 3 annotation content types (Node, Line, Polygon)
- Base classes for content type developers
- Categorization of annotations TTW
- Time Navigation out of the box using "modified" index
<<less
Download (0.24MB)
Added: 2006-11-01 License: GPL (GNU General Public License) Price:
1088 downloads
KolourPaint 1.2.2

KolourPaint 1.2.2


KolourPaint is an easy-to-use paint program for KDE. more>>
KolourPaint is an easy-to-use paint program for KDE. Features include undo/redo, more than a dozen tools, selections, transparent image editing and zoom support (with an optional grid and thumbnail).
KolourPaint is a free, easy-to-use paint program for KDE.
It aims to be conceptually simple to understand; providing a level of functionality targeted towards the average user. KolourPaint is designed for daily tasks like:
- Painting - drawing diagrams and "finger painting"
- Image Manipulation - editing screenshots and photos; applying effects
- Icon Editing - drawing clipart and logos with transparency
Its not an unusable and monolithic program where simple tasks like drawing lines become near impossible. Nor is it so simple that it lacks essential features like Undo/Redo.
The main difference between KolourPaint and most other "simple" UNIX paint programs is that KolourPaint actually works. See the Product Comparison page for details.
KolourPaint is opensource software written in C++ using the Qt and KDE libraries.
Main features:
- Undo/Redo Support (10-500 levels of history depending on memory usage)
Tools (single key shortcuts available for all tools)
- Brush, Color Eraser, Color Picker, Connected Lines a.k.a. Polyline
- Curve, Ellipse, Eraser, Flood Fill, Line, Pen, Polygon, Rectangle
- Rounded Rectangle, Spraycan, Text
Selections (fully undo- and redo-able)
- Rectangular, Elliptical, Free-Form shapes
- Choice between Opaque and Transparent selections
- Full Clipboard/Edit Menu support
- Freehand resizeable
- Colour Similarity means that you can fill regions in dithered images and photos
Transparency
- Draw transparent icons and logos on a checkerboard background
- All tools can draw in the "Transparent Colour"
Image Effects
- Autocrop / Remove Internal Border
- Balance (Brightness, Contrast, Gamma)
- Clear, Emboss, Flatten, Flip, Invert (with choice of channels)
- Reduce Colours, Reduce to Greyscale, Resize, Rotate
- Scale, Set as Image (Crop), Skew, Smooth Scale, Soften & Sharpen
Close-up Editing
- Zoom (from 0.01x to 16x)
- Grid
- Thumbnail
File Operations
- Open/Save in all file formats provided by KImageIO (PNG, JPEG, BMP, ICO, PCX, TIFF,...) with preview
- Print, Print Preview
- Mail
- Set as Wallpaper
<<less
Download (1.0MB)
Added: 2005-05-30 License: GPL (GNU General Public License) Price:
1621 downloads
POV-Ray 3.6

POV-Ray 3.6


POV-Ray is a high-quality tool for creating 3D graphics. more>>
The Persistence of Vision Ray-Tracer creates three-dimensional, photo-realistic images using a rendering technique called ray-tracing. It reads in a text file containing information describing the objects and lighting in a scene and generates an image of that scene from the view point of a camera also described in the text file.
The Persistence of Vision Ray-Tracer(tm) was developed from DKBTrace 2.12 (written by David K. Buck and Aaron A. Collins) by a bunch of people (called the POV-Team?) in their spare time. The headquarters of the POV-Team is on the internet (see "Where to Find POV-Ray Files" for more details).
The POV-Ray package includes detailed instructions on using the ray-tracer and creating scenes. Many stunning scenes are included with POV-Ray so you can start creating images immediately when you get the package. These scenes can be modified so you do not have to start from scratch.
In addition to the pre-defined scenes, a large library of pre-defined shapes and materials is provided. You can include these shapes and materials in your own scenes by just including the library file name at the top of your scene file, and by using the shape or material name in your scene.
Ray-tracing is not a fast process by any means, but it produces very high quality images with realistic reflections, shading, perspective and other effects.
Ray-tracing is a rendering technique that calculates an image of a scene by simulating the way rays of light travel in the real world. However it does its job backwards. In the real world, rays of light are emitted from a light source and illuminate objects. The light reflects off of the objects or passes through transparent objects. This reflected light hits our eyes or perhaps a camera lens. Because the vast majority of rays never hit an observer, it would take forever to trace a scene.
Ray-tracing programs like POV-Ray start with their simulated camera and trace rays backwards out into the scene. The user specifies the location of the camera, light sources, and objects as well as the surface texture properties of objects, their interiors (if transparent) and any atmospheric media such as fog, haze, or fire.
For every pixel in the final image one or more viewing rays are shot from the camera, into the scene to see if it intersects with any of the objects in the scene. These "viewing rays" originate from the viewer, represented by the camera, and pass through the viewing window (representing the final image).
Every time an object is hit, the color of the surface at that point is calculated. For this purpose rays are sent backwards to each light source to determine the amount of light coming from the source. These "shadow rays" are tested to tell whether the surface point lies in shadow or not. If the surface is reflective or transparent new rays are set up and traced in order to determine the contribution of the reflected and refracted light to the final surface color.
Special features like inter-diffuse reflection (radiosity), atmospheric effects and area lights make it necessary to shoot a lot of additional rays into the scene for every pixel.
Main features:
- Easy to use scene description language.
- Large library of stunning example scene files.
- Standard include files that pre-define many shapes, colors and textures.
- Very high quality output image files (up to 48-bit color).
- 16 and 24 bit color display on many computer platforms using appropriate hardware.
- Create landscapes using smoothed height fields.
- Many camera types, including perspective, orthographic, fisheye, etc.
- Spotlights, cylindrical lights and area lights for sophisticated lighting.
- Photons for realistic, reflected and refracted, caustics. Photons also interact with media.
- Phong and specular highlighting for more realistic-looking surfaces.
- Inter-diffuse reflection (radiosity) for more realistic lighting.
- Atmospheric effects like atmosphere, ground-fog and rainbow.
- Particle media to model effects like clouds, dust, fire and steam.
- Several image file output formats including Targa, BMP (Windows only), PNG and PPM.
- Basic shape primitives such as ... spheres, boxes, quadrics, cylinders, cones, triangle and planes.
- Advanced shape primitives such as ... Tori (donuts), bezier patches, height fields (mountains), blobs, quartics, smooth triangles, text, superquadrics, surfaces of revolution, prisms, polygons, lathes, fractals, isosurfaces and the parametric object.
- Shapes can easily be combined to create new complex shapes using Constructive Solid Geometry (CSG). POV-Ray supports unions, merges, intersections and differences.
- Objects are assigned materials called textures (a texture describes the coloring and surface properties of a shape) and interior properties such as index of refraction and particle media (formerly known as "halos").
- Built-in color and normal patterns: Agate, Bozo, Bumps, Checker, Crackle, Dents, Granite, Gradient, Hexagon, Leopard, Mandel, Marble, Onion, Quilted, Ripples, Spotted, Spiral, Radial, Waves, Wood, Wrinkles and image file mapping. Or build your own pattern using functions.
- Users can create their own textures or use pre-defined textures such as ... Brass, Chrome, Copper, Gold, Silver, Stone, Wood.
- Combine textures using layering of semi-transparent textures or tiles of textures or material map files.
- Display preview of image while rendering (not available on all platforms).
- Halt and save a render part way through, and continue rendering the halted partial render later.
<<less
Download (8.8MB)
Added: 2005-05-04 License: GPL (GNU General Public License) Price:
4144 downloads
Geo::KML::PolyMap 1.32

Geo::KML::PolyMap 1.32


Geo::KML::PolyMap is a Perl module to generate KML/KMZ-format choropleth (shaded polygonal) maps viewable in Google Earth. more>>
Geo::KML::PolyMap is a Perl module to generate KML/KMZ-format choropleth (shaded polygonal) maps viewable in Google Earth.

SYNOPSIS

use Geo::KML::PolyMap qw(generate_kml_file generate_kmz_file);

# Clusters "Total Population" data for "Foobar City" in $entities into 5 bins;
# renders using colors from $startcolor to $endcolor;
# generates a legend; renders output to file handle passed in $kmz_filehandle
generate_kmz_file(entities => $entities,
placename => "Foobar City",
data_desc => "Total Population",
nbins => 5,
kmzfh => $filehandle_for_kmz_output,
startcolor => "FFFF0000",
endcolor => "FF00FF00");

# As above, but without a legend
generate_kml_file(entities => $entities,
placename => "Foobar City",
data_desc => "Total Population",
nbins => 5,
kmlfh => $filehandle_for_kml_output,
startcolor => "FFFF0000",
endcolor => "FF00FF00");

Geo::KML::PolyMap generates KML or KMZ-formatted maps for Google Earth. Given a set of polygonal regions and a number associated with each region (for example, city blocks and population counts on each block), Geo::KML::PolyMap generates a choropleth map showing the data value for each region as a shaded polygon. The polygons are divided into a number of bins, with the color of each bin unique. Optionally, Geo::KML::PolyMap will generate a legend along with the map file to illustrate the data ranges represented by each color.

<<less
Download (0.011MB)
Added: 2007-05-18 License: Perl Artistic License Price:
891 downloads
QwtPlot3D 0.2.6

QwtPlot3D 0.2.6


QwtPlot3D is a Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets for programmers. more>>
QwtPlot3D is a Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets for programmers.
Main features:
- Common code base for Qt3 and Qt4
- Specialized widgets for surfaces, graphs etc.
- Parametric Surfaces
- Lighting (experimental)
- User defined visual objects
- Scaling, rotating, shifting, zooming of data sets and mathematical functions ( see Data Input Topics )
- Interactive mouse and keyboard handling
- Resolution changing on the fly
- Reading from MESH data files :See the data directory and NativeReader documentation for this . You will find example datasets here
- Reading from FEM files
- Flat (2D) labeling
- Wireframe, filled polygons, hidden line
- Floor projections (Isolines, Data)
- Free configurable (labeling, numbering; linear, log or user-defined transformations) and autoscalable axes
- Free color model
- Flat/Gouraud shading
- Color legends
- Pixmap output (all Qt supported formats)
- Vector output (PostScript, EPS and PDF) via gl2ps
<<less
Download (0.14MB)
Added: 2006-01-19 License: zlib/libpng License Price:
1375 downloads
PDL::Graphics::PGPLOT::Window 2.3.2

PDL::Graphics::PGPLOT::Window 2.3.2


PDL::Graphics::PGPLOT::Window is a OO interface to PGPLOT windows. more>>
PDL::Graphics::PGPLOT::Window is a OO interface to PGPLOT windows.

SYNOPSIS

perldl> use PDL::Graphics::PGPLOT::Window
perldl> $win = PDL::Graphics::PGPLOT::Window->new(Device => /xs);
perldl> $a = pdl [1..100]
perldl> $b = sqrt($a)
perldl> $win->line($b)
perldl> $win->hold()
perldl> $c = sin($a/10)*2 + 4
perldl> $win->line($c)

In the following documentation the commands are not shown in their OO versions. This is for historical reasons and should not cause too much trouble.

This package offers a OO interface to the PGPLOT plotting package. This is intended to replace the traditional interface in PDL::Graphics::PGPLOT and contains interfaces to a large number of PGPLOT routines. Below the usage examples for each function tend to be given in the non-OO version for historical reasons. This will slowly be changed, but in the meantime refer to the section on OO-interface below to see how to convert the usage information below to OO usage (it is totally trivial).

PDL::Graphics::PGPLOT::Window is an interface to the PGPLOT graphical libraries.

The list of currently availably methods:

imag - Display an image (uses pgimag()/pggray() as appropriate)
ctab - Load an image colour table
ctab_info - Get information about currently loaded colour table
line - Plot vector as connected points
points - Plot vector as points
errb - Plot error bars
cont - Display image as contour map
bin - Plot vector as histogram (e.g. bin(hist($data)) )
hi2d - Plot image as 2d histogram (not very good IMHO...)
poly - Draw a polygon
vect - Display 2 images as a vector field
text - Write text in the plot area
label_axes - Print axis titles
legend - Create a legend with different texts, linestyles etc.
cursor - Interactively read cursor positions.
circle - Draw a circle
ellipse - Draw an ellipse.

Device manipulation commands:

new - Constructor for a new PGPLOT output device
close - Close a PGPLOT output device
focus - Set focus to the given device. This should normally be
done behind the scenes.
hold - Hold current plot window range - allows overlays etc.
release - Release back to autoscaling of new plot window for each
command
held - Returns true if the graphics is held on the current device.
env - Define a plot window, put on hold
panel - Move to a specified plot panel when several panels are defined.
erase - Erase the current window (or panel)

options - Get the options set for the present output device
id - The ID for the device
device - The device type
name - The window name

Notes: $transform for image/cont etc. is used in the same way as the TR() array in the underlying PGPLOT FORTRAN routine but is, fortunately, zero-offset. The transform() routine can be used to create this piddle.

For completeness: The transformation array connect the pixel index to a world coordinate such that:

X = tr[0] + tr[1]*i + tr[2]*j
Y = tr[3] + tr[4]*i + tr[5]*j

<<less
Download (1.1MB)
Added: 2007-07-06 License: Perl Artistic License Price:
842 downloads
flow 0.5.3

flow 0.5.3


particle animation software with with RenderMan output and shader support. more>> flow allows one to interactively construct sophisticated particle systems and render the results either in real-time via OpenGL or off-line by a RenderMan compliant renderer. f l o w can also render a particle system to code. Using a project template, f l o w fills in the required code to automatically produce demos or screensavers.
flow is not intended to be a typical modeling/animation package. Although it does have limited polygonal object import capability, its main purpose is to fiddle around with particle systems and shaders.
flow will be perpetually under development, so some functionality may be incomplete and there are many features that have not yet been implemented. However, it is reasonably stable and quite usable in its current form. I started flow somewhere around October 98, and worked on it solid for about a year. Development has been slower recently, but there are still a lot of things I want to add.
flow runs on Linux and IRIX. It should port easily to other UNIXes supported by Qt and BMRT.
features:
* real-time animation - OpenGL previews of the particle systems. Particles can be drawn as points, lines, or textured quads.
* off-line rendering - outputs RIB and calls an external RenderMan compliant renderer to handle the scene. Particles can be rendered as spheres, capped tubes, or camera-facing disks.
* scene building - simple scenes can be constructed with polygons, quadrics, planes and boxes. All surfaces can use surface and displacement shaders to add visual richness.
* shader editor - integrated shader tweaker allows full access to all surface and displacement shader parameters.
* code generation - render a particle animation to code. crank out cool screensavers with ease.
* multiple orthographic views - lights, particle actions, and geometry can be manipulated in orthographic viewports.
* interactive camera recording - intuitive mouse driven camera controls can be recorded during particle simulations
<<less
Download (912KB)
Added: 2009-04-29 License: Freeware Price:
254 downloads
Model3D::WavefrontObject 1.00

Model3D::WavefrontObject 1.00


Model3D::WavefrontObject is a Perl extension for reading, manipulating and writing polygonal Alias Wavefront 3D models. more>>
Model3D::WavefrontObject is a Perl extension for reading, manipulating and writing polygonal Alias Wavefront 3D models.

SYNOPSIS

use Model3D::WavefrontObject;
my $model = Model3D::WavefrontObject->new;
$model->ReadObj(blMilWom_v3.obj);
$model->Rotate(x => 45, y => 15);
$model->Scale(135%);
$model->WriteObj(V3_modified.obj);

Model3D::WavefrontObject allows a polygonal Alias Wavefront Object file to be loaded into memory, manipulated, analysed, and re-output.

At this time the model only supports the polygon functions of the Wavefront Object format, not bezier splines, procedural surfaces, and so on. It is currently coded only far enough to support the sorts of Wavefront Object meshes that are also supported by the Poser 3D animation program, and of the sort exported by 3DSMax by using the HABWare exporter.

It supports groups and materials, but not multi-grouped polygons (only the first group is recognised if a polygon is declared to be in multiple groups).

Polygons with greater numbers of vertices are supported, even though these are not supported by the Poser software.

The models will also recognise (and support) the Region extension to the format as defined by Steve Coxs UVMapper and UVMapper Pro program. As a result, it may well be the only piece of code that writes Wavefront Objects without leaving these out.

<<less
Download (0.020MB)
Added: 2006-10-23 License: Perl Artistic License Price:
1096 downloads
Wykobi 0.0.2

Wykobi 0.0.2


Wykobi is an efficient, robust, and simple to use multi-platform 2D/3D computational geometry library. more>>
Wykobi project is an efficient, robust, and simple to use multi-platform 2D/3D computational geometry library.
Wykobi provides a concise, predictable, and deterministic interface for geometric primitives and complex geometric routines using and conforming to the ISO/IEC 14882:2003 C++ language specification.
The design and structure of Wykobi lends itself to easy and seamless integration into projects of any scale that require a robust yet efficient 2D/3D computational geometry back-end.
Enhancements:
- Various algorithms were added, including 2D only Convex Hull algorithms (Graham scan, Jarvis march, and Melkman), Minimum Bounding Ball algorithms (Naive method (2D), Randomized (2D), and Ritter (2D and 3D)), Sutherland Hodgman polygon clipper, isotropic point normalizations (2D and 3D), covariance matrix calculation for point clouds (2D and 3D), ordered polygon from complex self-intersecting polygons (2D). naive group based pairwise intersections, axis projection polygon descriptor, a duplicate removal algorithm, and matrix calculations (2x2, 3x3, and 4x4).
<<less
Download (0.075MB)
Added: 2006-09-20 License: GPL (GNU General Public License) Price:
1129 downloads
libbgrab 2.1

libbgrab 2.1


libbgrab is a framegrabber library for Linux using the v4l driver and bt/conexant analog SD video input cards. more>>
libbgrab is a framegrabber library for Linux using the v4l driver and bt/conexant analog SD video input cards.

To implement constant throughput and to avoid frame loss delays, triple buffering is used through local buffer copying in a separate grabbing thread.

The library consists of two parts that are usually used together:

1. framegrabber access (bgrab.c/bgrab.h)
2. xwindows output (xutils.c/xutils.h)

Additional routines allow for image processing:

3. Motion JPG compression (RTjpeg.c, RTjpeg.h, mmx.h)
4. MMX optimized image filters (asm/*)

Examples and Demo Programs:

Note: All demo programs are hardcoded for Tuner/NTSC input. You have to modify the code and recompile for other inputs!

+++ testgrab

See demo program "testgrab" for a quick intro on how to use libbgrab. See
source code comments for additional usage notes. The source code will
probably have to be edited to adapt for your video input - it is just a
demoprogram! Use Q to quit with the live-video window active. Use F and D
to change channels.

+++ glgrab (GLX only)

A very similar program uses OpenGL as output driver and maps the live
image as a texture on a polygon - try "glgrab" for nicely scaled,
full-screen output ... not always at full frame rates ;-). Works fine with
my Matrox G400 and Geforce2MX cards and the GLX drivers.

+++ asciigrab

Also included is a demo "asciigrab" that converts video in realtime into
ASCII CHARACTERS - just start it in a large enough terminal ... .
See source code for additional usage notes. This program has actually been
exhibited in the "net_condition" art exhibition at the ZKM, Karlsruhe,
Germany on a big projection screen http://www.zkm.de).

+++ delaygrab

A nice example of using MUCH memory, try "delaygrab" in which a few
seconds of video is beeing stored and shown according to a delay-map. If it
runs, try pressing the keys 1, 2 and 3 to switch effects. This effect will
be used in upcoming exhibitions at the ZKM, Karlsruhe, Germany with
temperature sensors. A similar program with a network interface was
developed for the world exhibition Expo2000, Hannover 2000 and can be found
in the "expograb" directory.

+++ zoomgrab (3Dfx Glide only)

Also included is a demo "zoomgrab" that shows a live video image at any
scale using a 3dfx graphics card (required). The numbers in "zoomdef.txt"
define zoom scales in ONE SECOND intervals (range: 0.01 to 200.0, first
number in line) and mixer volume settings (range: 0 to 100, second number
in line) that will be smoothly applied to the image and the volume. See
source code for additional usage notes. This program was also part of an art
exhibition at Weimar, Germany in 1999.

+++ artcam (3Dfx Glide only)

A similar demo called "artcam" also uses glide for display. This demo
changes the colors of an image in realtime using a precalculated
conversion table.

+++ webcam

And then there is the really complete and useful "webcam" application - see
the README in the /webcam directory for more explanation and usage
information of this nice little utility.

+++ greydetect

A utility program called "greydetect" makes measurements of the mean
greyscale values in rectangular areas. It can be used for scientific
measurements. See the README in the /greydetect subdirectory for more info
and usage information.

+++ difftrigger

The tool program "difftrigger" can be used as a security or interface
application to detect changes in images (i.e. from moving objects).
See the README in the /difftrigger subdirectory for more info and usage
information. Very similar is the application "tracker". Here the
difference images can be used to track the motion within a rectangular
area and send it to an external program via TCP/IP.

+++ rgbmix

Yet another art-program is the demo "rgbmix". It uses three framegrabber
inputs to get b/w images and mixes them together into a single RGB color
output image. This might make it into the lobby of a big company someday.
Any buyers ... :-)

+++ tracker

Yet another specialized tracking program is "tracker". Again this a program
that was developed for an installation and requires several other utilities
to be useful (asciireflector and reflector2midi). See the local README for
information on this tool. If you want to see it in action, check the passage
from the Frankfurt Airport Terminal to the Trainstation June-December 2000.
Diagrams of the installation and documentation are included in the /tracker
directory.

+++ rtjpegrecord
+++ rtjpegplay

A new addition to libbgrab for capturing live video is RTjpeg. This library
works only on MMX capable CPUs and provides fast motion Jpeg compression
routines. The resulting format is NOT compatible with standard MPEG or JPEG
files - i.e. one needs the RTjpeg library to decompress the generated stream.
The sample applications for recording and playback can be found in the /examples
directory. Since the input video format is YUV420 and a color conversion
would be required for standard RGB X-windows screens, no output will be shown
during the recording phase. To record use "rtjpegrecord" - experiment with the
quality settings for best results. The default setting achieves a 12:1 compression
ration at excellent image quality. To view use "rtjpegplay" on 16bit bpp screens.
<<less
Download (0.55MB)
Added: 2006-06-05 License: GPL (GNU General Public License) Price:
1236 downloads
uml2svg 0.18

uml2svg 0.18


uml2svg is an XSLT-based tool for converting XMI-compliant UML Diagrams into SVG. more>>
uml2svg is an XSLT-based tool for converting XMI-compliant UML Diagrams into SVG.
We started the developing uml2svg with six main goals in mind:
- Standard conformance
- Good Documentation
- Modularity
- Extensibility
- Comprehensible SVG
- Multiple diagrams per XMI-file
SVG is a standard language for describing two-dimensional vector graphics in XML. As the open SVG standard gains in popularity and gradually replaces proprietary formats for vectorial graphics, the support provided by the Web browsers is getting better.
Plugins to display SVG exist for most browsers and it is most likely that the next generation of Web browser will provide built-in support for SVG. When that happens there will be no better way to distribute vector graphics on the web. Furthermore, not only web browsers can process SVG in a meaningful way; in fact that is just the tip of the iceberg. SVG can be easily read in, processed, and then transformed into many other formats, being well suited for both text and graphic tools as well as for web agents and screen readers.
UML diagrams are composed of lines, polygons, ellipses and text labels, so they are inherently vectorial. However, the SVG is not very well suited for direct use by UML tools. While some of them can in fact export UML diagrams directly to SVG, they do that by discarding all the information about structure, and converting everything into a shape. Moreover, some tools use the screen-capture function provided by their environment (such as java2d) and then they apply a filter to generate SVG out of the "screenshot".
What comes out of that is a pile of meaningless information, which by accident happens to draw a gorgeous diagram. How will a screen reader interpret such a file? How will a web crawler be able to index it? How will a web agent process it in a meaningful way? A program needs the semantic information that the humans can extract just by looking at a picture. For a machine, an obfuscated SVG file is not easier to process than a PNG file or any other image.
Although for humans it is better to be able to scale the image, for a program this is irrelevant. Programs need a way to "understand" the semantics of the UML models to be able to process and interchange them in a meaningfull way. This was the main idea behind the XML Metadata Interchange (XMI), an OMG specification for model interchange. And probably the best use that XMI has found so far is the exchange of UML models between different modeling tools. And while the XMI provides a standard way for tools to represent models as XML documents, it is still limited to the model elements only.
With the introduction of the UML 2.0 Diagram Interchange Specification as part of the upcoming UML 2.0 standard, it will become possible for tools to exchange the models together with the layout of the diagrams. We think that, once this specification appears, XMI will be used averywhere. Not only will the tools be able to exchange diagrams, but could even represent them internaly as DOM trees. Have you ever considered drawing your UML diagrams online, using only a web browser? This could be done even now by using a custom SVG syntax for the DOM tree, but a solution based on XMI could do even better and be a standard at the same time.
Therefore, we believe that with the advent of UML 2.0 and the increase in the use of SVG, the need for transformations between XMI and SVG will be great. Nevertheless when the uml2svg project was started, there was hardly any good open-source solution to convert XMI diagams into SVG.
The UML 2.0 Diagram Interchange Adopted Specification in its current incipient form references a set of XSL transformations. Although the standard draft covers them to a large extent, the link is actually broken (you can try for yourself). It has been broken for more than a year and most likely it will stay like that forever.
The personal webpage of Professor Mario Jeckle provides an online transformation service capable of dynamically generating SVG from XMI-compliant XML files. The XSL files accomplishing the transformations are also available on that website. These transformations are monolithic and not well documented (the only documentation is in the code, and it is generally written in German). With the tragic accident that took the life of Professor Jeckle, the transformations have no longer been maintained.
Finally, the STZ-IDA research center in Karlsruhe had to convert UML diagrams to SVG, as part of one of their projects. The XSLT stylesheet they created for this purpose was named xmi2svg and is available under the terms of the MIT license. At the time we started work on uml2svg the only type of diagrams supported was class diagrams.
Recently the package reached version 0.2 and it supports more diagram types, without major changes in the code (the opposite of what we were expecting). Andreas Junghans, the author of xmi2svg, provided us with a lot of insightful hints which helped us eliminate many glitches in uml2svg. It looks that the development of uml2svg and xmi2svg will continue in parallel, at least for a while. The good thing about this is that the two (quite different) implementations prove each others validity and the features tend to propagate freely from one side to the other. However, this comes with the prize of having to maintain two different code-trees and possibly confusing some users.
We did not like the two existing solutions because they were:
incomplete - just prototypes, not well suited for production environment
monolithic - hard to maintain and extend
not documented - hard to understand
At first sight, we thought we could find a way to improve one of the existing solutions and just add the features we needed. However, we slowly came to the conclusion that it would be better if we started anew. There are things one can fix in a project, but that does not include what we thought is was bad design. The fact that the two implementations presented above are open source helped us get quickly on the way with our own project.
Enhancements:
- Two annoying bugs were fixed.
- The site and documentation were updated.
<<less
Download (MB)
Added: 2007-02-18 License: LGPL (GNU Lesser General Public License) Price:
981 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5