It kind of depends quite what you mean by "move around the screen". If you need for the user to be able to interact with the graphics, and drag them around with the mouse, in the browser, then you almost certainly will need to use Java or perhaps Flash. I recently saw some impressive work done by baz with SVG which had the ability to allow the user to click in areas of the graphic and have Javascript detect, highlight the clicked part (similar to image maps) and take action as a result, but from the little I know about SVG, I'm not sure that you could do anything very dynamic with it. I am quite open to being wrong on that.

If however, you are more interested in the graphic itself having motion, as in some biochemical applications where molecules and proteins are rotated in pseudo-3D, so that their shape and structure are visible, then this is something that you could do with Perl at the server side using GD and or TK to generate animated gifs. The results can be quite impressive. I've posted a simple example of what I mean on my home node. I tried to create a link to it standalone, but the magic of the Everything engine denied me. I'll leave it around for a few days.

This actually consists of a single graphic character rendered in 3D with highlighting and shadows at 320x200x4bit(16 colours) with 15 frames displaying at 10 frames/sec for a total filesize of just on 60k. I had to keep it small and light as the limit for homepage images is 80k and I don't have any where else to put stuff right now. The color isn't great, but its fairly impressive given the small size of the file I think.

It was rendered using a using a commercial package (which I'll plug cos they produce several, brillantly fast, bloat-free and cheap (windows) graphics editor applications. No connections kick backs etc. This one was Xara3dv4. They have recently released v5 which can export into .swf format as well. Well worth a browse of their site to see their demo's and other apps.)

Anyway, commercial break over, back to the Perl connection. Perl can render GIF format files quite quickly, I've done this using GD for graphs, and a quick look at Tk::Animation shows that it can handle multi-framed GIF's including the ability to build them on the fly. I didn't see the save facility in my breif look, but I'd be surprised if it wasn't there.

The upshot is,

So, if your timescales aren't to tight, the budget and skills are available, and your users have sufficiently high speed links to carry the volumes of data, then it would be perfectly feasible to render and display animated (and possibly, with judicious use of client-side image mapping, even intereactive) graphical interface applications using a combination of Perl, CGI.pm and Perl/Tk.

Whether this is a desirable, and/or cost effective means of achieving your goal very much depends on the scale and detail of your application.

Good luck. If you go ahead and produce something that is publicly visible, I would love to see the results as I've a long history of doing strange thngs with graphics.

BTW, I appreciate that the GIF format is deprecated currently due to the on-going legal rows, but I haven't seen any examples of non-commercial usages being targeted yet.


Cor! Like yer ring! ... HALO dammit! ... 'Ave it yer way! Hal-lo, Mister la-de-da. ... Like yer ring!

In reply to Re: interactive web graphics by BrowserUk
in thread interactive web graphics by seaver

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.