Billboard \Bill"board`\, n. 1. (Naut.) A piece of thick plank, armed with iron plates, and fixed on the bow or fore channels of a vessel, for the bill or fluke of the anchor to rest on. --Totten. 2. A flat surface, as of a panel or of a fence, on which bills are posted; a bulletin board.Here is a simple, square 3DS object model. By changing its surface texture image map, you can use it to show flat, colorful pictures of deep space objects in Celestia. It's a billboard in space!
Celestia v1.3 and later let you create Deep Space Catalogs (.DSC files). You can use them to define the locations of Nebulae. They consist of 3D models with appropriate shapes and surface textures.
Unfortunately, making a three dimensional shape that looks right from all directions can be rather difficult. We only know what most nebulae look like from here on Earth. We really don't know what their other sides look like. Radio telescopes have provided hints about some of their shapes, though.
This flat "billboard" lets you display a photograph instead of a
three dimensional shape. The picture will only look right in Celestia
when seen from the vicinity of the
Earth, of course. If you travel far away from the Earth, it'll be
distorted.
1.0: The Flat Billboard.
The zip archive below includes the 3DS billboard object and a sample billboard image. The 3DS object itself is less than 1KB. The ZIP file is much larger because of the size of the sample image and its alpha channel.
Archive: billboard.zip Length Date Time Name -------- ---- ---- ---- 365 06-18-03 10:47 billboard/billboard.dsc 55215 06-18-03 10:46 billboard/billboard.html 0 05-21-03 20:16 billboard/models/ 0 05-21-03 20:16 billboard/textures/ 710 04-05-03 13:01 billboard/models/billboard.3ds 0 05-21-03 20:16 billboard/textures/medres/ 2375783 04-11-03 23:03 billboard/textures/medres/billboard.png -------- ------- 2432073 7 files
billboard.dsc
defines a nebula named
"Billboard".
"billboard.3ds"
.
billboard.3ds
it specifies the name of the surface
texture map billboard.png
.
This is the picture you want to see.
Here's billboard.dsc
:
This was updated on 18Jun03 with revised Axis, Angle and InfoURL
values provided by Grant Hutchison.
#Hoag's Object Nebula "Billboard" { Mesh "billboard.3ds" Axis [-0.235944 0.829369 0.343357] Angle 152.350 Distance 6.0e+8 RA 15.3208 # 15h 17m 17s Dec 21.57917 # 21deg 34' 45" Radius 60000 InfoURL "http://heritage.stsci.edu/2002/21/fast_facts.html" }
The name "Billboard" is just being used as an example. There is no real nebula with that name.
.3ds
file
in a models
directory.
Each copy of the model must be given a different name.
You also have to edit the new 3DS file to change the name of the
texture image file that it looks for. Currently it specifies
billboard.png
. You cannot use most text editors to make this change
because of the binary codes in the model file. A binary editor like
HexEdit can be used, but I found that Emacs works quite well.
The image filename in the 3DS model file is a null-terminated string. When using Emacs, I found that I could use any length filename I wanted. If you use this object only with Celestia, the texture name doesn't have to be exactly the same length as in the original file. Apparently, however, most 3D programs can't decode this model unless the name is precisely 8.3 characters. Note that "billboard.png" is 9.3.
You don't have to specify a PNG image file, of course. Celestia will
happily render a .JPG or .DDS file just as well. However, the image
file does need to be in a directory named textures/medres
.
textures/medres
as carina.jpg
carina.dsc
in your
extras
directory, containing the following Nebula definition:
carina.dsc
:
# Eta Carina Nebula (detail) # # the "billboard" picture used with this definition is derived from # a NASA/STScI image found on the Web (see below) # Nebula "Carina" { Mesh "carina.3ds" Axis [ 0.517248 -0.0448043 0.854662 ] Angle 149.296 Distance 8000 RA 10.7454 # 10h 44m 46s Dec -59.6487 #-59deg 38' 56" Radius 4.55 InfoURL "http://hubblesite.org/newscenter/archive/2000/06/fastfacts" }
billboard.3ds
to carina.3ds
in your
models
directory.
carina.3ds
from billboard.png
to
carina.jpg
GoTo Carina
Bear in mind that this .DSC file provides the coordinates of a tiny portion of the Carina Nebula, corresponding to the picture taken by the Hubble telescope. You'll have to use different coordinates if you use a different picture. See below for the coordinates used for a picture of the whole nebula.
Note:
When seen from the front, the image on the positive Z face is upright. The image is reversed on the back of the billboard object. As a result, the picture seems to be embedded inside the billboard. The billboard object is thin enough that it's effectively invisible when seen from the sides.
The example surface texture file billboard.png
that I've supplied
happens to be an image of Hoag's Object. The image that Celestia
renders is somewhat fainter than it should be. The greyscale alpha channel is
transparent where there should be dark obscuring dust clouds, since the
conversion software cannot distinguish between darkness due to
obscuration and darkness due to the lack of stars.
Producing a proper alpha channel for Hoag's Object
is left as an exercise for the artist. If someone does produce a good
transparency channel, I'll be glad to include it here.
Image | Comments |
---|---|
![]() Billboard Image: Hoag's Object |
Note that this image is slightly fainter than the primary layer of the
texture below.
|
![]() Billboard Surface Texture: Hoag's Object |
These texture maps were derived from a Hubble
picture.
See the acknowledgements below.
|
billboard.png
. Rename an appropriate PNG image or edit
this mesh file to use a different picture.
billboard.dsc
#Hoag's Object Nebula "Billboard" { Mesh "billboard.3ds" Axis [-0.293399 0.89844 0.326684 ] Angle 165.499 Distance 6.0e+8 RA 15.3208 # 15h 17m 17s Dec 21.57917 # 21deg 34' 45" Radius 60000 InfoURL "http://heritage.stsci.edu/2002/21/table.html" }
After you've installed these, your directory structure should look something like this:
[-] Celestia130 --- data [-] extras | [-] addons | [-] billboard | -- billboard.dsc | --- models | -- billboard.3ds | [-] textures | --- medres | -- billboard.png --- models [+] texturesFor an explanation of why your directories should be organized like this, please see
Image | Comments |
---|---|
![]() Earth in the Carina Nebula |
This image was not generated by cheating, as a previous version was.
To see this and similar dramatic views, one only has to find the
right combination of viewpoint and telescopic magnification.
Aye, there's the rub.
Unfortunately, adjusting Celestia's viewpoint is extremely
difficult at high magnifications.
This image was finally acquired by first aligning the Earth's orbit
and then letting the planet drift across the field of view.
Cel:// URLs for Earth and the Nebula Each is progressively closer to the detailed Hubble picture. This looks best if you also install the definition below for NGC 3372. |
![]() Carina Nebula Detail |
This texture map was derived from a Hubble image showing details
of a portion of the nebula.
See the acknowledgements below.
|
carina.jpg
. Rename an appropriate JPEG image or edit
this mesh file to use a different picture.
carina.dsc
(1KB, updated 21May2003
with a more accurate orientation for the detailed picture)
# Eta Carina Nebula (detail) # # the "billboard" picture used with this definition is derived from # a NASA/STScI image found on the Web (see below) # Nebula "Carina" { Mesh "carina.3ds" Axis [ 0.517248 -0.0448043 0.854662 ] Angle 149.296 Distance 8000 RA 10.7454 # 10h 44m 46s Dec -59.6487 #-59deg 38' 56" Radius 4.55 InfoURL "http://hubblesite.org/newscenter/archive/2000/06/fastfacts" }
After you've installed these, your directory structure should look something like this:
[-] Celestia130 --- data [-] extras | [-] addons | [+] billboard | [-] Carina | -- carina.dsc | --- models | -- carina.3ds | [-] textures | --- medres | -- carina.jpg --- models [+] texturesFor an explanation of why your directories should be organized like this, please see
Image | Comments |
---|---|
![]() Earth in NGC 3372 |
Cel:// URL for this viewpoint: |
![]() NGC 3372 |
This texture was derived from the image
02192.tiff.
Credit: NOAO/AURA/NSF.
For details, see the
acknowledgements below.
|
ngc3372.jpg
. Rename an appropriate JPEG image or edit
this mesh file to use a different picture.
# NGC 3372 # # The accompanying images of NGC3372 were derived from 02192.TIFF # at http://www.noao.edu/image_gallery/html/im0061.html # Original tiff image credit: # "National Optical Astronomy Observatory/ # Association of Universities for Research in Astronomy/ # National Science Foundation" # # According to http://www.noao.edu/image_gallery/copyright.html # their images may be used freely for # educational outreach activities composed by amateur astronomers. # Nebula "NGC 3372" { Mesh "ngc3372.3ds" Axis [-0.206916 0.153726 0.966206] Angle 154.5 Distance 8500 RA 10.7345 Dec -59.752 Radius 219 InfoURL "http://www.noao.edu/image_gallery/html/im0061.html" }
After you've installed these, your directory structure should look something like this:
[-] Celestia130 --- data [-] extras | [-] addons | [+] billboard | [+] Carina | [-] NGC3372 | -- ngc3372.dsc | --- models | -- ngc3372.3ds | [-] textures | --- medres | -- ngc3372.jpg --- models [+] texturesFor an explanation of why your directories should be organized like this, please see
Note:
The file carina.dsc
in this zip archive includes the
declarations for both NGC 3372 and the detailed Hubble picture of
Carina.
Archive: carina.zip Length Date Time Name -------- ---- ---- ---- 0 05-21-03 22:24 carina/ 0 05-21-03 22:24 carina/models/ 711 04-13-03 19:27 carina/models/carina.3ds 712 05-21-03 22:29 carina/models/ngc3372.3ds 0 05-21-03 22:24 carina/textures/ 0 05-21-03 22:24 carina/textures/medres/ 5592560 04-13-03 19:28 carina/textures/medres/carina-2k.dds 5592560 04-13-03 15:00 carina/textures/medres/ngc3372-2k.dds 1315 05-21-03 22:15 carina/carina.dsc -------- ------- 11187858 9 files
Image | Comments |
---|---|
![]() Seeing Barnard 33 past Pan |
Cel:// URLs for Pan and the Nebula:
Barnard 33 is also known as the Horsehead Nebula. The following are points-of-view to help align the other nebulae in Orion.
|
![]() Horsehead Region |
These textures were derived from an
astrophotograph taken by
Walter Koprolin. They are provided here
with his kind permission for use with Celestia. For details, see the
acknowledgements below.
These DDS files are in DXT1c format. They do not contain an Alpha channel. |
b33.jpg
. Rename an appropriate JPEG image or edit
this mesh file to use a different picture.
#Horsehead Nebula in Orion # # the "billboard" picture used with this definition is derived from #a photograph of the Horsehead Nebula Region taken by Walter Koprolin, # Austria, Europe: http://www.astro.univie.ac.at/~koprolin/ # Nebula "Barnard 33" { Mesh "b33.3ds" Axis [ -0.641856 0.38352 -0.664029 ] Angle 132.636 Distance 1600 RA 5.69 Dec -2.35 Radius 40.3 }
After you've installed these, your directory structure should look something like this:
[-] Celestia130 --- data [-] extras | [-] addons | [+] billboard | [+] Carina | [+] NGC3372 | [-] B33 | -- b33.dsc | --- models | -- b33.3ds | [-] textures | --- medres | -- b33.jpg --- models [+] texturesFor an explanation of why your directories should be organized like this, please see
Image | Comments |
---|---|
![]() Four Planetary Nebulae |
pn.zip (300KB, update: 25May03)
pn.dsc
and four billboard models and their
associated pictures. They provide the planetary nebulae images shown
above. It was updated on May 25th to precisely align the images of the
nebulae.
After you've installed this archive, your directory structure should look something like this:
[-] Celestia130 --- data [-] extras | [-] addons | [+] billboard | [+] Carina | [+] NGC3372 | [+] B33 | [-] pn | -- pn-readme.txt | -- pn.dsc | --- models | -- ngc2346.3ds | -- ngc2392.3ds | -- ngc2440.3ds | -- ngc6369.3ds | [-] textures | --- medres | -- ngc2346.jpg | -- ngc2392.jpg | -- ngc2440.jpg | -- ngc6369.jpg --- models [+] texturesFor an explanation of why your directories should be organized like this, please see
These adjustments are needed because the accepted astronomical coordinates of an object usually are nowhere near the centroid either of its photograph or of the model that you've designed.
In summary:
In detail:
My "Billboard" object can be used for this, or you can construct one of your own. See above.
Use a telescopic viewpoint from the vicinity of the Solar System to look at your picture. E.g.: Goto Earth, Track object, increase magnification with the "," command until the object fills your field of view appropriately.
You'll need to set the Axis and Angle of the picture's DSC definition so the image is face-on to the solar viewpoint and rotated into the correct position against the background stars. You can use Celestia's builtin positioning tool to determine these values:
.\celestia -v > align.log
Shift-~
" to enable edit mode
Control-Shift Left-Mouse-Button
and use the mouse
to adjust the object's x-y orientation.
Control-Shift Right-Mouse-Button
and use the mouse
to adjust the object's Z-axis rotation orientation.
Shift-!
" to save your final Axis and Angle values to
align.log
align.log
If these instructions are too cryptic, please take a look at the 6.2: Axis and Angle adjustment details below.
Edit the object's DSC file. Restart Celestia after each edit. Change the RA, Dec and Radius values until the stars of the photograph precisely match those which Celestia draws in that region. There's no reason to adjust the distance. That's the least well known of any of the parameters. Once the distance has been set to a reasonable value, changing the radius of the object is all that's needed to make the object's size appropriate.
You have to exit and restart Celestia each time you modify the DSC file. I usually use a Cel://URL to restart Celestia with the appropriate viewpoint, with the object selected and centered.
Sometimes moving the object will change its location enough that it no longer directly faces the solar system. This makes it harder to line up with the stars around it. Realigning the object's Z axis may help.
Sometimes there simply aren't enough stars in Celestia near the object you're trying to align. In some cases I've had to install Pascal's 2 million star database in order to have enough stars nearby. This extended database is available at http://perso.wanadoo.fr/celestia.stars/index.html.
Another way to get enough alignment stars is to use a larger picture of the area which includes many stars. Some are sure to overlap Celestia's stars. Align the larger picture to Celestia's stars, then align the smaller picture on the larger one. This is easiest if you use a translucent image: a PNG or DDS image with an alpha channel.
I've found that using an alpha channel that's a greyscale version of the image being aligned works quite weil. The stars are white, so they're opaque, while the darker spaces between the stars become more or less transparent. As a result, it's easy to see the stars of the background picture through the picture being aligned.
When working with more than one picture billboard, put the ones that cover a larger area first in the DSC file. Pictures that cover a smaller area should be later in the same DSC file. This ensures that larger pictures are drawn before smaller ones. The ones drawn last will seem to be in front of the earlier ones. This is necessary because Celestia does not yet depth-sort Nebula objects. If it did, you could just declare them at appropriate distances and the order wouldn't matter.
Once you've managed to get your photograph(s) oriented correctly, add your 3D model as the final object in that same DSC file. This makes Celesia draw your Nebula model last, in front of the pictures.
Then use the same procedures as above to change the model's orientation and position (Axis, Angle, RA, Dec and Radius) until it precisely matches the photograph.
Finally, you can comment out the DSC entry for the photograph and your model will be shown at the right location in space.
Although mouse movements can be used to adjust an object's orientation, trying to align the object to properly face the earth can be quite frustrating. Not only does the object often rotate in quite unexpected directions, but finding exactly the right direction for the object to face sometimes can be difficult.
If you've created your models similarly to the way I created the Billboard, then the Z face is the one you want facing toward the Solar System. Celestia's rotational adjustment assumes this is the case.
To orient your object properly, you need to point the normal vector of the positive Z surface toward the viewpoint.
Although this jargon sounds complicated, thinking about it in these terms can be used to simplify how one does the alignment. Below is a solution that I came up with after thinking about it this way.
Briefly, you should align a long, skinny object instead of the relatively flat or round object that you've designed. It will be properly aligned when you've positioned the the object's Marker in the center of the relatively small front (Z) surface of that long, skinny object while you're looking at it from the solar system. The resulting Axis and Angle values can then be used to properly orient the real object.
The alignz.zip
archive below contains a 3DS model of a long,
skinny box which has a small Z surface covered by an alignment pattern.
alignz.zip
(23KB, updated 8Jun03: new alignment pattern)
Archive: alignz.zip Length Date Time Name -------- ---- ---- ---- 0 06-08-03 14:53 alignz/ 425 06-08-03 17:22 alignz/alignz.dsc 0 06-08-03 14:53 alignz/models/ 710 05-20-03 05:40 alignz/models/alignz.3ds 0 06-08-03 14:53 alignz/textures/ 0 06-08-03 14:53 alignz/textures/medres/ 18382 06-08-03 15:16 alignz/textures/medres/12345678.jpg 8392 06-08-03 17:32 alignz/alignz-readme.txt -------- ------- 27909 8 files
alignz.dsc
to contain the desired position of the object you're creating for
Celestia.
.\celestia -v > align.log
cd
to the directory where you put Celestia
.\celestia -v > align.log
.\celestia
means "run the program in this directory that's named celestia"
-v
means "create a log of debugging messages"
>
means "send the log output to the file name which follows"
align.log
is the name of the log file that you want Celestia to create.
You can use any file name you want. I chose "align.log
"
Control-K
command.
alignz
and view it telescopically
from the solar system
alignz
's Marker on its alignment grid.
Shift-~
" to enable edit mode
Control-Shift Left-Mouse-Button
and use the mouse
to adjust the object's x-y orientation until the Marker is centered on
the grid.
Control-Shift Right-Mouse-Button
and use the mouse
to adjust the object's rotation orientation until the object is
correctly aligned with the Celestial coordinate system. (Requires
Celestia v1.3.1pre3 or later.)
Shift-!
" to save your final Axis and Angle values to
align.log
align.log
Image | Comments |
---|---|
![]() NGC 4622 |
Cel:// URL:
|
The DDS texture map used for this image was derived from a Hubble
image of NGC 4622.
See the acknowledgements below.
Cel:// URL:
|
|
![]() NGC 4622 using a specific 3D model. |
The 3d model specifically for NGC 4622:
Cel:// URL: |
Archive: ngc4622.zip Length Date Time Name -------- ---- ---- ---- 0 05-10-03 09:01 ngc4622/ 0 05-10-03 09:02 ngc4622/models/ 442386 05-10-03 12:50 ngc4622/models/ngc4622.3ds 710 05-01-03 19:30 ngc4622/models/ngc4622-c.3ds 0 05-10-03 09:02 ngc4622/textures/ 0 05-10-03 09:02 ngc4622/textures/medres/ 1398256 05-10-03 12:37 ngc4622/textures/medres/ngc4622.dds 38762 05-01-03 19:33 ngc4622/textures/medres/ngc4622-c.jpg 727 05-10-03 13:38 ngc4622/ngc4622.dsc 449 05-10-03 12:58 ngc4622/ngc4622-sat.sscno 867 05-10-03 13:31 ngc4622/ngc4622.html -------- ------- 1882157 11 files
Here is a sphere with its surface normal vectors reversed, which can be used to as a screen on which to project maps of the sky. It's like having a planetarium within Celestia.
3D display systems only draw surfaces if their surface normal vectors point toward the observer. Usually a sphere's surface normals point outward, so 3D display programs seem to draw an image of the outside of the sphere. With the normals reversed, you see the inside of the sphere instead. The side closest to you, which normally would be opaque, is now transparent because its normals are pointed away from you. The far side of the interior, which normally would not be drawn, both because it would have been hidden by the front surface and because its normals point away from you, is now visible.
Here's an example showing a map of galactic Infrared emissions against the Milky Way.
Image | Comments |
---|---|
![]() The MSX IR Mosaic Map of the Milky Way |
|
![]() The fire this time: MSX IR map of the Milky Way |
Cel:// URL: The fire this time: MSX IR map of the Milky Way |
![]() The MSX IR Mosaic Map surface texture |
mw-msx-2k.png (360KB, 16Jun03)
The PNG texture map used for theis imsge was derived from a mosaic of the infrared sky produced by the Midcourse Space Experiment. See the acknowledgements below. There are several things to note about this surface texture.
|
These files were updated on 16Jun03 to properly orient the model of the sphere and with a regenerateed map which corresponds with the corrected orientaion.
mw-msx-2k.png
)
Archive: mw-msx.zip Length Date Time Name -------- ---- ---- ---- 0 06-14-03 17:15 mw-msx/ 907 06-14-03 17:19 mw-msx/mw-msx.html 1978 06-16-03 20:05 mw-msx/mw-msx-readme.txt 0 06-14-03 17:15 mw-msx/models/ 26103 06-16-03 19:28 mw-msx/models/mw-msx.3ds 0 06-14-03 17:15 mw-msx/textures/ 0 06-14-03 17:15 mw-msx/textures/medres/ 359778 06-16-03 19:46 mw-msx/textures/medres/mw-msx-2k.png 873 06-16-03 19:49 mw-msx/mw-msx.dsc -------- ------- 389639 9 files
Here's the contents of mw-msx.dsc
:
Nebula "mw-msx" { Mesh "mw-msx.3ds" Axis [-0.409897 0.623875 0.665406] Angle 217.369 RA 17.76033 Dec -28.936172 Distance 2 Radius 10000 InfoURL "http://irsa.ipac.caltech.edu/applications/MSX/galplane.html" }
mw-msx
map was taken from an MSX (Midcourse Space Experiment) mosaic
which can be seen on the Web at
http://irsa.ipac.caltech.edu/applications/MSX/galplane.html.
Creation of the mw-msx
map made use of data products from the Midcourse
Space Experiment. Their processing of the data was funded by the
Ballistic Missile Defense Organization with additional support from
NASA Office of Space Science.
This creation has also made use of the NASA/ IPAC Infrared Science Archive, which is operated by the Jet Propulsion Laboratory, California Institute of Technology, under contract with the National Aeronautics and Space Administration.
If you don't tell me that something's missing, unclear or wrong, I can't improve it.