Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aspects: Start and End #9

Open
NodBr opened this issue Apr 25, 2024 · 3 comments
Open

Aspects: Start and End #9

NodBr opened this issue Apr 25, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@NodBr
Copy link
Contributor

NodBr commented Apr 25, 2024

Hi @theriftlab .

I have an idea for the Aspect class: start and end dates.

For sure, it doesn't make sense in a Natal chart, but It will be very useful in some particular situations:

  • Transit Charts
  • Aspects between a Transit Chart and a Natal chart
  • Progressed charts (maybe?)

I know it can be tricky with some objects not moving in their typical direction, but, if possible, it will be very cool.

@theriftlab theriftlab added the enhancement New feature or request label Apr 26, 2024
@theriftlab
Copy link
Owner

This is a nice idea & ties in with the other request. I'm thinking to add a function in the chart class to calculate things like this on the fly, so you'd do something like:

start, end = natal.next_transit(chart.SATURN, chart.PLUTO, calc.CONJUNCTION)

where the first object is from the calling chart (natal Saturn in this case) and the second object is the real-time transiting planet. Optionally it could take a date to start from, and also have a counterpart previous_transit() function to look back from, so you could check historical transits this way.

It will take some complexity to add in & include things like houses & points etc, but I'm adding it to the ever-growing feature list!

@NodBr
Copy link
Contributor Author

NodBr commented Apr 26, 2024

Your idea is great and it does serve for my two suggestions.

I just wonder how to do it, because of the different speeds of each object.
For example: If it's looking for a moon transit, it will have to be hour-specific. But, if you try it on Pluto, even if you try to scan on a yearly basis, it may take very long to find something.

Maybe using different increments per object?

I'll try code something myself. Sure it won't be a professional-level coding, but maybe it can serve as an inspiration for you to polish it and add to the code.

@theriftlab
Copy link
Owner

The average daily speeds of the main planets are in the const/calc.py file which could be a starting point. Things like houses and nodes have a relatively known approximate speed which I could add in somewhere, the only issue I see is with asteroids / fixed stars, although it's probably safe to ignore those for now.

I'd start with getting the current distance between the two points using something like swe.difdegn() then calculating what size of increment to use based on the speed of the fastest of the 2 objects & the distance between them, and shrink the increment size as they get closer.

It'll be a little while before I can take a proper look at this though so code away!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants