Are Uppman
Home>universe>large structures applet
Large Structures Applet

If the applet does not show up just above this text, it's probably because your
favorite browser (Firefox, IE...) no longer supports java applets.
For some time still you might try an older version.
If you have installed JDK you may also use AppletViewer with the URL of this page.
Oracle has planned the definitive end of Java Applets, inclusive AppletViewer, in Java 9.


  1. To get a resizeable frame you can detach the applet from the browser (use the "detach applet" button).
  2. The exoplanet file has been updated (april 2014)

More useful information open / close...

  • In Solar System file, planets are shown with true today positions on their 3D orbits
  • There are new asteroid and comet files with true positions on 3D orbits too
  • You will find commands to hide / show orbits and to animate these objects
    on the Huge tab
  • To better compare dimensions, combine asteroid and comet files with Solar System file
  • To avoid scale jumps, combine with a star file and then zoom in, and keep this star file while changing (ctrl-click) the others
  • Increase object size by Cmds>Object>balls>size a & b
  • Enhance one or more orbits by a right click on the object, then add circle
  • To see Solar System from "above", use Cmds>Point of view>external & ecliptic coords & reset>rotation
  • Take a look at my remarks on orbits at the end of this page.

See also detailed explanations hereafter

This Universe Large Structures Applet is

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):

  • you look at the universe from "outside" and turn it around by dragging it with the mouse
  • you are "inside" the universe and move around as in a spaceship
  • you use red-blue glasses and the anaglyph presentation

Have a good exploration.

Origins of data

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.

Basic use of the Large Structures Applet
Select files open / close...

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.

Rotate the universe open / close...

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.

Tooltip text open / close...

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. 

Zooming and center open / close...

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.

Poupup menus and data files open / close...

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 selected mode.

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 Cmds tab
External / Central point of view open / close...

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).

In the external view a parallel projection is used to represent the objects on the screen. When you switch to a central view the default projection is a simple perspective projection.

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.

Coordinate systems open / close...

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 about an axis open / close...

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.

Reset xyz open / close...

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.

Show names open / close...

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).

Show XY-plane open / close...

Showing the XY-plane will help you see what should be up and down in the universe scenery.

Show string open / close...

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.

From center only inside open / close...

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

Objects: balls or points open / close...

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")

Changing ball size open / close...

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.

Shade far objects open / close...

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.

Anaglyphs open / close...

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.

The Fly tab open / close...

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.

The Huge tab
Sharpen huge files... open / close...

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.

Show only 1 object of... open / close...

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.

Freeze uvw open / close...

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 manual rotation).

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. 

Slice across open / close...

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.

Bubbles open / close...

The bubble commands ressemble the slice commands, but here you isolate a bubble or a shell. The bubble is not concerned by freezing.

Redshift as distance open / close...

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

       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

- = dist = 13700Mly = radius of visible universe
More on text searching open / close...

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.

For example

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

Great Walls, Great Attractor open / close...

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 following commands
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.

Small solar system open / close...

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.

More on artifacts open / close...

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)

  • I have not included the "center", galaxies with negative redshift or redshift less than 0.001 (so this is an artificial void)
  • redshift is not a distance, so the positions you observe are not the real positions of the galaxies (intrinsic movements will make a galaxy appear nearer or farther than reality)
  • the most striking artifact created by redshift as distance are the "fingers of God" (clusters seem to stretch out like spokes from the Milky Way in the center) and next the "bull's eye effect". For a discussion on redshift-space distortions see here and for innfall artifacts like "fingers of God" especially this poster
  • there is data missing in the plane of the Milky Way galaxy (because dust in the MW hinders detection of galaxies behind)
  • other data are obviously absent due to incomplete coverage of the sky

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.

Some remarks on orbits open / close...

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.

Site updated 08 May, 2017    Remarks and questions? areusite at free dot fr