Archaeoastronomy and Sketchup II
-
construsol, Guess I misunderstood, when you wrote this:
"To make things simpler, the coordinates of the stars would be input by hand in a SU dialog box (or similar). No need for SU to calculate nothing more, I can get this coordinates with other software for now."
I took that to mean you had software to calculate the star's coordinates as a point (in the form of x,y,z) in space. As said before, if you provide the equationsthat solve for the coordinate point using azimuth and altitude, then the plugin can be modified to work as you need it. Please read my previous post about the level of math, and get some math guy to help you.
Btw, the last picture in the set you posted seemed to be a list of coordinate points. What do those numbers refer to?
-
I might be able to help a bit with the math, although I'm definitely no mathmatician.
@honoluludesktop:
if I was able to get the Point3d, would your plugin be able to handle the rest? -
The plugin utilizes point3d. For his purpose, it requires equations in the form:
coordinate x for 3d point as x = equation as function of variables
coordinate y for 3d point as y = equation as function of variables
coordinate z for 3d point as z = equation as function of variablesSorry to be redundant, just trying to be sure that we communicate. As previously posted keep the math to algebra. Btw, you don't need the location of the star, only a point on the line to it.
-
Hi again.
There is no need to have a point in x,y,z space representing a star, just a vector that is directed to it. If this vector starts at 0,0,0 of the Sketchup space you only need two angle measures to direct it to the star.
Let's say that an astronomy software tells that a certain star of interest has an Azimuth of 51.8 degrees and a Altitude of 42.0 degrees, and I want a plane's Zaxis to point to it. So we have the coordinates, a plane and a North (orange line in Fig. 1). Please note that the north can be at a random angle from the green and red axis.
Then, starting from the north, a vector fixed in one of it's end to 0,0,0 starts to rotate around the blue axis counterclockwise (towards the east) until rotating 51.8 degrees. That is the Azimut of the star (Fig. 2). The vector is still in the horizontal plane.
Then, this vector still fixed to 0,0,0 rises 42.0 degrees from the horizontal. That is the Altitude of the star (Fig. 3). Now the vector is pointing towards the star of interest.
Now what is left is to align the Zaxis of the plane with the vector (Fig. 4).
That's it. Just make rotate a vector around two coordinates and align the Zaxis of a plane to it.
-
construsol, What you say is true, but the existing plugin is written to use 3d Cartesian coordinate information. Only with the equations to change your variables into coordinates values (x,y,z) can it be easily adapted. I am willing to adapt the existing plugin, but not incline to write a new plugin. Sorry.
It's best that I stop posting, and let someone more capable help you.
-
Looking at this last diagram of yours, it looks like you want a script that orients a face to be perpendicular to a vector that is pointing towards a star. Is that the correct idea?
The only tricky part is really figuring out how you have your data collected about what that vector is. If it requires math using old calendar dates, you'll need to find that info on how that math is accomplished (maybe you already postefd that?, I have not been following too closely). I think none of us want to learn how to calculate the position of the stars 8,000 years ago. You need to provide that expertise somehow. So if you had a link that explained it all out mathematically and simply (most of us are not serious mathematicians), that would be great.
And lastly, you must have a list of stars and dates you want to examine? Or you plan on entering that in manually? Or something. But you need to figure out how your data is organized and how you can get it into a useable list, that can be read by a computer.
Again, this is all very do-able (I've already written a script that orients a face perpendicular to any given vector called perpendicular faces, for example). Just help us with how to calculate the vectors better, and say how you want to input your data.
-
That is the correct idea when you say that what I want is a script that orients a face to be perpendicular to a vector that is pointing towards a star. On the other hand, you don’t have to learn how to calculate the position of the stars thousands of years ago. It would be unfair of me that besides having your invaluable help making a script to expect from you to learn astronomy. I have the list of stars and its coordinates, so I will provide them and I enter them manually in SU. So no complex math, no astronomy, no mathematical expertise from your part, nothing to calculate, even forget all the astronomy theme of the previous post. Just need a script that tells a vector to rotate around blue axis given an angular measure and then raise that vector with another angular measure as I explained with the pictures in my last post, and lastly align the Zaxis of a given plane to the vector.
@chris fullmer said:
Looking at this last diagram of yours, it looks like you want a script that orients a face to be perpendicular to a vector that is pointing towards a star. Is that the correct idea?
The only tricky part is really figuring out how you have your data collected about what that vector is. If it requires math using old calendar dates, you'll need to find that info on how that math is accomplished (maybe you already postefd that?, I have not been following too closely). I think none of us want to learn how to calculate the position of the stars 8,000 years ago. You need to provide that expertise somehow. So if you had a link that explained it all out mathematically and simply (most of us are not serious mathematicians), that would be great.
And lastly, you must have a list of stars and dates you want to examine? Or you plan on entering that in manually? Or something. But you need to figure out how your data is organized and how you can get it into a useable list, that can be read by a computer.
Again, this is all very do-able (I've already written a script that orients a face perpendicular to any given vector called perpendicular faces, for example). Just help us with how to calculate the vectors better, and say how you want to input your data.
-
Aha! That can be done, and rather easily (more or less). I won't be able to get to it tonight, but if no one else gets to it, I'll try to do it by early next week.
Chris
-
Great!
@chris fullmer said:
Aha! That can be done, and rather easily (more or less). I won't be able to get to it tonight, but if no one else gets to it, I'll try to do it by early next week.
Chris
-
@chris fullmer said:
I think none of us want to learn how to calculate the position of the stars 8,000 years ago.
Besides it cannot be done in Ruby. Standard Ruby (and Sketchup Embedded Ruby,) use the included class Time which has an initial date of January 1, 1970 CE(AD). I have tried to set Sketchup dates before this, and the app does not allow it. (In addition, the MAX year is 2037.)* The ShadowInfo['ShadowTime'] attribute takes and returns only Time class. (It actually does not not raise an Exception if you say give it an Integer, but the value will be unchanged.)
This post actually began over at GoogleGroups, and there I posted some info for the requester, that if he wanted to be historically accurate, the plugin would need to ignore Sketchup's built-in Sun positioning and Time keeping.
The plugin would need to keep it's own date and time (with a dialog to set them,) and the Moon (Luna) and Sun (Sol) would be treated as just stars (like all the rest.) In addition, the plugin would need to use the Ruby Extended class Date, which can go back 6723 years MAX, as the initial date is January 1, 4713 BCE (4712 BC, accounting for year 0).- I would think this implies that future versions of software utilizing Ruby should move to using the Date class (and it's DateTime subclass,) sometime in the next 27 years.
I did a bit of checking, I'm looking for calculation software that runs on remote web servers, so a plugin could query that server for a particuler star's RA and DEC, from a specific geolocation and date; rather than do it itself.
I did find some code, at an Italian University but it's written in IPL, and would need to be translated to C or Ruby. I don't know IPL.
-
Dan, no astronomy, no calculation, no ancient dates are needed, no RA and DEC anymore. I'm using another coordinate system that uses SU horizontal plane and north. Please read this post:
http://forums.sketchucation.com/viewtopic.php?f=180&t=27480&start=15#p238823
I will do all the astronomy, calendar calculations and math. Just need a script that tells a vector to rotate around blue axis given an angular measure and then raise that vector with another angular measure as I explained with the pictures in the post, and lastly align the Zaxis of a given plane to the vector. Thanks Dan and all you people that are investing their time to help.
@dan rathbun said:
@chris fullmer said:
I think none of us want to learn how to calculate the position of the stars 8,000 years ago.
Besides it cannot be done in Ruby. Standard Ruby (and Sketchup Embedded Ruby,) use the included class Time which has an initial date of January 1, 1970 CE(AD). I have tried to set Sketchup dates before this, and the app does not allow it. (In addition, the MAX year is 2037.)* The ShadowInfo['ShadowTime'] attribute takes and returns only Time class. (It actually does not not raise an Exception if you say give it an Integer, but the value will be unchanged.)
This post actually began over at GoogleGroups, and there I posted some info for the requester, that if he wanted to be historically accurate, the plugin would need to ignore Sketchup's built-in Sun positioning and Time keeping.
The plugin would need to keep it's own date and time (with a dialog to set them,) and the Moon (Luna) and Sun (Sol) would be treated as just stars (like all the rest.) In addition, the plugin would need to use the Ruby Extended class Date, which can go back 6723 years MAX, as the initial date is January 1, 4713 BCE (4712 BC, accounting for year 0).- I would think this implies that future versions of software utilizing Ruby should move to using the Date class (and it's DateTime subclass,) sometime in the next 27 years.
I did a bit of checking, I'm looking for calculation software that runs on remote web servers, so a plugin could query that server for a particuler star's RA and DEC, from a specific geolocation and date; rather than do it itself.
I did find some code, at an Italian University but it's written in IPL, and would need to be translated to C or Ruby. I don't know IPL.
Advertisement