Slashdot Mirror


Toolkits for 2D Animation?

profBill asks: "I work in the area of complex adaptive systems, that is understanding the emergence of complexity from the interactions of many elements (immune systems, economies, ecosystems, etc.). In particular we are using evolutionary computation to create elements/creatures that can co-exist in an ecosystem with certain interactions and relationships. All that is very interesting, but in the end, assuming we create such creatures, I have to show them to the ecologists and biologists so they can understand what is going on. The only way I can imagine doing it easily, other than with graphs and charts, is to create a 2D animation of the creatures and their interactions that these folks can watch. My problem is that there are so many choices for a toolkit to build such a 2D animation. My goal is not a movie of ILM quality, but something 'good enough'."

"'Good enough' for me means:

  • Quick and dirty, that I can tune as needed.
  • Zoom capability on a grid
  • Pop up menus on any one grid element to get information.
  • Scrolling, resizing, the typical.
  • Be able to hook to a C/C++ program to get a creature's behavior
What would you use to build such an animation?"

21 comments

  1. I think my cat is sick. How should I treat it? by Anonymous Coward · · Score: -1, Offtopic

    So I came home from work the other day to discover my cat laying on the floor. His breathing was very shallow and his eyes were very glassy. When I approached him I noticed a belt tied around his arm and both a syringe and a bent spoon laying beside him. Despite all his promises to the contrary, my beloved Mittens has started shooting up smack again!

    Fortunately the paramedics showed up quickly and gave him some naloxone which saved him. Unfortunately the problem of my cat being addicted to heroin still remains. Last week he sold my stereo and this weekend Mittens offered to perform oral sex on me in exchange for a hit.

    I love my cat and want to see him off this horrible drug. Unfortunately he won't stop on his own! Mittens says he can quit anytime he wants to and becomes combative when I force the issue. I'm tired of seeing him throw his life away. He could've been a great mouser, one of the best before he got hooked.

    Can anyone recommend a way to get my cat off heroin? It would be much appreciated.

  2. CmdrTaco - US flag desecrator and Anti-Delawarian! by Anonymous Coward · · Score: -1, Offtopic
    As noted on the Smithsonian Institution's site, the first official American flag had thirteen stars and thirteen stripes, each representing one of the thirteen original states.

    The flag icon for Slashdot's 'United States' section is missing its first stripe - the stripe that represents Delaware, the first state admitted to the Union. While a simple oversight could be forgiven, it should be known from here on out that Slashdot is in fact aware of the missing stripe, and even worse, refuses to do anything about it!

    This vulgar flag desecration and rabid anti-Delawarism must be put to a stop. Let the Slashdot crew know that we will not accept a knowingly mutilated flag or the insinuation that Delawarians deserve to be cut out of the union. I ask you, what has Delaware done to deserve this insolence, this wanton disregard, this bigotry?

    This intentional disregard of a vital national symbol is unpatriotic. Why, the flippant remarks CmdrTaco made about our flag border on terrorism! I urge you to join the protest in each 'United States' story. Sacrifice your karma for your country by pointing out this injustice. Let's all work together to get our flag back. Can you give your country any less?

  3. Why Nose-Equipped Smileys Are Bad 8====D by Anonymous Coward · · Score: -1, Offtopic

    -You start out with a nose-equipped smiley :-). You can modify it slightly, to be a laughing smiley instead :-D. From there, maybe you want to add bulging eyes 8-D. Then you think to yourself, "Hey me, it would be funny to have a monkey emoticon!" so you add the wide nose common to monkeys 8=D. Still, you think it doesn't look right, because monkey faces are longer than humans, so you extend the nose. 8====D Congratulations, you now accidentally created an ascii phallus.

    denoser

  4. Flash would work, right? by joFFeman · · Score: 1, Insightful

    With Macromedia's Director (there may be a new name for the MX version), you can basically construct entire applications. You could integrate pretty much any application with it. The fact is, flash is going to be the best way to create part of it, even if you don't construct the entire program with it. The portability is another plus. Maybe a hybrid of java and flash would be in order if you're looking for ease of coding coupled with a reasonable amount of power and portability.

    --
    "Life is great; without it, you'd be dead." -Harmony Korine
  5. I luv fuqqin GOATZ! FUCK THE GOAT! by Anonymous Coward · · Score: -1, Troll
    I have a better title for this STORY!!! It should be:

    Rhode Apple: Taco is switching to BUTT SEX!


    Taco, I want you to fuck me in the ass please. I am dying to be anally accosted. I want to be ravaged like hog. I want you to dress like a farmer and make me oink like a pig. I want an ass reaming like no other. Taco, I haven't had this kind of lust for you since the crazy college days. We used to butt fuck each other in the stalls. You always told me not to flush and preferred using my feces as apposed to real lubricant. I remember your chocolaty member, your manhood, draped in my feces. Man, Robbie, I remember. I was day dreaming, escaping into a nether world where we used to fornicate, and live in fornicatory bliss. You used to like to keep your tubes socks on to enhance they gay look. We were so flitty and light on out feet. I am so very confused these days. I have difficulty conceptualizing the time that was then in contrast to now. I mean, first you were a raging homosexual, now you deprecate me in favor of this "woman." I know that bitch is a transvestite. You are closeting your homosexuality and denying your roots in my ass!

    I am destabilizing. The world is going dark to me. I have scintillating threads of motley thoughts, my ability to control my self evanesces away! I have only an adamantine desire to see your balloon knot once again, and to have you ravage mine! I see a world of GOATS. A goat fucking extravaganza. I invoke the ANUS of DOOM! I hate Taco.

    SON of the GOAT, HUGE ASS WIDENER, This is a massive, massive ass attack from the Minister of Goat, Ayatollah man-meat.
    Dilated Meat Pie. Most suppressed people really like seeing this. It gives them new masturbatory fodder.
    Two cucumbers, better than one. This is to show that the giver is really smaller than what is needed to fill GOATSE man. He east Cheerioatse brand O's
    A Disney product right where it belongs. Up a goat's ass. Death to Mike Eisner, the butt buddy of Commander Tak0.
    Raw and dilated man-pussy. Put back the trouser snake, Tako. You dick is way too small for this man's ass.
    A Prolapsed rectum is sure to whet even the most jaded flaming fuck's appetite. Tak0, your penis is regrettably way too small, even for your "Fiancée's" unfettered anus. She doesn't want to dirty her ass with the likes of your pathetic member.
    GOAT KORAN
    Classic HIT ME IN THE SHITTER BABY, UNGH HUH
    Classic Oh yeah, in the shitter some more, in the shitter.
    Classic More ass stretching goodness.
    Female Goater My pussy is too small for this APPLE.
    Goatse Grandpas - GRANPA GOAT S3X0R5
    Son of a Goat - Holy fucking son of a goat. Kind of looks like Tako from behind, but to be sure I'd have to ask CowGryl Kneel
    1 Oh, pardon me sir, would you happen to have any ANAL LUBE?
    2 UNGH FART, pssssbt, ungh, tweeep, squeaaaaaak ungh
    3 PFFFFFFFFFFT AHH pffft
    4 FOOOOOOOOOOOOF blud dribble dribble
    Prime Number Shitting Goatse Man See The Prime numbers flow like the river SHIT
    Goatse Returns! Fuck yeah, the goat man is a coming back to Trollaxor
    I summon the powers of HUGE GAPING ASS!
    1 You Will Love to Goatse on all the things of Internet.
    2 Will Search and initiate to new members, and you will show the way to the light (www.goatse.es.org)
    3 When they return of to see our God Goatse, you mock of them.
    4 To fuck, to fuck that are shocked the planets!

    * g o a t s e x * g o a t s e x * g o a t s e x *
    gcccccccccccccccccccccccccccccccccccccccccccccc cg
    oc/ccccc\ccccccccccccc\cccccccccccc/cccc\ccccc cco
    a|ccccccc|ccccccccccccc\cccccccccc|cccccc|ccc ccca
    t|ccccccc`.ccccccccccccc|ccccccccc|ccccccc:c cccct
    s`cccccccc|ccccccccccccc|cccccccc\|ccccccc| cccccs
    ec\ccccccc|c/ccccccc/cc\\\ccc--__c\\cccccc c:cccce
    xcc\cccccc\/ccc_--~~cccccccccc~--__|c\ccc cc|ccccx
    *ccc\cccccc\_-~cccccccccccccccccccc~-_\c ccc|cccc*
    gcccc\_ccccc\cccccccc_.--------.______\ |ccc|ccccg
    occcccc\ccccc\______//c_c___c_c(_(__>c c\ccc|ccc c
    accccccc\ccc.ccCc___)cc______c(_(____>cc|cc/ccc c
    tccccccc/\c|cccCc____)/cccccc\c(_____>cc|_/cccc c
    scccccc/c/\|cccC_____)c_Taco_|cc(___>ccc/cc\ccc c
    eccccc|ccc(ccc_C_____)\_ccccc/cc//c_/c/ccccc\cc ce
    xccccc|cccc\cc|__ccc\\_________//c(__/ccccccc| ccx
    *cccc|c\cccc\____)ccc`----ccc--'ccccccccccccc |cc*
    gcccc|cc\_cccccccccc___\ccccccc/_cccccccccc_ /c|cg
    occc|cccccccccccccc/cccc|ccccc|cc\ccccccccc ccc|co
    accc|ccccccccccccc|cccc/ccccccc\cc\ccccccc cccc|ca
    tccc|cccccccccc/c/cccc|ccccccccc|cc\ccccc cccccc|t
    sccc|ccccccccc/c/cccccc\__/\___/cccc|ccc ccccccc|s
    ecc|ccccccccccc/cccccccc|cccc|ccccccc|c cccccccc|e
    xcc|cccccccccc|ccccccccc|cccc|ccccccc| ccccccccc|x
    * g o a t s e x * g o a t s e x * g o a t s e x *


    Our Goatse Prayer
    Llegaré a ser petador, el mejor que habrá jamás.
    Mi causa es ser reventador, tras mi gran petada anal.
    Petaré cualquier animal llegaré a partirlo en dos.
    Al fin podré agujerear el culo de Goatsemon. (Es Goatsemon)
    Petalos todos. Es mi destino, mi misión. (Es Goatsemon)
    Tú eres mi amigo fiel, pero deja ya mi esfinter. (Es Goatsemon)
    Petalos todos. Seremos mejor al fin.
    Te peto yo, y tú a mí Goatsemon.
    Hazte con todos. Goatsemon..
  6. Well, if there are so many.... by joto · · Score: 2
    ...and you don't really need anymore than "good enough"...

    ...then WHY DON'T YOU JUST PICK ONE?

    If all you want to do is display simple "good-enough" 2D-animation, any 2D-toolkit would do. If you want zooming, etc, you will probably have to write that yourself, I can't imagine what features a 2D-toolkit could offer, that would avoid you having to write the actual code for display.

  7. perl::flash by tolldog · · Score: 2

    I know that people have been doing 2D animation in flash for a while now... we even have a new video series that uses it. ( Larry Boy ) I imagine you could throw something together using perltk and perl::flash to create flash movies. I haven't played with the perl::flash stuff, but I imagine it isn't too steep of learning curve. -Tim

    --
    -I just work here... how am I supposed to know?
  8. The obvious answer by MarkusQ · · Score: 3, Insightful

    Q: What would you use to build such an animation?

    A: A programming language. Say, C or C++?

    Seriously. Consider your criteria:

    Quick and dirty, that I can tune as needed.
    So to produce a frame, you have each "creature" draw themselves if they overlap the present view area. The detail of each creature's "look" is local to that creature, so you can tune/tweak it at need. Done.

    Zoom capability on a grid
    The "present view" data includes a view-center and a scale factor, which all the drawing primatives use to translate from world coordinates to screen coordinates. Clicking on a point on the grid may make that point the new screen center and increase/decrease the scale factor, depending on which "tool" (the magnifying glass, etc.) the user has sellected. Done.

    Pop up menus on any one grid element to get information.
    Trivial. When the mouse hovers, or they right click, or press control-yada-yada-cokebottle, or wahatever, pop up your menu. If you also want information about each creature, use a (perhap subtilly) different colour for each creature and check the colour of the creature under the mouse to determine what to pop up. Done.

    Scrolling, resizing, the typical.
    Done.

    Be able to hook to a C/C++ program to get a creature's behavior
    Done.

    It shouldn't take much longer to write than it took to ask the question, or to answer it.

    -- MarkusQ

    1. Re:The obvious answer by Anonymous Coward · · Score: 0
      If you also want information about each creature, use a (perhap subtilly) different colour for each creature and check the colour of the creature under the mouse to determine what to pop up
      That works only for ASCII dungeon games where there are 4 types of enemies, gold and keys, my friend.
  9. 8=====D by Anonymous Coward · · Score: -1, Offtopic

    Here are some basics that the boy in your life would like you to know. Maybe
    it's awkward for him to tell you - maybe there even are some things he
    hasn't discovered yet.

    Let's begin at the end: the glans. This is the very sensitive end, or tip of
    the penis. It's covered by the foreskin in boys who aren't circumcised. The
    glans looks and feels unlike skin on any other part of the body: it is soft,
    squishy, and the home of the most intense and delightful feelings a boy can
    experience. It is so sensitive that the feel of, say, a stream of water from
    a showerhead may be too intense to stand for more than a few seconds. Yet
    for all its sensitivity, stimulating the glans alone usually does not lead
    to orgasm - you need to massage some part of the penis shaft as well.
    This means, if you know what you are doing, that you can give very extended
    pleasure by massaging the glans. It is so soft that unless it and your
    fingers are completely squeaky clean most likely any petting will soon
    become irritating. What your guy really wants is a moist massage, either
    with saliva or another lubricant. The simplest and one of the greatest
    treats you can give him is to moisten your thumb and slowly rub it back and
    forth across the head of his penis.
    You can do this for ten minutes, twenty minutes, and watch him drift into a
    plateau of pleasure, without the tension of an approaching orgasm.
    Of course, you can do the same with your lips, though it is almost
    impossible to resist the temptation to take more of he penis into your mouth
    - and then you're off to the races!
    If you're this close you can see some of the unique geography of the glans.
    First, it has a grain - small ridges that go fore and aft (away from his
    body, rather than side to side). It's usually more comfortable to pet with
    the grain, though if you are using lubrication it doesn't much matter.
    Second, there are distinct regions on the glans: the very tip, around the
    urethra opening ('pee hole'); the twin bulges on the front, separated by a
    small cleft; the broad, flat back; and the flared bluish ring where it
    connects to the penis, called the corona. The most sensitive parts are the
    tip and front. Try gently massaging the front, spending five or ten seconds
    on each side, then switching, then spending an equal time on the very tip.
    The back is the 'grainiest' region and should be petted front to back. The
    tip, just behind the urethra opening, is the best place to get started - a
    very good erection stimulator!

    Notice that all this is about stimulating the skin of the glans. It is a
    soft and delicate region and not meant for deep massaging - too much
    pressure doesn't exactly hurt, but it isn't so delightful, and in fact a
    good squeeze to the glans is one technique for bringing down an erection.
    It really is possible to give very extended pleasure to the glans alone.
    This may be very relaxing for your boy, or it may make him desperate for
    more - it's a matter of mood! Once you do start to involve the rest of the
    penis, things change quite a bit.
    Just below the glans on the penis shaft front is the main action area, the
    part that is most involved with the intense feelings that cause orgasm and
    ejaculation. The penis itself really has two parts, the raised part on the
    front through over the urethra, and everything else (sides and back). While
    we enjoy stimulation to any part of the penis, it's the front that is the
    seat of pleasure. Petting or massaging the back of the penis doesn't do very
    much.
    The top inch of the front of the penis is the trigger, the part that all
    boys first learn to rub when they masturbate, either by an up-and-down
    motion (the veritable "jerking off"), or by rubbing side to side. This part
    of the penis is sensitive to pressure, rather than surface petting. Once a
    boy is fully aroused, even a slight pressure to this part of the penis will
    lead up to orgasm. If you are using your hands or lips on his penis, it's up
    to you to be sensitive to how much stimulation you are applying here, as
    that controls how long the ride will last!
    Pressure to the top front of the penis doesn't have to be applied directly,
    and this is where the rest of the penis gets involved - and a whole lot
    more. Once an erection is full grown, the penis is stretched tight, which
    means any pressure along the front or anything pulling at the base will tug
    on the top part just as surely as if you were massaging that part directly.
    This is something that grows more intense as he comes farther along towards
    orgasm: after a few minutes of stimulation, with his penis rock-hard and
    pumping from within (more on this later), even a small tug on the scrotum at
    the base of the penis can trigger an orgasm.

    If you are using your hands, you can continue to massage the glans while
    stroking or gently rubbing the front of the shaft. Of course, if you are
    using your mouth or taking his penis into your anus, all this happens
    automatically - it's exactly what the penis was designed for, and his whole
    body will get involved to make sure there is an orgasm soon!
    But let's not hurry, please, you have a lot of delightful territory still to
    explore. With his penis at 'full attention' you will learn that what you see
    is only half the story. The shaft of the penis goes equally deep into his
    body, where the right pressure gives long-lasting pleasure without hurrying
    to orgasm.
    Follow the ridge of the urethra down along the front of the penis, to where
    it goes under the scrotum. Massage it from side to side as you move down,
    and feel how his erection really extends several inches below the base of
    the penis, disappearing into his body below the base of the scrotum. Spend a
    few minutes massaging his penis in small circles through the scrotum - once
    he is fully aroused, this is a nice place to spend some time. You will
    eventually get to a point about an inch below the bottom of the scrotum
    where you will feel his penis shaft go 'underground'. Remember this point:
    it's an excellent place to apply pressure during orgasm. At this point you
    have left the soft tissues of the penis and are feeling muscle. You can
    press a lot harder here; a firm push is rewarded by a greater firming of his
    erection and a rush of pleasure along the whole penis.
    If you have a finger still on his glans (or even if you don't), you should
    see a drop of fluid every so often. This is his lubrication, or 'pre-come',
    and - I don't have to tell you this, do I? - should be gently massaged into
    his glans. (Note for the girls: though this isn't semen, it can potentially
    contain sperm, so use whatever precautions are appropriate for full
    intercourse.)

    You have a hand on his scrotum, or 'balls' - another very interesting place!
    The skin of the scrotum is also unique, and quite different from that of the
    penis. It has ridges, odor glands, hair, and is exquisitely sensitive,
    loving to be stroked and tickled. Hiding inside the scrotum (which by now is
    probably firmed up like a little baseball) are the two testicles. At this
    point it is probably wise to ask if he likes to have his balls touched or
    massaged. Although they have a well-earned reputation as the seat of pain in
    the male body, it actually takes quite a bit of pressure to hurt the
    testicles - they are really much more sensitive to impact than to pressure.
    He may find it exciting to have you massage them, or he may hate it. (Note
    to those in long-term relationships, testicle cancer is one of the most
    common cancers in boys and it is very treatable - so check for lumps several
    times a day!).
    If he has never tried it, I strongly recommend removing the hair from the
    scrotum, either by shaving, or plucking. As Dr. Evil (Mike Meyers) said in
    Austin Powers, 'a shorn scrotum is a thing of beauty.' Removing all the hair
    makes the scrotum fantastically soft and much better for petting. Plucking
    is by far the best, taking about half an hour. If you shave, use a sharp
    double-edged blade and do it dry, with baby powder or cornstarch for a
    lubricant. Trim but don't shave the hair at the base of the penis or the top
    of the scrotum, as that is the 'load-bearing' area during intercourse, and
    any prickles will be a serious problem.
    The scrotum is also very temperature-sensitive, acting like a little weather
    station. So are the tissues behind it. Cold, in particular, has a dramatic
    effect, and if he is up for it, you should try pressing ice into the base of
    the scrotum - the sensation is incredible, especially during orgasm.
    Where were we? You have a firm finger below his scrotum, where you can feel
    his penis pump up when he contracts his muscles (there's some Latin name I
    don't remember [pubococcygeus - Ed.]; these are the muscles you strengthen
    with 'Kegel' exercises, and most people would likely call them the 'love
    muscles'). If he is close to coming, even this pumping may stretch the front
    of the penis enough to trigger an orgasm.
    Move your fingers down his perineum (the slight ridge between scrotum and
    anus). This is a wonderful area to massage. In another inch you reach the
    anus, the other focus of erotic pleasure in his body. The skin around anus
    is as sensitive as the lips, a place for soft tickling, but able to grip as
    firmly as a fist, a place for fucking. Bill Cosby may get mileage out of
    fear of anal penetration, but I think 99% of all males love the feel of a
    finger in the ass.

    Use some of his or your own lubrication to massage his anus. If you wish to,
    press firmly and feel it open ever so slightly to allow you to massage the
    entire firm sphincter (opening). Slowly or by surprise you can slip a finger
    in. There are no more nerve endings past the anus, but the feeling of
    stretching and penetration is heady and delightful all in itself. At this
    point you may decide to head farther up to massage his prostate. This is (as
    everyone says) a 'walnut-sized gland' about one finger's length in. It is
    the true root of the penis, which you have now followed from the delicate
    glans, along the soft shaft, down to the muscled base, and deep into his
    body. Massaging the prostate enough will usually (not always) trigger
    orgasm, a different experience from a purely penis-based orgasm. If you do
    this, you will feel the enormous firming and contractions that precede and
    accompany ejaculation. It's time to put him out of his misery. With one
    hand pressing against the scrotum or pushing into his anus, and another
    massaging the glans and final inch of the penis (or with your mouth doing
    the same), 'go for it!'. There's more you should know about how a boy
    works. Erection, orgasm, and ejaculation are all separate mechanisms. They
    do not have to accompany each other; the only rule is that orgasm does cause
    ejaculation (unless something is medically wrong). In particular, erections
    can come and go for no apparent reason, so don't worry if you feel him go
    soft once in a while. We have been talking a lot about the 'primary
    erogenous zones', which I hope you now know well. There are of course other
    parts of his body that he wants you to pay attention to, such as his nipples
    (as sensitive as a woman's, and too often neglected). But there is one
    erogenous zone more important than all others, and one you can spend a
    lifetime exploring together: his mind. We males love to be touched and
    petted and stroked and sucked, but more exciting than all of that is the
    thrill of giving pleasure to and sharing pleasure with another person.

    OK, that is all I have. Now go and put my helpful advise to work. And have
    fun

  10. Qt anyone? by Anonymous Coward · · Score: 1, Insightful

    Funny you should ask this question...

    I just coded the front end to a networked AI simulation with creatures that play, eat, interact, etc. I basically did everything you said you wanted...2d grid with mouse zooming/panning, tweakable creatures, interfacing with c++ AI and network packages. Did the whole thing using Qt's 2d graphics library...was generally quite straightforward (albeit not the fastest). If you can deal with c++ coding I'd recommend it highly.

    Info can be found at http://www.trolltech.com

  11. Re:Flash would work, right? Wrong! by ore · · Score: 1, Informative
    I'll have to disagree with using Flash. It's closed, it costs money, etc, etc. Use SVG instead. Being XML based it is simply a matter of constructing a text file and then running it through an viewer. If it turns out not to have the scope of primitives that you need you can try something else. However, I bet that you'll be able to do most of the animations that you have imagined with little difficulty.

    On a related note, I've concentrated quite a bit over the past year in generating charts and graphs to multiple output formats simultaneously. Of interest here are some new versions of old standard apps, Gnuplot and Graphviz. Both applications contain SVG output capabilities in their latest builds. I've been using both to generate both PNG, but also PS and SVG. I will generally convert the PS to PDF via Ghostscript. To me this represents an incredible time savings by allowing me to generate PNG's to act as thumbnails for the SVG and PDF versions of the same graph. Consider also the ability to nest SVG objects within a larger SVG picture (or animation). To aid in technical illustration you could actually embed SVG chart animations with the other custom 2D animations that you seek to create to further clarify the idea you are trying to present.

    Raster, vector and publication quality visualizations in one fell swoop without spending a dime. Schweet!

  12. Java2D, SDL, OpenGL by ikekrull · · Score: 4, Informative

    Both of these are crossplatform solutions for doing the kind of thing you require.

    Java2D is easier to develop with, especially if you are not a C/C++ person, and comes with a full set of widgets for supporting UI purposes.

    I might suggest you prototype your application in Java2D, and if you cannot extract useful speed out of it, to port to SDL or OpenGL, if you require interactive framerates.

    OpenGL is most often used as a 3D API, but using textured polygons (or compiled display-lists of lines/polygons for better zooming/resolution independence) for your elements in orthographic projection will provide optimum performance on a plaform with hardware 3D acceleration.

    However, properly written, there is no reason why Java will not provide you with adequate-to-good speed.

    There is also no reason why you couldn't do this with GTK, Qt, etc.

    Really, you should be looking at this from the point of view of 'which language do i feel most comfortable with, and is there a mature 2D graphics libabry for this language?' If so, use it.

    --
    I gots ta ding a ding dang my dang a long ling long
  13. Sounds like fun by RevAaron · · Score: 4, Informative

    I did an REU last summer analyzing various ecology-oriented datasets collected in beaver meadows. One of the things we used for this analysis was an application I wrote for visualization. 10 plots in the window, scrolled in unison, click to get details on each point, zoom-in and out &c. In any case, this got me excited, and I've been searching for an existing model of an ecological system for which I could create a plugin for my visualizer.

    My setup for the 2D non-animated data browser I created: Squeak 3.0 with some classes borrowed (PlotMorph) and a bunch of others that I wrote myself.

    I've not started my animation/modeling work yet, that will be something I'll be working on after finals for a fun project. But my software setup will be the same, but manipulating the information and thus changing the direction of the modeled and animated creatures in real-time.

    I may do this using Alice3D, which is a 3D environment within Squeak, or just by using the native GUI toolkit of Squeak, Morphic, which really accommodates doing this kind of work. 2D animation is trivial. You just have each object have a #step method that applies whatever needed changes are required, and a #stepTime method that determines what the interval between updates is.

    If you're a C/C++/Java bigot, Smalltalk may come as a bit of a shock. But if you're interested in the best tool for the job, and are looking for an intuitive way to do 2D modelling and animation, Squeak is definitely worth evaluation.

    You can email me if there's any other questions you have about my work, or about how useful Squeak is for this kind of stuff- I'd be happy to help.

    --

    Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    1. Re:Sounds like fun by RevAaron · · Score: 2

      Just remembered something... Within the stock Squeak image, are some classes that go under the heading "StarSqueak." StarSqueak is a Squeak port/analog of StarLogo, a Logo dialect aimed at big Logo-driven simulations with many (hundreds-thousands) of "turtles." In the Squeak version, the coding of the "Turtles" (agents) and the world is done in Smalltalk, rather than logo. Info.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  14. convincing your employer to open source by Anonymous Coward · · Score: 0
    Hi,

    Although my employer doesn't like the idea of open sourcing entire programs (and, I agree with them on that point!), I was able to convince them that open sourcing certain algorithms and routines would be beneficial. And has it!

    For example, a couple years ago, we needed to model sp^3 bonding occuring during nuclear fusion to help optimize a nuclear power plant. Sounds tough. Even tougher, it had to be modelled in real-time so we could see how the dipole-dipole interactions would be affected!

    The vector matrix calculations were written in PERL since it provided the best speed. However, I suspected it could be optimized even more than it was (I was using a fast-fourier transformation model). I released the PERL routine under a BSD license (so we could reintegrate it). Within a month, a graduate student in Switzerland was able to improve the speed by another 10% based on some lienear-interpolative binomial algorithms.

    Often, we don't get any usefull feedback from the code we open source, but sometimes, we do get some valuable information

    1. Re:convincing your employer to open source by littlerubberfeet · · Score: 1

      Its obvious this AC is full of bullshit. and besides, this has to do with 2D animation exactly how? In nuclear research the visuals are not nearly as important as the raw numbers, which do need to be calculated in realtime.
      Just cause you can toss around jargon doesn't mean you know anything.
      2D animation: you could invest the time to hand-draw it, label it 'high art' and sell it for the cube of what it would otherwise sell for.

      --
      Sig (appended to the end of comments you post, 120 chars)
  15. some pointers by g4dget · · Score: 3, Informative
    Here are some pointers:
    • Look into Swarm: it's a complete simulation environment, from your institution even, and includes graphics.
    • Look for toolkits for doing "sprite animation" on Freshmeat (there is almost certainly something for SDL).
    • Look into one of the structured graphics toolkits, like the one that comes with wxWindows. There are also several for Java.
    • Look into OpenGL; it's easy to use.
    • Look into the 3D game toolkits (like Crystalspace) and use them in a 2D manner.
  16. Yet Another Ask Google Question by Anonymous Coward · · Score: 0
  17. You may look at this by bbk · · Score: 2

    I know a guy working on this project:

    http://sourceforge.net/projects/lmljpeg/

    Part of the project includes what has been described as a "Multiplane camera", wbich emulates a stack of cels, which can be defined by XML data, and the individual cels can be programatically defined in C++, ie a cell that shows falling snow/rain/etc. It was originally intended for 2d cel animation, but may be workable for your purposes.

    The other part is a MJPEG software encoder/decoder for the zoran MJPEG chipset.

    BBK

  18. Good 2D Toolkit by good-n-nappy · · Score: 1

    Take a look at Jazz. It has a 2D scenegraph and support for animation and zooming.

    Also, you might look at Squeak and Morphic.

    --
    Never underestimate the power of fiber.