45 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| local lgi = require 'lgi'
 | ||
| local SweGlib = lgi.require('SweGlib', '2.0')
 | ||
| 
 | ||
| SweGlib.init()
 | ||
| 
 | ||
| local timestamp = SweGlib.Timestamp.new()
 | ||
| timestamp:set_gregorian_full(1983, 3, 7, 11, 54, 45, 0, 1)
 | ||
| 
 | ||
| local moment = SweGlib.Moment.new()
 | ||
| moment:set_timestamp(timestamp)
 | ||
| moment:set_timestamp(timestamp)
 | ||
| moment:set_coordinates(19.03990999, 47.49801000, 280)
 | ||
| moment:set_house_system(SweGlib.HouseSystem.PLACIDUS)
 | ||
| moment:add_all_planets()
 | ||
| 
 | ||
| local all_planets = moment:get_all_planets()
 | ||
| for _, planet in ipairs(all_planets) do
 | ||
|    local position = planet:get_position()
 | ||
|    local sign_position = math.fmod(position, 30)
 | ||
|    local degree = math.floor(sign_position)
 | ||
|    local minute = math.floor((sign_position - degree) * 60)
 | ||
|    local second = math.floor(((sign_position - degree) * 60 - minute) * 60)
 | ||
|    io.write(string.format("%s: %f (%d°%d′%d″ %s)\n", planet:get_planet_info():get_name(), position, degree, minute, second, planet:get_sign_info():get_name()))
 | ||
| end
 | ||
| 
 | ||
| local all_aspects = moment:get_all_aspects()
 | ||
| for _, aspect in ipairs(all_aspects) do
 | ||
|    if aspect:get_aspect() ~= "NONE" then
 | ||
|       local planet1 = aspect:get_planet1()
 | ||
|       local planet2 = aspect:get_planet2()
 | ||
| 
 | ||
|       io.write(string.format("%s in %s with %s (±%.2f%%)\n", planet1:get_planet_info():get_name(), aspect:get_aspect_info():get_name(), planet2:get_planet_info():get_name(), aspect:get_difference()))
 | ||
|    end
 | ||
| end
 | ||
| 
 | ||
| local all_antiscia = moment:get_all_antiscia()
 | ||
| for _, antiscion in ipairs(all_antiscia) do
 | ||
|    if antiscion:get_axis() ~= "NONE" then
 | ||
|       local planet1 = antiscion:get_planet1()
 | ||
|       local planet2 = antiscion:get_planet2()
 | ||
| 
 | ||
|       io.write(string.format("%s is antiscion of %s on axis %s (±%.2f%%)\n", planet1:get_planet_info():get_name(), planet2:get_planet_info():get_name(), antiscion:get_antiscion_axis_info():get_name(), antiscion:get_difference()))
 | ||
|    end
 | ||
| end
 |