File:Purpy Pupple's 2D Metaballs.jpg
From Wikimedia Commons, the free media repository
Jump to navigation
Jump to search
Size of this preview: 553 × 600 pixels. Other resolutions: 221 × 240 pixels | 616 × 668 pixels.
Original file (616 × 668 pixels, file size: 168 KB, MIME type: image/jpeg)
File information
Structured data
Captions
Summary
[edit]DescriptionPurpy Pupple's 2D Metaballs.jpg |
English: A program I made when I was 16. It was written in C++ and uses FLTK. The program allows the user to draw lines or create metaballs.
The wonderful Metaball Program! ______ _______ ______ _____ |\ /|| | /\ | \ /\ | | / | \ / ||_____ | / \ |_____/ / \ | | \____ | \/ || | /----\ | \ /----\ | | \ | ||______ | / \ |_____// \ |_____ |_____ _____/ /////////////////////////////////////////////////////////////////// INTRODUCTION When the program first starts up, it is by default in 'insert metaball' mode: click around the canvas to draw metaballs. Right click adds a negative metaball (blue); and left click adds a positive metaball (red). The slider controls the size of the metaball to add. (Note: if the size of the metaball is too small, it may not be visible). Since blue metaballs are red metaballs with a negative size, they may cancel each other out if placed too close together. Conversely, metaballs of the same size would add to each other. The program also has a 'brush' mode, in which one clicks and drags to draw whatever one wishes. Likewise, right click is blue and left click is red. ////////////////////////////////////////////////////////////////// OVERVIEW OF BUTTONS: TOP TOOLBAR, from left to right, are as such: Ball: Set 'insert metaball' mode. If it is already set to this mode, it is red. Undo: Undoes the last metaball inserted (does not affect brush strokes, or grow/shrink etc operations). May be used multiple times until there are no balls left. Works on the 'random' button. Redo: Redoes the last metaball that was undone. May be used once. Thicker: Makes all metaballs thicker. Affects future metaballs added too. Thinner: Opposite of thicker. Redshift: Make all red metaballs larger and blue ones smaller. Doesn't affect future metaballs. Blueshift: Make all blue metaballs larger and red ones smaller. Grow: Increase the size of all metaballs. Affects future metaballs. Shrink: Opposite of grow. Random: Add a metaball of random size and location. =================================================================== BOTTOM TOOL BAR Brush: Set brush mode. In brush mode, one clicks and drags on the canvas to draw things. As with metaballs, left click is red; right click is blue. However, brush strokes do not cancel each other out. If this mode is already selected, this button is red. Undo: Undoes the last brush stroke, without affecting metaballs or any other operation. May be used more than once. Redo: Redoes the last undone brush stroke. May be used once. Thicker: Make all brushstrokes thicker. Does not affect future brush strokes. Thinner: Opposite of thicker. Redshift: Make red brushtrokes thicker and blue ones thinner. Does not affect future brush strokes. Blueshift: Opposite of redshift. Refresh: Refresh the canvas. (click this if your drawing does not appear). Clear: Clear all metaballs and brushstrokes, and reset all settings in "thicker", "thinner", "grow", etc in metaballs. /////////////////////////////////////////////////////////////////// List of Known bugs: 1) If one clicks and drags in brush mode, but does not release the mouse even when outside the widget, the brushstroke will extend outside the widget. 2) The brushstroke's size for the most recent brushstroke does not behave as intended. Sometimes, drawing with the brush tool would output brushstrokes of the default size, while the previous brushstroke would be changed to the current size. 3) If a single brushstroke is too long, the program will crash due to exceeding the vector's capacity. 4) Each new brushstroke appears 'below' previous brushstrokes, due to the direction of traversal of the brushstroke linked list when drawing brushstrokes. /////////////////////////////////////////////////////////////////// FUTURE FEATURES TO ADD (if I have time) 1) Full redo implementation. At present, the program can only redo once, though it can undo many times. 2) Ability to hide or show any metaball or brushstroke. 3) Changing the z-axis of brushstrokes; i.e. which one is on top of which. Since each brushtroke is a node in a linked list, this is easy to achieve (though the GUI part is more tricky). 4) Antialiasing. 5) Show position and sizes of metaballs (in case some metaballs are invisible). |
Date | |
Source | Own work |
Author | Purpy Pupple |
Licensing
[edit]I, the copyright holder of this work, hereby publish it under the following licenses:
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
- You are free:
- to share – to copy, distribute and transmit the work
- to remix – to adapt the work
- Under the following conditions:
- attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
You may select the license of your choice.
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 02:48, 3 February 2011 | 616 × 668 (168 KB) | Dllu (talk | contribs) | {{Information |Description ={{en|1=A program I made when I was 16. It was written in C++ and uses FLTK. The program allows the user to draw lines or create metaballs. <pre> <nowiki> The wonderful Metaball Program! |
You cannot overwrite this file.
File usage on Commons
There are no pages that use this file.
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
Orientation | Normal |
---|---|
Horizontal resolution | 72 dpi |
Vertical resolution | 72 dpi |
Software used | Adobe Photoshop CS4 Windows |
File change date and time | 22:08, 23 November 2009 |
Color space | sRGB |
Hidden categories: