a tool letting you explore the 3D structure of near and far universe.
3D effect is obtained in several ways (the two last one may be mixed):
Have a good exploration.
My applets have benefited from data compilations made by others. I have adapted files as they appear on several sites, especially
You should use the button "Data" down left in the applet to see more details concerning the sources of each individual file.
The applet downloads several jar data files. Most of them contain small or moderate files, but those marked HUGE contain all together about 920 000 3D positions of galaxies plus a file with 85 000 positions of quasars.
If you use these HUGE files you should keep an eye on the Java monitor. The monitor will tell you if the applet runs out of memory. If this happens you should open the Java Plug-in configuration panel (in Start/parameters) and augment the memory for the Java Runtime Environment, type -Xmx512m in the execution parameter editor and then restart your browser.
Most of the HUGE files are made up of 6 HUGE NED files made of data from the NASA/IPAC Extragalactic Database (NED database). To understand the 3D coverage in space of this data, take a look at my explanations here.
At any mouse move thousands of positions must be recalculated and redrawn, so a fast-to-refresh view is essential. Points are fast to draw, and in any case luminous points are mostly what you really would see in space. So the applet just shows you the positions as points (or tiny balls) and not much more.
Representing stars, galaxies and other objects in 3D space is a challenge. Most objects like stars have literally no extension compared to the immense distances between them. Even large galaxies become points when confronted to the whole universe.
In space there are no up, no down, even no here or there. A small portion of empty space is all alike a tremendously huge portion of empty space. And a star seen as a point resembles any other star or galaxy seen as a point. If you get lost, there is no familiar landscape, even less your own footsteps showing you the way home.
But shouldn't there be gaseous clouds in the Milky Way? Sure, but we don't know their real form, and a 3D view would be very hard to represent. So I just mark their position as a point (or maybe some day as a disk with a radius depending on the real size and the distance from which it is seen).
In some files I use wireframes to draw objects with spatial zoomable extension. But this is the exception because they are rather slow to draw on the screen.
The first thing to do is to choose one or several files in the file exploration panel. The files are arranged in a tree, and selecting a node will also select all files under that node.
As usual you make multiple selections by pressing the Ctrl key while selecting.
The black universe window gives you a view on the content of the files that you have selected. It also lets you rotate the universe by dragging the mouse. Rotating should give you a feeling of space and 3D.
You freely rotate the universe by dragging the mouse over the universe window, but you may also use the Cmds panel to do a more precisely controlled rotation. In the Cmds->Rotate about axis pane, choose one of the three axes x, y or z of the coordinate system or one of the three axes of the window H(orizontal), V(ertical), N(ormal) Then drag the cursor or type in an angle in the small editor.
You may also use the Cmds->reset->Rotation button to set the rotation to "no rotation" with respect to the coordinate system. You will then see the xOy-plane from "above" (from positive z-values towards negative) with x-axis pointing to the right. This may seem counter-intuitive, but corresponds to the way you look at a roadmap where the x-axis goes to the east and the y-axis to the north.
When the mouse pointer rests on a space object, a tooltip popup will tell you the name and distance from current center of this object, and sometimes some other informations as number of planets or velocity.
At the bottom of the applet you will find the zoom slider with + and - buttons. You can only zoom in on the center of the universe window. The progression of the zoom is exponential so don't go too fast. The mouse wheel lets you zoom too.
If you want to zoom in on an other object you must first put it in the center. To do so, you double-click on it.
When you load some files the view of the universe is ajusted so that the diameter of the universe fits to the universe window. For example if I load the solar system file, Voyager 1 (the farthest object) will stay in the screen. But if I then press the Ctrl key while selecting the Milky Way real size file I must zoom in and expand the view by a factor of about 15 million to get the same view on the solar system.
If your screen appears all black, take a look at the zoom slider. You may have zoomed too much... Another way to get a black screen is to center on a periferial object millions of light years from Earth, then discard all files but one with objects near Sun. To recenter, use Cmds->reset->Center button.
If you do a right click on an object (except objects in HUGE files), a popup menu lets you look up
this object in the data files window. The window will scroll to the object which appears in
This file window shows a concatenation of the selected files. Each file is preceded by a short presentation and a reference to its origin. I have made no attempt to unify the presentation or notations in the files. The file header will tell you if I have tried to eliminate occurences of the same object in several files (this is annoying because varying coordinates or distances result in two or more occurences of the same object in the universe window). Any object having a distance 0 in a file will coincide with earth's position on the screen.
The data window is also endowed with a popup menu. A right click on a line representing an object
will get up this menu and let you encircle the object on the screen. In this way it's easier to
find it in the 3D scene. Several objects may be encircled at the same time.
You have a string searching functionality at disposal. Downside in the file window you'll find an editor where you type the string to search for.
Default searching is not case-sensitive. You can use Java patterns for the search, see More on text searching below. For example in the file Galaxies17mly the Andromeda galaxy is denoted NGC224 (three letters, no space) and N 224 (one letter, two white spaces) in 2367GalaxiesRealSize40Mpc. The research pattern n(gc)? *224 meaning "n then maybe the block gc then zero or more white spaces then finally 224" will find both occurrences (and only those two).
You should be aware that no file or compilation of files could ever present "the real universe". Files will always have omissions and approximations. Omissions and approximations are parents to artifacts like empty space where objects should be present, apparent concentrations elsewhere because only these objects have been catalogued and not others beside these (partial coverage), bad estimation of distances (distances are very difficult to estimate), "fingers of God"-artifacts when redshift is converted to distance because proper motion redshift is added to Hubble redshift and so on. Further on you will find More on artifacts
The applet starts in an external view and when you load files the universe appears more or less as a ball that you can turn around in all directions. Relative positions of objects will change giving you a 3D sensation. When you switch to a central view you move forward to the center of the universe still looking in the same direction. You then see the universe as it would appear on the heaven above this point in the universe, for example the Milky Way region seen from Andromeda. Central vision is also used when flying.
Turning around the universe is in central view the same as turning yourself the opposite direction, so relative positions of objects will not change. You have lost the 3D impression (just as when you look at a starry sky on earth).
The perspective projection concentrates on objects in front of you, and in the best case (depending on zoom) the angle of sight covered is about 90° along the horizontal and vertical axes. Apparent deformations may be important at the periphery.
Two other projections are at disposal. The spheric one projects the universe on a sphere and about one half of this sphere (180°) is then projected on the screen. Angle of sight is larger and when dragging the mousepointer you get the impression of a rotating sphere with less deformation.
The elliptic projection projects ALL the universe inside an ellipse so you can see even objects behind you. I use a simplified Mollweide projection. When there is no zoom the ellipse extends exactly top down in the window, so in order to see all the ellipse your window must be at least two times larger than high.
Changing coordinate system has no real effect until you use some other commands as the Cmds->reset->Rotation button , or the Cmds->Rotate about axis and then X, Y or Z axis (see next sections)
Rotate for hand is fast but not very accurate. For instance if you want to turn exactly 90° about an axis, then use this Cmds->Rotate about axis command. Select your axis then use the cursor or type in the angle in the editor. X, Y and Z are the axes of the actual coordinate system, H is the horizontal median of the window, V the vertical median and N the orthogonal axis passing through the center of the universe window.
The two buttons Cmds->reset->Rotation and Cmds->reset->Center will bring you to uppright position back home. More precisely Center button will put the earth or the Sun back in center position, and Rotation button will eliminate rotation.
The Rotation button will set the rotation to "no rotation" with respect to the chosen coordinate system which means it will show you the xOy-plane from "above" (from positive z-values towards negative) with x-axis pointing to the right.
As a consequence if you choose galactic coordinates and load the MilkyWayRealSize file you will see the Milky Way "from above" with it's center to the right. This may seem counter-intuitive as in many representations of the galaxy the galactic center is represented straight above or below earth's position, but it corresponds to the way you look at a normal map where the x-axis goes to the east and the y-axis to the north.
The Center button moves the origine of files to the center of the screen. Center should normally be Earth, but in most files it's the Sun. If you merge files and zoom alot you might find that Sun and Earth are superposed.
It would be fine always to see the names of objects, but lots of names mess up the screen. That's why you can choose to display them or not. In any case a tooltip will tell you the name of the object you point at except for files marked huge. If you search for a special name you should hide the names, then use Cmd->Show->string (below).
Showing the XY-plane will help you see what should be up and down in the universe scenery.
This editor lets you type in the name of an object to search for. If the name is found, it's shown next to the object in the universe window. You may use patterns as explained in More on text searching below.
Important: you must hit the enter key to validate the name or pattern you have edited.
Objects far from center but on the line of sight mess up the perception of central objects. Type in a distance in light years to limit the display to near objects. You can use k or K for thousands and m or M for millions. Thus 34M will only display objects nearer the center than 34 million ly.
Important: you must hit the enter key to validate the distance you have edited.
In fact you can also exclude near objects by inserting a ">" between a maximum and a minimum distances. For example 34M>12M will show objects nearer than 34 million ly but farther than 12. For files marked huge the Huge tab offers other methods to hide obstructing objects
Balls are easier to see and can be used to indicate difference in size (or luminosity), points are faster to draw so when there are tens of thousands of objects to draw, responsiveness is better. (See also next paragraph "Changing ball size")
Objects have a declared size in the files which is converted to a conventional size s which in turn is represented as a ball with pixel size a*s+b. Increasing the a coefficient will accentuate difference in ball size, increasing b will inflate uniformly all balls.
All stars appear as points from a distance of a fraction of a light-year, making no difference between the Sun and a giant like Betelgeuse with a diameter more than 600 times that of the Sun. Respecting true sizes and true distances would therefore result in just one pixel representing each star in almost all cases. That's why I scale down the size interval of the drawn balls to give just a hint on size ordering between objects.
Shading far objects makes standing out those objects which are nearer to the observer. You may adjust the number of shading levels. Default level 16 makes the farthest objects disappear completely.
In central view Alt-home lets you alternate between normal presentation and anaglyphs (stereoscopic 3D effect with red-blue glasses, see for example here).
The 3D effect is not as good as I hoped because the objects are not luminous enough, that's why I have not bothered to include a panel for anaglyph commans in the applet. Yes, there are two more commands concerning anaglyphs, because getting the best effect demands some ajustments.
When in real life you look at near objects, you will have a good stereoscopic impression up to some meters away. In an abstract space where distances are measured in ly, thousand ly or even million ly you would have a good stereoscopic view if your eyes were distant by a fraction of ly, some hundred ly or some hundred thousand ly. So you must have some means to select the distance between your "eyes" in virtual space.
This is done using the speed command in the Fly tab: the selected speed is the distance. So a small speed will reject most objects to "infinty", a large speed will bring most objects too near. If the speed is v, an object at a distance grater than 200v is considered infinitely far and at a distance smaller than v is considered too near and is not shown.
When you have many objects at infinity they will disturb the stereoscopic view of nearer objects, so you can hide them (and bring them back) with Alt-end.
If you start the flight in external view, you will be taken to central view seen from actual center of universe and the speed of flight will be set to a resonable size in respect to the size of the actual universe. Of course you may change the speed at any moment.
Otherwise to start the flight, press one of the six buttons forwd, backwd,... leftwd. To change direction, press another button at any time. To stop, press the stop button.
You steer by turning the universe with the mouse or with the Cmds->Point of view->rotate about axis commands.
If you get lost, stop the flighte and use the Cmds->reset->Center button.
Several keyboard shortcuts explained in the tooltips of the buttons or the notes in the Fly tab may also be used.
You should adapt your speed to your universe and the aims of your flight. Inside the solar system one ly per second is much too fast, even all the nearest stars are left behind you in some few seconds. But in order to fly through the galaxy 1 ly per second is almost standing still: 100 000 ly would demand... 100 000 seconds, and that's quite alot. And if you want to go from the Milky Way to the Virgo cluster you should accelerate to one or several million ly a second.
In HUGE files distances are inferred from redshifts. This will result in "finger-of-God"-artifacts (see Redshift as distance in Complements below). By default HUGE files are now "sharpened", but you may see original unsharpened data by unchecking the sharpen huge files box.
Sharpening the data eliminates most of "finger-of-God"-artifacts, and thus strongly enhance filaments and nodes in large structures, but the "sharpened" distances of course depend on the sharpening algorithm. Use the Data button for more information in files.
When you include one or more HUGE files in your selection, the program will be slowed down because there are up to several hundred thousand objects to draw on the screen. Depending on your computer it could be useful to thin out the files by showing only a small fraction of the objects before rotating the universe.
When you mix ordinary files and HUGE files, huge file commands apply only to objects in the huge files, the other files will not be affected.
In Cmds->Point of view->external view you see the universe from "above" along the
w-axis in a hypothetical (u, v, w) coordinate system. The u-axis points to the right and the v-axis
to the top of the screen. These uvw axes are normally attached to the window (they do not follow
When you check the Freeze slice box you freeze the uvw axes, so that they become attached to the universe and will turn when you rotate the universe.
What's a slice? Each of the u, v and w axes is divided into 401 steps (from -200 through 0 to 200). A slice perpendicular to the w-axis for example is centered on one of the steps of that axis and has a half-thickness of n steps, n ranging from 1 to 200. Slicing simplifies the view and lets you more easily observe the spongious structure of the universe.
The w-slice is the most important, because you see the slice from above.
When you have choosen a slice, only the part of the HUGE files inside the slice is visible. When
you rotate the universe, it will "pass throug" the slice as long as Freeze slice is not checked. In order to get a better 3D impression of
the slice, check the Freeze slice box and rotate the slice
with the mouse. When you uncheck the Freeze slice box the
slice and universe go back to original position.
The center of the slice can be shifted along the axis, the half-thickness can be changed (1, 2,...), the slice (as part of the whole universe) can be rotated. If the slice is not too thick, responsiveness is rather good, and you go from one end of the universe to the other in some seconds.
You can intersect two slices to get a beam and three to get a small rectangular portion of space.
The bubble commands ressemble the slice commands, but here you isolate a bubble or a shell. The bubble is not concerned by freezing.
Redshift is converted to distances by the following formula (the formula is fairly linear in z up to redshifts of about 0.1, see however http://www.astro.ucla.edu/~wright/CosmoCalc.html)
c (z+1)² - 1 dist = - * ---------- H (z+1)² + 1
where z is the redshift, c is the speed of light (300000km/sec) and H is the Hubble constant
(71km/sec/Mpc or 22km/sec/Mly). When z is small you can use dist = 13700Mly*z, so a redshift z =
0.01 represents approximately a distance of 13700Mly*0.01 = 137Mly. When z tends to infinity the
factor to the right tends to 1, and you get
c - = dist = 13700Mly = radius of visible universe H
The string search (Cmd tab and File viewer) uses Java patterns. However you don't have to know much about the Java syntax for patterns to use it. When you type in part of a name (don't forget 'enter' at the end) all the names containing that part will show up. Well, at least if you use only "normal" characters.
You type: alpha result: any name CONTAINING alpha (upper- or lower-case) is shown
That's all you have to know for allmost all uses.
Now there is a complement that you may read or skip. Some characters are special (not "normal", they are also called meta-characters) due to the Java patterns syntax. For example ' ( ', ' ) ' and ' | ' are some special characters, ' . ', ' * ', ' [ ', ' ] ' and ' ? ' are special too. Special characters let you do more complex selections. Here's an example
You type: (alpha|beta|gamma) result: any name CONTAINING alpha OR beta OR gamma (upper- or lower-case) is shown, the '|' character is the vertical bar
The special character point ' . ' means "any character", and star ' * ' means "repeat any times". So ' .* ' means "any string". In fact I append ' .*(?i) ' before and ' .* ' after the string you type. What's the ' (?i) ' sign? It's the "case-insensitive" flag. So if you type ' XYZ ' then ' .*(?i)XYZ.* ' is used as the pattern to match. This is true except in one case. If you start by typing the equal sign ' = ' then I strip that equal-sign away without appending anything. For example
You type: =(alpha|beta|gamma).* result: any name STARTING with alpha OR beta OR gamma is shown, and here the result is case-sensitive because there is no '(?i)' inserted to turn it off You type: =[Aa]lpha result: exactly the two names Alpha and alpha are shown (if present)
You can turn case-sensitive matching off and on by using the flags ' (?i) ' and ' (?-i) ' as here
You type: (?-i)aLpHa result: any name CONTAINING aLpHa (case-sensitive) is shown You type: (?-i)A(?i)LpHa result: any name CONTAINING Alpha OR ALPHA OR AlPha or... is shown here case-insensitive matching restarts after the first A
You find more on patterns in Java here
Is the Great Attractor an illusion? Norma cluster seem too small, other clusters behind seem too far. But as you see, the Milky Way may hide some structures in this direction... Proposals for the position of the Great Attractor have varied a bit. Here I show three positions (please see Data window for references).
Choose the files HUGE FILE 3MRS through HUGE FILE ned rs 04-06 and
file 31) Names of suprclusters 1000mly and look for the names GA Norma C. centered, GA
abs motion, GA Hya-Cen
Huge->Freeze uvw axes
Huge->Slice across>w-axis level 0
look in the 8-o'clock to 10-o'clock direction.
You may vary a little bit the level and the thickness.
Two Great Walls (as by the link "Sloan Great Wall..." at Logarithmic Maps of the Universe).
Choose a small file like Files->Solar System in order not to slow down the three
change Huge->show only 1 object of to 256
change Cmds->Point of view coord system to equatorial coords
click Cmds->Point of view->reset->rotation
now choose the four files HUGE_FILE_ned_rs_00-02 through HUGE_FILE_ned_rs_06-10
then Huge->Freeze uvw axes
and Huge->Slice across->w-axis level 0
change Huge->show only 1 object of to 1
look to the left side at about 250 and 1000Mly
You will find many images of slices at The 2dF Galaxy Redshift Survey. You can locate them all with this applet.
Choose the HUGE_FILE_vizier-4_quasars file, the Solar System file, the nearstars20ly file and a file with some galaxies. You have allmost all of the visible universe before your eyes. Now zoom in to see the earth. The last neighbouring star leaves the screen at a magnification of about 10 000 000 000, but you must still magnify by a factor of approximately 1000 to separate the Earth and the Sun.
The HUGE files from NED contain from 32 000 to 247 000 galaxies each, all together more than 920 000 galaxies, with redshifts from 0.001 to 0.300 (pproximatively 0 to 3500 million ly). The Quasar file adds some 85 000 objects with redshifts up to more than 6 (farther than 13 000 000 000 ly).
Here's a list of artifacts in the NED files (the 2MRS file covers less space but avaoids some of these artifacts)
Despite these artifacts you will easily recognize the spongious structure of matter in the universe: voids surrounded by filaments, sheets and clusters, some of these building up to great walls.
Most orbits in solar system are (almost exactely) ellipses, and there's a Java utility to draw them: drawoval in the Graphics calss. There is no standard Java utility to draw parabolas or hyperbolas. Moreover all ellipses are of finite size, this is not the case for parabolas and hyperbolas.
So when you want to draw the hyperbolic trajectory for a spacecraft or the (nearly) parabolic trajectory for a comet you have two problems: find the algoriths and decide what part to draw.
I adapted fast and well-written algorithmes by A. AGATHOS, T. THEOHARIS and A. BOEHM, but coded in java they are far from as fast as the oval algorithm. This means that if you have to draw many of them or large parts at once, your program will be slow. This forces you to adopt a small file and to do heavy truncations when drawing.
That explains why I have not retained many parabolic comets and why you will see truncated orbits for these ones (that seems somewhat strange) and for the spacecrafts (that seems more normal).
Another thing you should know concerns precision. In fact a solar system body will have as orbit a true ellipse, parabola or hyperbola only if it were the unique body graviting Sun, and Sun and this body were perfecly homogenus and as spherical as billiard balls. As this is not the case there are allways perturbations making the true orbit deviate from the theoretical one.
As a consequence parameters in a file will only correspond to true orbit with some acceptable approximation during some timelapse. In data I use this timelapse goes from year 1800 to year 2050 for the planets, and the interwall is probably still shorter for asteroids and comets.You may see the growth of imprecision by observing the animation of Jupiter and its Trojans. Load file 00) Solar System and file 0_asteroids and comets -> asteroids -> 007) trojans jupiter. In order to get a more comfortable view you may zoom to 15, right-clic Jupiter and select add circle and Cmds ->Objects->balls size a=10 b=6 and then Huge->Planets->animate, time step 'month' or 'year' and click the '>' button, then let it run until year 2100. At the beginning the trojans nicely concentrate about the lagrangian points, but with time they smear out and become less synchronised with Jupiter. This of course will not be the case in true world.