QUESTION re NODES, SCRIPTS (noob) - plotting points from data

Hi, I’m new to Blender, though I’ve used some other 3D software over the years. I watched and understood the Blender tutorials, but I have important questions about the functionality of Blender before I invest a lot of time in a learning curve.

All I want is to create an accurate depiction of the stars in the sky. This will entail having a sphere of large diameter and having the camera at the center of the sphere, and moving the camera around to change the view of the stars. It is very simple 3D model. The problem is, I want to be able to somehow import data of the actual star positions and have the stars properly positioned onto the interior surface of the sphere, in a spherical coordinate system.

From the tutorials, I get the impression that such functionality should be obtainable using scripts in the nodes. Not sure how exactly to proceed with that. I’d be grateful if anyone has any insight or experience into plotting points in a coordinate system from data. This would make my learning curve more focused.

The end goal is create a 3D model of the starry sky from which accurate star maps can be exported, 300 dpi, for a publishing project. The appended image of the stars around the constellation Orion was created in this manner many years ago using Flash, which handled the raw data in ActionScript. FWIW, my expertise is not in programming or graphics software.

Thanks for any advice or suggestions. -jay


need to elaborate a little here!

can you give small data file so we can see how data is formatted!

also how do you want to represent the stars
like a small sphere with color size ?

how do you want to render it with camera ?
cannot show all the stars only a portion of it but how much ?

to print that at 300 DPI might be a problem
depends on the size of the area and could represent several 100 MB !

happy bl

Hi Ricky, thanks for replying. Since posting yesterday, I found out about Python and am wondering if that might be a tool that can be used for this project

>>>can you give small data file so we can see how data is formatted!

Appended at the bottom

>>>also how do you want to represent the stars
like a small sphere with color size ?

Yeah, or even as a 2D circle, perpendicular to the camera, if that’s easier to render and/or less data-intensive. I was thinking that it might be enough to just generate the stars as multiple instances of the same object at their proper coordinates, against a diffuse black background, and not requiring a wireframe of a sphere.

>>>how do you want to render it with camera ?
>>>cannot show all the stars only a portion of it but how much ?

I envisioned having a 3D space representing the entire sky. The camera would only look in one direction at a time, looking at one portion of the sky at a time, zooming in and out, and circling around and looking up and down at various portions. Does that make sense? I apologize for lacking the proper vocabulary.

>>>to print that at 300 DPI might be a problem
depends on the size of the area and could represent several 100 MB !

My outputted images would probably only be maybe 2000 px across. I’d hope to be able to hack them down from that!

Here’s the CODE that generated the image attached to first post:

(Again, this is ActionScript, written maybe a decade ago. I’m rusty but still remember what I did. Not being a programmer, I learned everything in the course of this project, and am prepared to learn again for Blender. The results were usable but very limited. I tried getting the script to pull in coordinate data from an external file, but that did not work. I got these results from adding the data directly to the script, and this is snipped to just include a sample of the “coord.push” data, along with the rest of the code. This script used an existing movie clip object called “starr,” just a small circle, and placed multiple instances at proper coordinates locations, sized according to the magnitude value included in the data. Please let me know if I can provide other info. Many thanks!

coord = new Array();
var radius;
radius = 400;
SidTime = 0;
NtoS = 0;
// coord is an empty array. we populate it by using “push”
// to add stuff to the empty array
// this data – 2-10h RA – centered on 6h (Mar 1, 8:00PM)
// under +/- 50 deg Dec, down to mag 5.5
coord.push([4, 30.001, -21.078]);
coord.push([5.35, 30.311, -30.002]);
coord.push([5.14, 30.426, -44.713]);
coord.push([4.33, 30.511, 2.764]);

//(snip – many more lines of star data)

// This creates starr duplicate movie clips for each member of the coord array.
// The loop plots x and y coordinates for all i, i.e. for each member of the coord array.
// The scale is just a fudge factor that returns
// a linear decline in star size for increasing magnitude value
for (var i = 0; i<coord.length; i++) {
_root.star.duplicateMovieClip(“starr”+i, i);
_root[“starr”+i]._x = radius*Math.cos((SidTime+coord[i][1])*Math.PI/180)*Math.cos((NtoS+coord[i][2])Math.PI/180)+275;
_root[“starr”+i]._y = radius
Math.sin((NtoS+coord[i][2])Math.PI/180)(-1)+275;
_root[“starr”+i]._xscale = (6-(coord[i][0]))*3;
_root[“starr”+i]._yscale = (6-(coord[i][0]))*3;
}

I had a project where I had to read TIGER Line data gathered by the US Census Bureau. The data was in y,x location format and each position was a seperate line of a CSV file. I wrote this script which you can modify to fit your project by modifying the z axis data. I think I have enough comments to give you an idea of what I was doing. I have not yet tested it in Blender 2.73 since I got what I needed, a state outline. You or someone will need to modify it for the file format you need because the way it is now, it will place the vertices rotated 90 degrees clockwise around the z axis.

This will produce a rather large model so you will need to zoom to the location of the produced object or add some code to scale it down to a size you can use and move the object to the appropriate location of your scene.


#
#  MIT License
#
#    Copyright (c) 2012-2015 Jorge Joaquin Pareja
#
#
#    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
#    associated documentation files (the "Software"), to deal in the Software without restriction,
#    including without limitation the rights to use, copy, modify, merge, publish, distribute,
#    sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
#    furnished to do so, subject to the following conditions:
#
#    The above copyright notice and this permission notice shall be included in all copies or
#    substantial portions of the Software.
#
#    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
#    NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
#    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
#    DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
#    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
import csv
import math
import bpy

i = 0
x = []
y = []
z = 0
zz = 0
numVerts = 0

pathSep = '\\'
dataRoot = 'C:\\Development\\Blender-2.69\\2.69\\MyModels\\States\\geo_data' + pathSep
curState = ''

def clearVars():
    '''
    clears all variables to defaults
    '''
    i = 0
    x = []
    y = []
    z = 0
    zz = 0
    numVerts = 0

#
def processState(state = None):
    '''
    Opens state.txt file that contains coordinates of each vertice latitude
    longitude latitude form, which become y x respectively.  z is always
    assumed to be zero.

    returns numVerts

    NOTE: vertices are not yet checked for duplicates (end of outline and/or
          new island), this is seperated by a 0, 0 coordinate.

          You must call processMesh(...) after this function or risk losing
          the value of i, which must be retained for processMesh to function
          properly.
    '''
    if state not None:
        # clear all variables
        clearVars()
        
        with open(dataRoot + 'Countries\\United_States\\StateOutlines\\' + state + '.txt', newline='') as f:
            reader = csv.reader(f, delimiter='	', quoting=csv.QUOTE_NONE)
            for row in reader:
                y.append(row[0])
                x.append(row[1])
                i += 1 # count of how many vertices are here
        numVerts = i - 1
        return numVerts
    else:
        return None

def processMesh(stateName):
    '''
    this must be called ONLY after processState()

    do not use clearVars before calling this code, 
    '''
    if stateName not None:

        # create a new blank mesh
        me  = bpy.data.meshes.new(stateName)

        # create an object to hold the mesh
        obj = bpy.data.objects.new(stateName, me)

        # link the object to the current scene
        bpy.context.scene.objects.link(obj)

        # variable for our vertice list
        verticeList = []

        # variable for a list of faces, tris or quads
        edgeList = []

        # add vertices x,y,z coords to a list
        while zz != i:
            verticeList.append((float(x[zz]),float(y[zz]),float(z)))
            zz += 1

        # add an edge to the above vertices, counter clockwise sets normal
        # to be up the Z axis
        #faceList.append(((0,1),(1,2),(2,3),(3,4))) # vert 0, 1, 2
        zz = 0
        a = 0
        b = 0
        while zz != numVerts: # this number needs to be the ( lineCount - 1 ) for the file being read
            b+=1
            edgeList.append((a,b))
            a+=1
            zz+=1

        # add the lists to the already made mesh
        #              (vertices, edges, faces)
        me.from_pydata(verticeList,edgeList,[])
        me.update()
    else:
        return None



can you upload a txt or data file
showing overhead lines and a few stars data lines
may be 5 to 10 stars
that way we know how the data file will be !

in terms of size for the sky sphere you can make it big but can you elaborate on this 3D model

do you want to have like the camera following the earth path around the sun then look at some sky portion and render it?

it might be possible to let say set a year date may be and them find the visible stars from that point of view
do you have the algo for that ?

this would minimize the blender size and be much faster to work with

thanks

Thanks for the code Jorge, hopefully I’ll be able to learn how scripts are handled in Blender to make use of that.

Ricky, sorry, having lots of trouble with this forum UI, can’t see how to upload a text file. The text of my ActionScript is appended below, including several additional lines of star data (hope it works). Not sure what you mean by “overhead lines,” again I apologize for my noobness at Blender, just trying to be overall efficient with my time and learn the capabilities of this app before investing in a learning curve.

This model will be a 3D geocentric rendering of the stars, no need to get involved with planets and orbits (maybe later). All I need is a camera at the origin of spherical distribution of stars, and the ability to rotate the camera up, down and sideways to look at different areas. Once I learn what I’m doing, I can get creative, but for now, I just want to confirm the capabilities of Blender in handling such a script. Thanks!

coord = new Array();
var radius;
radius = 400;
SidTime = 0;
NtoS = 0;
// coord is an empty array. we populate it by using “push”
// to add stuff to the empty array
// this data – 2-10h RA – centered on 6h (Mar 1, 8:00PM)
// under +/- 50 deg Dec, down to mag 5.5
coord.push([4, 30.001, -21.078]);
coord.push([5.35, 30.311, -30.002]);
coord.push([5.14, 30.426, -44.713]);
coord.push([4.33, 30.511, 2.764]);
coord.push([5.23, 30.511, 2.764]);
coord.push([2.26, 30.975, 42.33]);
coord.push([4.84, 30.978, 42.331]);
coord.push([4.69, 31.123, -29.297]);
coord.push([5.03, 31.641, 22.648]);
coord.push([2, 31.793, 23.463]);
coord.push([4.82, 32.122, 37.859]);
coord.push([4.98, 32.355, 25.94]);
coord.push([3, 32.385, 34.987]);
coord.push([4.94, 33.093, 30.303]);
coord.push([5.27, 33.2, 21.211]);
coord.push([5.28, 33.227, -30.724]);
coord.push([4.37, 33.25, 8.847]);
coord.push([4.83, 33.305, 44.232]);
coord.push([5.28, 33.984, 33.359]);
coord.push([4.87, 34.263, 34.224]);
coord.push([4.01, 34.328, 33.847]);
coord.push([5.03, 34.738, 28.643]);
coord.push([5.3, 34.82, 47.38]);
coord.push([3.04, 34.836, -2.978]);
coord.push([5.28, 35.485, -0.396]);
coord.push([5.2, 35.635, -23.816]);
coord.push([5.19, 36.103, 50.007]);
coord.push([4.89, 36.487, -12.291]);
coord.push([4.25, 36.746, -47.704]);
coord.push([5.14, 37.007, -33.811]);
coord.push([4.28, 37.04, 8.46]);
coord.push([5.29, 37.041, 29.669]);
coord.push([5.25, 37.875, 2.267]);
coord.push([4.75, 38.021, -15.245]);
coord.push([5.15, 38.025, 36.147]);
coord.push([5.35, 38.039, -1.035]);
coord.push([4.9, 38.461, -28.233]);
coord.push([5.35, 38.945, 34.688]);
coord.push([4.86, 38.968, 5.593]);
coord.push([5.3, 39.26, 34.264]);
coord.push([5.3, 39.704, 21.961]);
coord.push([4.07, 39.87, -0.329]);
coord.push([4.84, 39.89, -11.872]);
coord.push([4.75, 39.95, -42.892]);
coord.push([4.11, 40.167, -39.855]);
coord.push([5.3, 40.171, 27.061]);
coord.push([4.91, 40.562, 40.194]);
// This creates starr duplicate movie clips for each member of the coord array.
// The loop plots x and y coordinates for all i, i.e. for each member of the coord array.
// The scale is just a fudge factor that returns
// a linear decline in star size for increasing magnitude value
for (var i = 0; i<coord.length; i++) {
_root.star.duplicateMovieClip(“starr”+i, i);
_root[“starr”+i]._x = radius*Math.cos((SidTime+coord[i][1])*Math.PI/180)*Math.cos((NtoS+coord[i][2])Math.PI/180)+275;
_root[“starr”+i]._y = radius
Math.sin((NtoS+coord[i][2])Math.PI/180)(-1)+275;
_root[“starr”+i]._xscale = (6-(coord[i][0]))*3;
_root[“starr”+i]._yscale = (6-(coord[i][0]))*3;
}

 having lots of trouble with this forum UI, can't see how to upload a text file

It may have to do with your post count is at 3, you may get the options once your posts are past 10. Its done that way to mitigate forum spam. You might want to make comments on current threads as you normaly would until you get a higher Post Count even though it may be 24 hours before it is approved.

You might also want to use “GO ADVANCED” button under quick reply which gives you more formatting options when replying. On the top row of the advanced editor is an attachments icon, just hover your mouse over the Icons and a tool tip will popup as to what it is.


coord.push([4, 30.001, -21.078]);
coord.push([5.35, 30.311, -30.002]);
coord.push([5.14, 30.426, -44.713]);

What coordinate system is used on these locations, Orbital coordinates are somewhat complex and not like xyz. From an earth perspective, you need to consider “atmospheric refraction”, date-time, viewer location, etc… or the locations will be innacurate. Also speed of light calculations should be considered. Or are those calculations already applied? I guess a better way to ask this question is Where did you get your star chart data?

I am willing to help out a bit more by altering my script above since I am interested in space debree and object avoidance in a seperate project. So I will need something like this anyways.

By slightly modifying my code above to handle the z axis coordinates, it will esentialy create a LARGE point cloud, with each vertice being the location of a star. When I threw 20,000+ points at it, it took just a few secods to read and produce outlines of the states. Also you dont realy need the EdgeList variable because you will not be connecting the points/stars.

Txt file is needed to determine how to read the file !
here is one I made from the data you gave
open it up with text editor and tell us if it is OK

at the beginning there are lines with no meaning for the stars location
that is what I call overhead lines at beginning of the file
so these lines must be discarded cause not useful!

Zstardata1.blend (91.6 KB)

open this file and look in text editor
you can save this txt file to a file on your HD and re open it with txt editor
does the lines looks OK?

I don’t have an astronomical book with me and don’t remember much
about it !

by the way how many visible stars is this file will have ?
is it going like 1000 or 20 000 ?

but I assume that when you render you want need all the stars only a portion of it !

Coordinates system
are you using the STD astronomical coordinates system

can you show picture of it or give a wiki link may be
I did a spherical one in a script but mat have to modify it to fi the stars one!

are you using a chart like this one
and equatorial stars chart ?

http://www.bing.com/images/search?q=equatorial+stars+chart&qpvt=equatorial+stars+chart&FORM=IGRE#view=detail&id=74B1EF65CA1C1D0699E556BA4E3C6A107655393C&selectedIndex=1

have to find what the coordinates is for this ?

happy bl

here is short script to read stars data

but this does not work yet

does the data on each line can be change to show only the numbers ?
or need to read the line as it is and try to extract numbers from it ?



 import bpy 

 
sourceName = 'data1.txt'     # or *.cvs or whatever you want
 
 
linedata=[]
kk=0
 
ra=150  # Degrees
rar=radians(ra)
deltadeg=50  # +/-  Deg
deltarad=radians(deltadeg)
 
ra1=rar+deltarad
ra2=rar-deltarad
 
 
fo = open(sourceName, "r")
 
ln1=4
 
for line in fo.readlines():
 
 if kk &gt;ln1:
 
  print ('line=',line)
#  vals = linedata[kk].split(',')
  vals = line.split(',')
  print ('kk=',kk,' vals=', vals)
  print ('vals[',kk,']=', vals[0],' Float=',float(vals[0]))
  v2=[]
  for i in range(6):
   v2.append(float(vals[i]))
  print ('v2=',v2,' kk-ln1+1=',kk-(ln1+1) ,' kk=',kk)
  
  linedata.append(v2)
  print ('linedata [',kk-ln1+1,']=', linedata[kk-(ln1+1)])
 
 kk+=1
 
 
 
fo.close()      # close the file
 
# double x,y,z;
# double r,g,b;
 
stl1=len(linedata)
print ('len lines = ',stl1)




this script reads numbers per line only
but need to be modified for your datas

right now date lines are like this

line = coord.push([5.35, 30.311, -30.002]);

but need to extract the number some how
have to review python text commands to do that !

happy bl

I remove the extra overhead lines at the end of the data file
and now I can read the data’s



 
 
 
  sourceName = 'stars-data2.py'     # or *.cvs or whatever you want
 
 
  linedata = []
  kk = 0
 
  ra = 150  # Degrees
  rar = radians(ra)
  deltadeg = 50  # +/-  Deg
  deltarad = radians(deltadeg)
 
  ra1 = rar+deltarad
  ra2 = rar-deltarad
 
 
  fo = open(sourceName, "r")
 
  ln1 = 9
 
  for line in fo.readlines():
 
   if kk &gt;ln1:
 
    print ('line = ',line)

    vals = line.replace("["  , " ")
    vals = vals.replace("])" , " ")
    vals = vals.replace("coord.push(" , " ")
    vals = vals.replace(";" , " ")

    vals = vals.split(',')

 
 

    v2=[]
 
    for i in range(3):
     v2.append(float(vals[i]))
 
    print ('v2=',v2,' kk-ln1+1=',kk-(ln1+1) ,' kk=',kk)
 
    linedata.append(v2)
    print ('linedata [',kk-ln1+1,']=', linedata[kk-(ln1+1)])
 
   kk+=1
 
 
 
  fo.close()      # close the file
 
  # double x,y,z;
  # double r,g,b;
 
  stl1=len(linedata)
  print ('len lines = ',stl1)
 
 
 
 


now need to understand how to set that on a spherical coordinates system
in blender

is it this Ecliptic_coordinate_system you are using ?

not certain what the longitude and latitude are

is longitude = RA
latitude = declination ?

I already have a spherical system
where the XY plane has angle Theta and along Z axis it is the Phi value

so have to make it work with RA and declination I guess

so that would be RA = Theta values
and Declination = Phi value

for data line
coord.push([4, 30.001, -21.078]);

what is the value 4 stands for ?

is 30 = RA
and -21 the declination ?

also is this RA given in hours or degrees ?

did a first 3D model but most probably wrong ?

tell me what you think


happy bl

OK, thanks guys, lots to reply to, thanks for the feedback, but I’m in over my head! :slight_smile:

In response to my original question, I get the general idea that, yes, it is possible to accomplish what I’m after in Blender. Thanks for that assurance. I still am not proficient with this software and will need time to figure everything out, so please bear with me, I’m “not ready for prime time” at the present moment. Also, I have a lot going on right now (father near death) and will not have time for writing lengthy posts. Thanks for understanding.

In response to Jorge’s post:

>>>What coordinate system is used on these locations,

The first term in the data is the magnitude value of the star. The second and third terms are positional data in equatorial coordinates, commonly used in astronomy, expressed as degrees of angles. These are spherical coordinates, converted very simply from x,y,z coordinates.

>>>Orbital coordinates are somewhat complex and not like xyz. From an earth perspective, you need to consider “atmospheric refraction”, date-time, viewer location, etc… or the locations will be innacurate. Also speed of light calculations should be considered. Or are those calculations already applied?<<<<

None of that matters for this project, all I need is to position stars at a fixed distance, with spherical coordinate positions transformed into x,y,z.

>>>I guess a better way to ask this question is Where did you get your star chart data?<<<<

The data is in an Excel spreadsheet, from either NASA or IAU. I’ve had this file for over a decade, and do not recall the original source, and cannot locate it again now. But it is sufficiently useful for my purposes.

>>> By slightly modifying my code above to handle the z axis coordinates, it will esentialy create a LARGE point cloud, with each vertice being the location of a star. When I threw 20,000+ points at it, it took just a few secods to read and produce outlines of the states. Also you dont realy need the EdgeList variable because you will not be connecting the points/stars.<<<

That sounds great, a “point cloud” is exactly what I need, with all the points at the same radius from the center. There are 9000 stars in the spreadsheet, but I really only need maybe half of those. Could you please tell me how this script is handled in Blender? Did you use script mode in a node? These are the things I need to learn, I understand about making wireframes and applying materials, but am still trying to figure out how scripts are handled. Once I get this project off the ground, I hope to keep learning and create other projects, and will be glad to share my results with you and anyone else.

Ricky, the equatorial coordinate map you linked is what the star data plots out on a flat map in x and y. Using equatorial coordinates, I hope to create a 3D space with all those stars at a fixed radial distance from the center of the model (which is how the stars actually appear to the eye, as if they are all at an infinite distance from the Earth).

As for providing you with the data you ask for, I have been looking again at the file created in 2003, and I really don’t recall all the details from back then. I need time to get my head back into it. I wasn’t prepared to get into all this when asking my original question! I really do appreciate your willingness to help, but being a noob, guess I wasn’t prepared for this much help! Please do not spend an inordinate amount of time on this, but I do appreciate the help.

Hope I’m answering all your questions, it’s very difficult to use this forum UI, scrolling up and down repeatedly. You asked:

>>>open this file and look in text editor

I can’t access that blend file. Again - NOOB

>>>by the way how many visible stars is this file will have ?
is it going like 1000 or 20 000 ?

6000 are available, but will not need them all, at least at the beginning. I need to learn how to handle data in Blender

>>>but I assume that when you render you want need all the stars only a portion of it !

Yeah, only one view at a time, looking from the center of a 360 degree space.

>>>Coordinates system
are you using the STD astronomical coordinates system

Yes, equatorial coordinated, declination and right ascension

>>>> for data line
coord.push([4, 30.001, -21.078]);

what is the value 4 stands for ?

is 30 = RA
and -21 the declination ?<<<<

4 is the magnitude of the star
30 is the RA
-21 is the declination

>>> also is this RA given in hours or degrees ?

Degrees – I had converted the raw data from hours so the ActionScript could read it.

>>>does the data on each line can be change to show only the numbers ?
>>>or need to read the line as it is and try to extract numbers from it ?

I’m sorry, I don’t understand the questions. Again, NOOB!

Thanks much for your help, please don’t go to too much trouble. I may not be back online for a few days, depending on the status of my father. Thanks, jay

when ready try to PM me I don’t look everyday on forum here

for the file just click on link and save as then you should be able to open it up !

I began something like that 2 years ago but never completed cause of missing information’s!

I got script doing model in 3D done
but angles are probably wrong !

I use the RA for the plane XY angle
and Decl for the Vertical axis angle

but don’t know of decli is measured from plane and up or from Z axis down!

let me now when your ready PM me !

with your help can be done fast I guess

still not certain on what to do with Magnitude value and what material to add for this

may be have a different start size or color function of magnitude

happy bl

here is angles I get for the first star
RA = 30 Dec = -21

using the physic 3D coordinates

tell me if these angles make sense


I use a sky radius of only 10 to see if it was working as it should!
but it will be a lot more then that later on !

happy bl

I found an accurate source of information for star data, constants, and math at http://asa.usno.navy.mil/ almost everything should be on this site with the exception of the Astronomical Almanac itself

Thanks guys, this is my first chance to get back to this forum.

I’m going to have to generally learn to work with simple scripts in Blender, so I can have an intelligent conversation on this subject. I mainly wanted to learn if it were possible to do this project in Blender, and you’ve both given that reassurance. For now, I want to learn to generally position objects in x, y, z using scripts, and how the sizes of objects can be numerically scaled in scripts, and also about accessing a data file with position and scaling info. Once that’s done, it should be simple to transform to a spherical coordinate system. So let me play around for a while, and I’ll PM you guys once I’m up to speed. Thanks!

BTW, I found the source of the star position and magnitude data, and it is the Yale Bright Star Catalog. I used BSC4, the version from 1983, which is not micro-accurate for science, but close enough for this project. The Wikipedia entry (below) has links to sources for the raw data, but I could not locate online another copy of the Excel file that I have.

If I can get this basic star field working, I’d like to build on this by simulating the orbits of the planets, and show views as seen from Earth. I have the astronomy and math background to work with this, but lack the programming skills. So I’m sure we can have a productive collaboration, if you guys are interested. Thanks!

well I already made a small script for the 3D model see image in earlier post
can you tell me if the angles are good at least or tell me what is wrong

I don’t have access to a good book on astronomy so you help is appreciated !

now sorry to say for learning python and blender API takes time and not easy!

note : if you dont’ see me PM me!

happy bl

Ricky, I was finally able to figure out how to load that script into Blender. (Please note where I said NOOB!) It’s just the same ActionScript that I wrote years ago, so naturally it does not work in Blender. I will be trying to discover the capabilities of this bpy language, and will hopefully have something in a couple weeks, time permitting. There is a whole lot to know with Blender and I expect a long and difficult learning curve. Thanks

(BTW, this forum IU REALLY SUCKS! It keeps logging me off and otherwise making problems. Hope the software itself is less trouble.)

contact forums help and describe problems
they will help you

forum works fine for me !

but can you tell me at least if angles are good or not ?

as I said takes a while to learn python and API !
but blender 3D is very versatile and powerful!

thanks

happy bl