{"id":17229352,"url":"https://github.com/fpoli/newton","last_synced_at":"2025-09-10T22:42:04.982Z","repository":{"id":31236846,"uuid":"34798245","full_name":"fpoli/newton","owner":"fpoli","description":"Simulazione interattiva di corpi sotto l'azione della forza di attrazione gravitazionale reciproca","archived":false,"fork":false,"pushed_at":"2016-06-19T15:22:40.000Z","size":10498,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T19:19:14.954Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fpoli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-29T14:23:31.000Z","updated_at":"2016-06-19T14:11:47.000Z","dependencies_parsed_at":"2022-09-04T15:32:41.217Z","dependency_job_id":null,"html_url":"https://github.com/fpoli/newton","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fpoli/newton","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpoli%2Fnewton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpoli%2Fnewton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpoli%2Fnewton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpoli%2Fnewton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fpoli","download_url":"https://codeload.github.com/fpoli/newton/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpoli%2Fnewton/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274536970,"owners_count":25303939,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T04:47:35.395Z","updated_at":"2025-09-10T22:42:04.960Z","avatar_url":"https://github.com/fpoli.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Newton\n======\n\n[![Build Status](https://travis-ci.org/fpoli/newton.svg?branch=master)](https://travis-ci.org/fpoli/newton)\n[![Coverity Scan Build Status](https://scan.coverity.com/projects/9216/badge.svg)](https://scan.coverity.com/projects/9216)\n\nQuesto programma è una simulazione interattiva che mostra la traiettoria di corpi sotto l'azione della forza di attrazione gravitazionale reciproca. Prendendo in input posizione, massa e velocità ne simula gli spostamenti.\n\nL'avevo preparato nel 2010 come tesina per la maturità al liceo scientifico. Di recente ho solo controllato che compilasse con Ogre 1.9 sotto Ubuntu 14.04, ma ho lasciato la qualità del codice che era. Di sicuro non è privo di bachi.\n\nScreenshot\n----------\n\n#### Sistema solare\n![Simulazione sistema solare](doc/screenshot_ssol.jpg)\n\n#### Sistema solare, riferimento geocentrico\n![Simulazione geocentrico](doc/screenshot_geocentrico.jpg)\n\n#### Sistema complesso\n![Simulazione complesso](doc/screenshot_complesso.jpg)\n\nInstallazione e utilizzo su Ubuntu/Debian\n-----------------------------------------\n\n### Installazione delle liberie\n\n- Ogre 1.9 (libogre-1.9)\n- JsonCpp (libjsoncpp)\n- OIS (libois)\n\nSu Ubuntu 14.04\n\n\tsudo apt-get install libjsoncpp-dev libois-dev libogre-1.9-dev\n\n\n### Compilazione\n\n\tmake \u0026\u0026 make install\n\n### Esecuzione del programma\n\n\t./newton-gui scripts/ssol-attuale.conf\n\nComandi\n-------\n\n### Comandi generali\n\n- tasto `esc`: chiudi il programma\n- tasto `p`: ferma/riprendi la simulazione\n- tasto `n`: visualizza/nascondi i nomi dei pianeti\n- tasto `r`: riporta i pianeti nella situazione originaria\n- tasto `t`: visualizza/nascondi il tracciato dei pianeti\n\n### Movimento nello spazio\n\n- tasto sinistro del mouse + movimento:\nRuota la telecamera attorno al pianeta su cui è ancorata.\n\n- tasto destro del mouse + movimento:\nCon un movimento verticale si inclina la telecamera di lato.\nCon un calibrato movimento diretto verso il basso e a sinistra è possibile\nruotare la telecamera attorno all'asse verticale (relativo alla visuale) che\npassa per pianeta su cui è ancorata\n\n- rotella del mouse: muove la telecamera avanti/indietro\n\n### Parametri della visualizzazione\n\n- tasto `1` e `2`: cambia il pianeta su cui è ancorata la telecamera\n- tasto `3` e `4`: cambia il pianeta rispetto a cui è relativo il tracciato del\npianeta a cui è ancorata la telecamera\n\n### Informazioni aggiuntive o di debug\n\n- tasto `i`: visualizza le informazioni di debug (tempo trascorso, step per frame, pianeta ancora, tracciato relativo a..)\n\n- tasto `o`: visualizza il numero effettivo di frame per secondo e il logo di Ogre\n\n- tasto `m`: visualizza in modo ciclico solo le facce (default), gli spigoli\n(wireframe) o i vertici (nuvola di punti) dei volumi rappresentati\n\n- tasto `c`: stampa su stdout (nel terminale) le coordinate attuali della telecamera\nrispetto al pianeta su cui è ancorata\n\nUtilizzo di newton-calc\n-----------------------\n\nPer accelerare la simulazone fisica è possibile rinunciare alla visualizzazione grafica, utilizzando il programma newton-calc.\nAnalogamente a newton-gui, è richiesto come primo parametro il file di configurazione, seguito dalla durata in secondi della simulazione e dal percorso\ndel file su cui deve essere salvata la configurazione finale.\n\nes: calcola la configurazione dei pianeti dopo un'ora (3600 secondi)\n\n\t./newton-calc scripts/ssol-attuale.conf 3600 scripts/ssol-finale.conf\n\nStrumenti aggiuntivi\n--------------------\n\nIn `tools/` ci sono alcuni programmi che sono stati utili allo sviluppo del programma.\n\n`spherical2skybox` permette di convertire un'immagine rappresentate la superficie\ndi una sfera nelle sei immagini di cui è composto il cubo del plugin skybox di Ogre.\n\n`get_conf.sh` e `get_planet_data.sh` sono due script bash eseguibili sotto linux che aiutano a costruire una configurazione scaricando le coordinate dei pianeti dal servizio pubblico Horizons della NASA.\n\nFonti\n-----\n\nLa texture della Via Lattea è una rielaborazione di [ESO - Milky Way](https://commons.wikimedia.org/wiki/File:ESO_-_Milky_Way.jpg). Si veda il link per informazioni sulla licenza.\n\nI file in `media/`, ad eccezione di quelli riguardanti la Via Lattea, sono forniti assieme al codice sorgente di [Ogre](www.ogre3d.org). Si veda sotto per la licenza.\n\nI file in `src/ogre/`, sono forniti assieme al codice sorgente di [Ogre](www.ogre3d.org). Si veda sotto per la licenza.\n\nI dati sui pianeti e satelliti del sistema solare (posizione, velocità, ecc) provengono dal JPL HORIZONS System della NASA: http://ssd.jpl.nasa.gov/?horizons\n\nIl codice del programma Newton è rilasciato sotto la licenza [GNU GNU General Public License, versione 3](./LICENSE). Copyright (C) 2010-2015 Federico Poli \u003cfederpoli@gmail.com\u003e.\n\n#### Ogre\n\nOGRE (www.ogre3d.org) is made available under the MIT License.\n\nCopyright (c) 2000-2015 Torus Knot Software Ltd\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpoli%2Fnewton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffpoli%2Fnewton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpoli%2Fnewton/lists"}