Page 1 of 1

My Most desired feature

Posted: 23.06.2007, 04:52
by atimholt
I don't know how many people will agree with me, but I would just LOVE to be able to choose an arbitrary (probably centered on a star) sphere of arbitrary radius in which all stars are rendered at their absolute magnitude. Stars with magnitudes too dim would best be raised to a minimum in order that all stars in this sphere would be plainly visible. All objects outside the sphere would be turned off, of course.
The purpose of this would be to allow easy knowledge of all stars in a certain region. Right-mouse-button-rotation would give a very clear sense of where these stars are in relation to each other in three dimensions.
Also, obviously, the displayed brightness need not specifically be absolute magnitude, just based on it instead of 1/sq of dist.

Re: My Most desired feature

Posted: 23.06.2007, 09:05
by t00fri
atimholt wrote:I don't know how many people will agree with me, but I would just LOVE to be able to choose an arbitrary (probably centered on a star) sphere of arbitrary radius in which all stars are rendered at their absolute magnitude. Stars with magnitudes too dim would best be raised to a minimum in order that all stars in this sphere would be plainly visible. All objects outside the sphere would be turned off, of course.
The purpose of this would be to allow easy knowledge of all stars in a certain region. Right-mouse-button-rotation would give a very clear sense of where these stars are in relation to each other in three dimensions.
Also, obviously, the displayed brightness need not specifically be absolute magnitude, just based on it instead of 1/sq of dist.


Celestia (Windows) has this feature. With a slider in the options menue you can set the radius within which the stars are displayed. Absolute Magnitude is obviously inappropriate. It should be apparent magnitude, of course.

Bye Fridger

Posted: 23.06.2007, 10:46
by selden
My interpretation of the request is for something different: display the locations of all of the stars that exist within a sphere centered at a specific location, and view that sphere from another location.

The slider in the Render/ View Options menu doesn't satisfy my interpretation: it specifies the radius of a sphere around the current viewpoint. As you change the viewpoint, the location of the center of that sphere moves with the viewpoint, so that your current viewpoint is always in the center of the sphere of visibility. Also, when showing stars' apparent magnitude, there are going to be many stars within that sphere which are dimmer than Celestia will draw, even if the limiting magnitude is turned all the way up, so you won't know they exist.

To almost satisfy my interpretation of the request, one could write a Lua script which would place a marker around all of the stars out to a specified distance from the current viewpoint. One could then move the viewpoint and look at those markers.

Posted: 23.06.2007, 11:19
by t00fri
My interpretation of the request was that the center of the sphere was not clearly specified
choose an arbitrary (probably centered on a star) sphere

Given it's purpose

The purpose of this would be to allow easy knowledge of all stars in a certain region.


this request has low priority for Celestia in my view, since the professional star databases have preconfigured search options for that. One just gets a list of objects satisfying the request. One may choose the target object and a radius around it. There are even standard professional displays (java) for the results that may be used over the web.

So why should we invest time in this.

Bye Fridger

Posted: 23.06.2007, 11:50
by selden
Because it's an interesting question with an easy answer.

Here's a .CELX script to mark all stars within a specified radius of the observer's current location.

[edit] slightly simplified script: since it shows a running tally, it doesn't need to stop itself [/edit]


Code: Select all

-- Script to mark all stars within a specified distance
--
-- original Author: Harald Schmidt, 2004 (to mark stars with planets)
-- http://celestia.h-schmidt.net/

-- modified by s. ball to mark stars to a specified distance

-- You are free to use, copy, modify, redistribute or do whatever you want with

this script,
-- but a credit to the original author would be nice.
--


-- Set maxLY to be the distance
-- from the observer's current location
-- to the most distant star to be marked

maxLY = 100

-- ======================================================================

function checkstar(star)
    local dist = myPosition:distanceto(star:getposition())
    if dist <= maxDistance then
        star:unmark()
        star:mark("#00ff00", "circle",8)
        marked = marked +1
    end
    return
end


-- Celestia's distanceto units are kilometers

ly_to_km = 9.4607 * 10^12

maxDistance = maxLY * ly_to_km


cnt = celestia:getstarcount()
celestia:print (" # stars to check: "..cnt, 5); wait (3)

check_interval = 1000


actObserver  = celestia:getobserver()
myPosition   = actObserver:getposition()

celestia:setrenderflags{markers=true}
celestia:unmarkall()

n = 0
marked = 0
i = 0

while i < cnt do
    local star = celestia:getstar(i)
    checkstar(star)
   
    i = i + 1

    n = n + 1
   if (n >= check_interval) then
           celestia:print("Checked " .. i .. ", marked "..marked.." of "..cnt.."

stars.", 0.5); wait (0.2)
        n = 0
   end


end

          celestia:print("Done: Checked " .. i .. ", marked "..marked.." of

"..cnt.." stars",10); wait (10)

Posted: 23.06.2007, 11:54
by Vincent
As an example of what Selden has suggested, here's a celx script that marks all stars in a sphere centered on the current selection. The radius of the sphere can be changed in the script:

Code: Select all

-- Mark all stars in a sphere centered on the current selection.

function mark_star_dist(obj, radius)
   for star in celestia:stars() do
      if star:getposition():distanceto(obj:getposition()) <= radius then
         star:mark("yellow", "disk", 1, 1)
      end
   end
end

celestia:unmarkall()
objname = ""
obj = celestia:getselection()

-- Radius of the sphere (in km):
radius = 1e15

while true do
   obj = celestia:getselection()
   if obj and objname ~= obj:name() then
      objname = obj:name()
      celestia:unmarkall()
      mark_star_dist(obj, radius)
   end
   wait(0)
end


This script can be edited to make the marker's transparency vary according to the AppMag of the star.

I of course agree with Fridger that it's not worth adding this feature to Celestia's code since it can be done quite easily with a celx script.

Posted: 23.06.2007, 13:00
by t00fri
selden wrote:Because it's an interesting question with an easy answer.
...


Except that the answer from

http://cdsweb.u-strasbg.fr/

corresponds to the state of the art! The available search options are much more detailed there. Like you can also search for objects from specific catalogs, special kinds of objects etc. There is a full batch query language that allows really to get non-trivial results!

I always thought we want to do interesting things well in Celestia.

In this spirit, one first would ask about the physically most relevant search criteria within a sphere of given radius! This would certainly come BEFORE hacking a quick Lua script...

There are many /astrophysically relevant/ criteria that come to mind. If one includes these as well as AND|OR logical correlations your quick "solution" easily takes a little longer to code. ;-)

Clearly, one would want to know e.g. the distribution of stars within a given color/temperature range around a given target. Another interesting question would be the distribution of proper motions. One could e.g. attach the proper motion vectors (<=> directed arrows of length propto magnitude of proper motion) to each of the contributing stars!
Of course Celestia should first be made aware of the proper motions ;-) . There are many other applications where the latter would be crucial.

These tasks would certainly serve to give information on important physical questions...

There is never a free lunch with this sort of stuff.

Bye Fridger

Posted: 23.06.2007, 13:28
by selden
Fridger,

If you aren't interested in answering a particular question, for whatever reason, you really shouldn't waste your time writing a response. Just ignore it.

As you know, Celestia has many problems where your time and knowledge could be put to very productive use and which you would enjoy solving.

Since Celestia makes it easy to visualize in 3D initial answers to many astronomical questions that novices have, it seems to me to be quite appropriate for it be used to display what it can.

There are always alternatives when one is searching for detailed astronomical information, but novices usually don't yet have the background knowledge to be able to make use of the professional databases.

One must start with baby steps, making use of tools that are understood. Then one can dig deeper, learning how to use more advanced tools to answer more detailed questions.

Posted: 23.06.2007, 13:49
by t00fri
selden wrote:Fridger,

If you aren't interested in answering a particular question, for whatever reason, you really shouldn't waste your time writing a response. Just ignore it.
...


Selden,

thanks for your instructions about what posts I should answer and what posts I should ignore. ;-)

Unlike you, others might recognize that my 2 above answers to 'atimholt' contained quite a bit of valuable and non-trivial information! Like e.g.

1) I pointed out the much richer possibilities of searching for astronomical objects by means of various interfaces in the professional data bases. Since the user 'atimholt' did not write that he was an astronomy novice, I thought this info could well be of interest to him . After all, he did not detail for what kind of purpose he wanted to use the requested information!

2) I indeed emphasized that atimholt's question was not really interesting in the NARROW framework it was posed, but that a considerably wider/more general approach might even be worthwhile to be considered at the dev level! . That's why I decided to reply to atimholt's post:

++++++++++++++++++++++
-- attaching proper motion arrows to stars and peculiar velocity arrows to galaxies within a certain volume appears like a most exciting new visualization option. For galaxies we could visualize this way the cumulative gravitational pull due to nearby galaxy clusters ...

-- allowing for a variety of /correlated/ search criteria for objects around a given target would have a HOST of serious applications.
++++++++++++++++++++++

Bye Fridger