Celestia in planetarium domes?

Discuss Celestia's features, adaptations and Addons for use in educational environments
Topic author
Malenfant
Posts: 1412
Joined: 24.08.2005
With us: 18 years 10 months

Celestia in planetarium domes?

Post #1by Malenfant » 08.09.2006, 18:11

Another attempt to start a discussion here...

Anyone got Celestia working as a projection on the inside of planetarium domes? If so, how? Does the FOV go high enough for this to work well?
My Celestia page: Spica system, planetary magnitudes script, updated demo.cel, Quad system

Avatar
Joe
Posts: 162
Joined: 29.02.2004
With us: 20 years 4 months
Location: United Kingdom

Post #2by Joe » 09.09.2006, 13:05

Malenfant

You may know more than I do in this area. There are a few discussions in this forum before like
http://www.shatters.net/forum/viewtopic.php?t=8417&highlight=dome
I think there are people out there trying to make Celestia work within a dome or a similar 3D projecting system. I have a system installed in my lab. two years ago which is powered by SGI Irix6.50. It has been my personal project to incorporate Celestia and make it run under SGI Irix6.50. So far code migration task is huge and I am nowhere yet. I guess if Celestia can run on SGI system, the rest tasks could be easy ones, most could be taken over by the hardware/projecting system.
Joe
8O

holio
Posts: 2
Joined: 12.03.2007
With us: 17 years 3 months

In a dome

Post #3by holio » 15.03.2007, 17:04

During summer, I was in a mobile dome that had space exploration as its main theme.

Applying Celsetia to this is a snap. The entire dome was a portible
canvas that was maintained by a blower that kept it in shape.
In side a Apple mac was running a video program that had dimentions added so when the projector beamed the image toward a mirror, it would display a beatiful full dome show.

the cost is a little high, but the concept is very easy to grasp.
i ask the guy when I was there how much it was , and it was in excess of 10 k for everything. Computer, software, projector and the blow up dome.

I studied the structure so I could make one to have in my home, its very easy to build if you use other methods rather than buying one.

The image was transformed in to a circle shaped video, making it a little hard to view just using your pc.
A simple mirror, bent into shape( just like a motocycle front screen ) would be used to reflect the image on to the domes walls.

The dome is just a white back drop.

Applying Celestia video or even real time interaction to this would be a possible.

Its a great idea and if I get it up, along with my underwater footage, ill post you a total schematic of it.

Avatar
fsgregs
Posts: 1307
Joined: 07.10.2002
With us: 21 years 8 months
Location: Manassas, VA

Post #4by fsgregs » 16.03.2007, 01:51

Malenfant

A year or so ago, two different people emailed me to advise that my educational activity scripts were being used to run an actual planetarium show. One person was in Columbia. The other was in Spain, if I recall.

I have no other details, but it strongly suggests that Celestia can be projected onto a dome and everything you can see on your monitor can be seen overhead, provided your projector is bright enough.

FYI

Frank

Colin_hutcheson
Posts: 19
Joined: 01.02.2007
With us: 17 years 5 months
Location: Birmingham, UK

Celestia in inflatable domes

Post #5by Colin_hutcheson » 16.03.2007, 09:10

i can confirm Celestia can and is used in inflatable planetaria. The MirriorDome system uses Celestia and Stellarium on a Mac and a spherical mirror.

We at Thinktank Planetarium, Techniquest and Inspire, Norwich are in the process of purchasing domes. I am writing all the astronomical scripts and shows for all three Science centres, so I'll keep you posted as to how we get on.

Colin
Colin Hutcheson
Planetarium Presenter
_____________________
Thinktank Trust
Thinktank Trading Limited
Millennium Point Curzon Street
Birmingham
B4 7XG

Registered charity no. 1061898

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 4 months

Re: Celestia in inflatable domes

Post #6by ElChristou » 16.03.2007, 10:51

Colin_hutcheson wrote:...I am writing all the astronomical scripts and shows for all three Science centres...


Are those scipts only for dome use or can they be used on flat screen?
Image

revent
Posts: 80
Joined: 15.11.2003
Age: 46
With us: 20 years 7 months
Location: Springfield, MO, USA

Post #7by revent » 16.03.2007, 20:44

FYI, it is pretty trivial to project the image from a crt onto a flat screen or wall. All you need is the fresnel lens out of a dead overhead projector, and some cardboard to make a light box for between the screen and lens.

trenner
Posts: 58
Joined: 27.09.2002
With us: 21 years 9 months
Location: Nanaimo, B.C., Canada

panetariums

Post #8by trenner » 23.03.2007, 04:18

You can try small_planetarium@yahoogroups.com <small_planetarium@yahoogroups.com>

I've built a couple myself - a 3/4, 16' diam hemisphere, out of 2" styrofome. And a 12' diam in the basement, made out of lathes glued together, and white cardboard hot glued to the inside. I use a curved security mirror, and it works great. I just need to upgrade to a higher resolution digital projetor, to get rid of the screen door effect

Regards
Terry

Bodin
Posts: 7
Joined: 01.04.2007
With us: 17 years 3 months

Post #9by Bodin » 01.04.2007, 18:14

I would like to second the original question of this thread.

I also offer to maintain a FAQ on Celestia in domes, since running Celestia in a dome is exactly what we're planning to do withing a few months!

We've got a small 5 meter dome from GOTO, and I'm considering basing and installation on the following:

- dual-dual-core pc with 4Gb RAM and fast disk and high-end graphics with lots of memory
- celestia
- stellarium
- most likely another, commercial software solution too
- a mid to high-end projector from Projection Design with fishey
- 5.1 audio with a fairly advanced sub


Should one go for a mirror based solution or just a plain fishey solution?

How do I convince Celestia to do spherical projection (very easy in Stellarium)?

Does Celestia support 180 degree projection or this there a weird limit at 120 degrees?
Kenneth Bodin
VRlab/HPC2N, Umeå University
SWEDEN

Ramón
Posts: 14
Joined: 22.04.2003
With us: 21 years 2 months

Post #10by Ramón » 02.04.2007, 14:27

Hello, my name is Ramon Vargas and I'm running a planetarium in a science museum in the city of Xalapa, Veracruz.
We had 6 months by now that we are using the linux version of stellarium with a spherical mirror projection. We got an AMD 64 computer with 1 Gb of Ram, a GeForce 6200 with 256 MB video card and things run smoothly. We project in a 6.5 meters dome using a video projector with 1024 x 768 pixels and a 0.25 meters half dome acrylic spheric mirror. The mirror is a second surface mirror. We are going to change in a few weeks more to a 1400 x 1050 videoproyector and a fisrt surface 0.60 meters spheric mirror.
We had been make use of celestia with system a couple of times. If we mantain the planets of spacecrafts near the horizon of the dome, things look undistorted, but when we aproach to the zenith of the dome, thinks look very distorted. Celestia doesn't have a fisheye or a spherical distortion , characteristics that would make this program very useful for using in a planetarium dome. We know that Swinburne university sells a modified version of celestia that indeed has a fisheye and a spherical distortion feature, but this version is for mac.
We don??t know much about programing in C++, open GL and about the code of Celestia, but we are willing to learn, so we can make the necesary modifications to the code so we can use this wonderfull software inside our domes. But of course we are going to need the help and directions of the celestia comunity in order to achieve this goal as soon as possible.
By the way, we are using stellarium under suse linux 10.2 and so far, celestia under windows, but we are planning to migrate to linux for celestia also. If Vincent read this post, what happen with your celestia version that include the sound option? we are using your last one, your edu tools is great but lack of the sound feature, and inside the planetarium, altough is posibble to run with an external sound source, is more easy to control and for make the presentation, that the sound feature lies inside the program.
As a final coment, we are aslo using mplayer, a video player for linux, with a small program develop by Johannes Gajdosik, a stellarium developer, to run fisheye movies using the spherical distortion feature. For the moment, we are using demos from the internet to make projection test. Despite the low resolution of this demos, they look pretty well.

Vincent
Developer
Posts: 1356
Joined: 07.01.2005
With us: 19 years 5 months
Location: Nancy, France

Post #11by Vincent » 04.04.2007, 22:10

Ramon wrote:If Vincent read this post, what happen with your celestia version that include the sound option? we are using your last one, your edu tools is great but lack of the sound feature, and inside the planetarium, altough is posibble to run with an external sound source, is more easy to control and for make the presentation, that the sound feature lies inside the program.


Hi Ramon,

The latest beta version of the Lua Edu Tools seems to be working perfectly. So this version will probably correspond to v1.0 of the Lua Edu Tools that will be released as soon as Celestia 1.5.0 is released. Then, as I already said earlier, I will work on adding sound support to the Lua Edu Tools.
@+
Vincent

Celestia Qt4 SVN / Celestia 1.6.1 + Lua Edu Tools v1.2
GeForce 8600 GT 1024MB / AMD Athlon 64 Dual Core / 4Go DDR2 / XP SP3

Bodin
Posts: 7
Joined: 01.04.2007
With us: 17 years 3 months

Post #12by Bodin » 26.05.2007, 06:42

Very interesting to hear about your project Ramon!

Some questions:
Where do you find such a mirror, and how do I judge which projector to use? What sort of lense must the projector have? A special wide-angle lens, or just a the default lens?

I have a ~$10k (perhaps more) budget for a projector. Any idea which one should I go for?

If e-planetarium has modified the Celestia source and sell this as a product they are forced to release the source code since Celestia is under the GPL license. I'll send them an email requesting the source code for this.
If it is done as an opengl layer outside Celestia, then it is of course not a problem, so one shouldn't suspect them for license infringement without proper information about this.
Kenneth Bodin

VRlab/HPC2N, Umeå University

SWEDEN

Ramón
Posts: 14
Joined: 22.04.2003
With us: 21 years 2 months

Post #13by Ramón » 29.05.2007, 15:03

Hello Bodin.
About the mirror we first buy a security mirror (a Fred Silver mirror) with 18" in diameter. because this is a second surface mirror, we got some "ghost" on the image projected on the dome, but for a start, this was good.
Now we buy a first surface mirror from Acrilconvex in Australia. I been waiting for it to come soon. This one is 24" in diameter. This bigger mirror allow to us bigger liberty in the choose of the projectors.
About the projectors, we had been using an optoma EP 758, which has a 1024 x 768 pixels of resolution, a 3,000 Ansi lumens of bright and a contrast ratio of 2000:1. We had been projecting in a 7 meters dome. It cost to us (here in Mexico) around $3,000 USD. We recently purchase a Del 5100 MP, which has a bigger resolution (1500 x 1040 pixels), so, together with our new mirror, we are going to improve the image very much. This projector cost to us about $ 5,000 USD.
I will post some pictures of the system as soon we get the mirror and mount the system.
We mostly project stellarium, and from time to time celestia and partiview, because we didn't got the time to try to make a distortion program for celestia and partiview. We also use mplayer with a small distortion program to project digital dome movies.
e-planetarium hasn't modified celestia, was Swinburne university who does, they also did the first modified version of stellarium for projection into a dome. I don't know of any one who buy the system to swinburne of e-planetarium, but any way, in the page of stellarium (http://www.stellarium.org) you can download the program with the right distortion for dome projection.

Bodin
Posts: 7
Joined: 01.04.2007
With us: 17 years 3 months

Post #14by Bodin » 29.05.2007, 15:38

Ram???n wrote:Hello Bodin.
About the mirror we first buy a security mirror (a Fred Silver mirror) with 18" in diameter. because this is a second surface mirror, we got some "ghost" on the image projected on the dome, but for a start, this was good.
Now we buy a first surface mirror from Acrilconvex in Australia. I been waiting for it to come soon. This one is 24" in diameter. This bigger mirror allow to us bigger liberty in the choose of the projectors.
About the projectors, we had been using an optoma EP 758, which has a 1024 x 768 pixels of resolution, a 3,000 Ansi lumens of bright and a contrast ratio of 2000:1. We had been projecting in a 7 meters dome. It cost to us (here in Mexico) around $3,000 USD. We recently purchase a Del 5100 MP, which has a bigger resolution (1500 x 1040 pixels), so, together with our new mirror, we are going to improve the image very much. This projector cost to us about $ 5,000 USD.
I will post some pictures of the system as soon we get the mirror and mount the system.
We mostly project stellarium, and from time to time celestia and partiview, because we didn't got the time to try to make a distortion program for celestia and partiview. We also use mplayer with a small distortion program to project digital dome movies.
e-planetarium hasn't modified celestia, was Swinburne university who does, they also did the first modified version of stellarium for projection into a dome. I don't know of any one who buy the system to swinburne of e-planetarium, but any way, in the page of stellarium (http://www.stellarium.org) you can download the program with the right distortion for dome projection.


Ok, this sounds like a good solution. I'm lazy and quite happy to buy from Swinburn et.al. and currently trying to find out what their products include. It is very important though, that the solution we end up running must be open and future proof, so that we can run any version of Celestia or Stellarium, and also further develop and modify the software ourselves.

It seems that there are two things missing to run Celestia off-the-shelf in a mirror dome. First, Celestia by default doesn't have 180 degree dome/fisheye field of view, and secondly, the warping algorithm needed to correct for the mirror projection must be added to either Celestia or the opengl layer.
This warping solution is apparently something that Swinburn/E-planetarium et.al. provide. They also ship a version of Celestia that has been "fixed" to do larger field of view, and this should/must be contributed back to the community according to the GPL. Apparently they are working on releasing this.

Is there a warping software available for Stellarium? I'm not able to find it on the web page, so I would really appreciate a pointer!
Kenneth Bodin

VRlab/HPC2N, Umeå University

SWEDEN

Ramón
Posts: 14
Joined: 22.04.2003
With us: 21 years 2 months

Post #15by Ramón » 29.05.2007, 22:08

All you have to do is download the stellarium 0.8.2 for the operating system you have (windows, mac, linux). The program itself already includes distortion features (fisheye, spheric mirror,, perspective, etc.).
When you install the program, press the <1> key, this brings a configuration window. In the projection tab you choose fisheye and also mark spheric mirrror distortion. That's it. If you want more control you have to edit the config.ini file, which have the parameters for the dome radius, mirror radius, distance from the projector to the mirror, etc. You have to edit this manually to adap it to the specific conditions of your installation.
We use linux and if your confortable with building programs, you can download the new beta version (stellarium 0.9.0), wich have more parameters for a precise control of the spheric mirror distortion, a large star catalog and a lot more of new features, including audio and image management.
For a specific description on how to set your system, in the main page of stellarium, in the wiki area, you can find a section named "build your own dome". You'll find all the details in there, even a link to a description of the system made it by Paul Bourke, the person who develop the idea of the mirror dome when he works for swinburne. Now he is working for the university of western australia and he develop (with johannes gagdosik) the new features of the spheric mirror distortion for the new version of stellarium.
On the other hand, if you could get a distortion version of celestia, we'll really happy if you can contributed back to the community.
Regards from Mexico

Ramón
Posts: 14
Joined: 22.04.2003
With us: 21 years 2 months

Post #16by Ramón » 29.05.2007, 22:19

Hello bodin, me again.
Sorry, I think I wasn't clear enough on the topic of how to set up your system.
In the wiki area you'll look for the Advanced Topics section. Once you find it, in the projection area you'll see a topic that reads Dome projection for spheric mirror.
Regards

Bodin
Posts: 7
Joined: 01.04.2007
With us: 17 years 3 months

Post #17by Bodin » 04.06.2007, 04:59

Ram???n wrote:Hello bodin, me again.
Sorry, I think I wasn't clear enough on the topic of how to set up your system.
In the wiki area you'll look for the Advanced Topics section. Once you find it, in the projection area you'll see a topic that reads Dome projection for spheric mirror.
Regards


Hi,
Yes, I have learnt now that Stellarium actually has built in support for mirrors too. The e-planetarium solution relies on an external "mirror warping software", that all by itself costs more than any other component in the planetarium, and also runs only on osg and linux, so that was not considered acceptable here.
Glad to see that Stellarium can be used right out of the box for this!

However, what about Celestia then? As far as I know Celestia even do the spherical fisheye transformation, or even show a large enough field of view. Do you have a modified version of celestia?
Kenneth Bodin

VRlab/HPC2N, Umeå University

SWEDEN

digitalis
Posts: 1
Joined: 04.06.2007
With us: 17 years
Location: Bremerton, WA, USA

Post #18by digitalis » 04.06.2007, 15:52

Just to correct a few factual errors earlier in this thread:

The fisheye/dome projection features in Stellarium were sponsored by Digitalis Education Solutions way back in 2003 (not Swinburne University). Stellarium is the main planetarium software in our line of Digitarium digital planetarium systems and I am one of the Stellarium developers.

The spherical mirror distortion feature in the main branch of Stellarium was independently implemented by Stellarium developer Johannes Gajdosik on his own. Swinburne had developed their own version but were witholding the source code.

I assume they are doing something similar with their fisheye version of Celestia, where they are trying to keep it from becoming publicly available. If this is the case, there are two options. Shame them into contributing the code back to the project or ask a MirrorDome customer to ask Swinburne for the code (they must provide this under their GPL obligations) and then send it to the Celestia developers for inclusion in the main branch if possible.

Rob Spearman

President
Digitalis Education Solutions, Inc.
http://DigitalisEducation.com

Bodin
Posts: 7
Joined: 01.04.2007
With us: 17 years 3 months

Post #19by Bodin » 04.06.2007, 16:09

They have promised to release the fisheye-modified version of Celestia. I'm going to need it soon enough, and since they provide it as a part of a commercial packages, they must of course release it. I'll ask for it later this week.
I didn't want to be overly explicit about what I think about this sort of behaviour with open source software, but go figure...

The stand-alone mirror warping software from e-planetarium/Swindon costs way more than is acceptable for our project, in particular since it is closed source and they only support osx and linux - and Stellarium already supports this by itself anyway.

However, I have more or less abandoned the idea of a mirror based solution since it introduces assymmetries that are quite hard to cope with in software. We're going for spherical projection with a fisheye instead, and will live with the unused pixels.

digitalis wrote:Just to correct a few factual errors earlier in this thread:

The fisheye/dome projection features in Stellarium were sponsored by Digitalis Education Solutions way back in 2003 (not Swinburne University). Stellarium is the main planetarium software in our line of Digitarium digital planetarium systems and I am one of the Stellarium developers.

The spherical mirror distortion feature in the main branch of Stellarium was independently implemented by Stellarium developer Johannes Gajdosik on his own. Swinburne had developed their own version but were witholding the source code.

I assume they are doing something similar with their fisheye version of Celestia, where they are trying to keep it from becoming publicly available. If this is the case, there are two options. Shame them into contributing the code back to the project or ask a MirrorDome customer to ask Swinburne for the code (they must provide this under their GPL obligations) and then send it to the Celestia developers for inclusion in the main branch if possible.

Rob Spearman

President
Digitalis Education Solutions, Inc.
http://DigitalisEducation.com
Kenneth Bodin

VRlab/HPC2N, Umeå University

SWEDEN

cyber_space_doc
Posts: 53
Joined: 19.03.2007
With us: 17 years 3 months
Location: united kingdom

Post #20by cyber_space_doc » 16.07.2007, 23:55

Hi,

I have psuedocode for how to make a fish-eye distortion for celestia.

The basic idea is to render everything to a cubemap, and then render a geometry to the backbuffer that indexes the cubemap.

here is some setup code


Code: Select all

    struct Vertex
    {
      Vec3f p;
      Vec3f n;
    };

   int            NumTriangles = (NumRings+1) * NumSections * 2;
    int            NumVertices  = (NumRings+1) * NumSections + 2;


   Vertex *vertices = new Vertex[NumVertices];

   vertices[0].p = Vec3f( 0.0f, 0.0f, fScale );
   vertices[0].n = Vec3f( 0.0f, 0.0f, 1.0f );

    float r = 0.0f;
   int t = 1;
    for( int i = 0; i < (NumRings+1); i++ )
    {
        float phi = 0.0f;

        for( j = 0; j < NumSections; j++ )
        {
            float x  =  r * sinf(phi);
            float y  =  r * cosf(phi);
            float z  = 0.5f - 0.5f * ( x*x + y*y );

            float nx = -x;
            float ny = -y;
            float nz = 1.0f;

            vertices[t].p = Vec3f( x, y, z );
            vertices[t].n = Vec3f( nx, ny, nz );
            t++;

            phi += (FLOAT)(2_PI / NumSections);
        }

        r += 1.5f / NumRings;
    }



and then once everything is renderered to a cubemap, the fish eye distortion triangles are rendered with the scene cubemap applied as texture, using OpenGL texgen. The same effect could also be applied using the glTexCoord3f(s,t,r); command, passing the compenents of the vertex normal vector to index the cubemap. This next stage is probably best done with glshader language. Anyway the psuedocode is:-


Code: Select all

   glEnable(GL_TEXTURE_CUBE_MAP_EXT);

   glTexGenfv(GL_S, GL_TEXTURE_GEN_MODE, GL_REFLECTION_MAP_EXT);
   glTexGenfv(GL_T, GL_TEXTURE_GEN_MODE, GL_REFLECTION_MAP_EXT);
   glTexGenfv(GL_R, GL_TEXTURE_GEN_MODE, GL_REFLECTION_MAP_EXT);
   glEnable(GL_TEXTURE_GEN_S);
   glEnable(GL_TEXTURE_GEN_T);
   glEnable(GL_TEXTURE_GEN_R);


   // important to make sure that an identity matrix is loaded...
   glPushMatrix( identity() );
   glBegin( GL_TRIANGLES );

       // Generate triangles for the centerpiece

    for( int i = 0; i < 2*NumSections; i++ )
    {
      int i1 = 0;
      int i2 = i + 1;
      int i3 = 1 + ((i + 1) % NumSections);
      glVertex3f( vertices[i1].p.x,vertices[i1].p.y,vertices[i1].p.z );
      glNormal3f( vertices[ i1 ].n.x, vertices[ i1 ].n.y, vertices[ i1 ].n.z );
      glVertex3f( vertices[i2].p.x,vertices[i2].p.y,vertices[i2].p.z );
      glNormal3f( vertices[ i2 ].n.x, vertices[ i2 ].n.y, vertices[ i2 ].n.z );
      glVertex3f( vertices[i3].p.x,vertices[i3].p.y,vertices[i3].p.z );
      glNormal3f( vertices[ i3 ].n.x, vertices[ i3 ].n.y, vertices[ i3 ].n.z );

    }

    /// EDIT: Not a triangle strip

    // Generate triangles for the rings
    m = 1;  // 1st vertex begins at 1 to skip top point

    for( int  i = 0; i < NumRings; i++ )
    {
        for( j = 0; j < NumSections; j++ )
        {

         // first triangle
         int indx1 = m + j;
         int indx2 = m + NumSections + j;
         int indx3 = m + NumSections + ((j + 1) % NumSections);

         int indx4 = m + j;
         int indx5 = m + NumSections + ((j + 1) % NumSections);
         int indx6 = m + ((j + 1) % NumSections);

         glVertex3f( vertices[ indx1 ].p.x, vertices[ indx1 ].p.y, vertices[ indx1 ].p.z );
         glNormal3f( vertices[ indx1 ].n.x, vertices[ indx1 ].n.y, vertices[ indx1 ].n.z );

         glVertex3f( vertices[indx2].p.x, vertices[indx2].p.y, vertices[indx2].p.z );
         glNormal3f( vertices[indx2].n.x, vertices[indx2].n.y, vertices[indx2].n.z );

         glVertex3f( vertices[indx3].p.x, vertices[indx3].p.y, vertices[indx3].p.z );
         glNormal3f( vertices[indx3].n.x, vertices[indx3].n.y, vertices[indx3].n.z );


         // second triangle
         glVertex3f( vertices[indx4].p.x, vertices[indx4].p.y, vertices[indx4].p.z );
         glNormal3f( vertices[indx4].n.x, vertices[indx4].n.y, vertices[indx4].n.z );

         glVertex3f( vertices[indx5].p.x, vertices[indx5].p.y, vertices[indx5].p.z );
         glNormal3f( vertices[indx5].n.x, vertices[indx5].n.y, vertices[indx5].n.z );

         glVertex3f( vertices[indx6].p.x, vertices[indx6].p.y, vertices[indx6].p.z );
         glNormal3f( vertices[indx6].n.x, vertices[indx6].n.y, vertices[indx6].n.z );

        }
        m += NumSections;
    }

   glEnd();

   glPopMatrix();






note: this is all based on some old direct3d code, therefore it might not work properly at first.
System: AMD 3200+
512Mb RAM
GeForce 7300 FX 256 mb VRAM
Windows XP Home Edition
Nforce4 Motherboard
Service Pack 2
_____________________


Return to “Celestia in Education”