{"id":19557386,"url":"https://github.com/andrefs/logistic_map","last_synced_at":"2025-02-26T08:15:29.673Z","repository":{"id":2410913,"uuid":"3378736","full_name":"andrefs/logistic_map","owner":"andrefs","description":"A program which, given the logistic map (http://en.wikipedia.org/wiki/Logistic_map) or a similar equation, draw its bifurcation diagram (http://en.wikipedia.org/wiki/Bifurcation_diagram).","archived":false,"fork":false,"pushed_at":"2012-07-10T21:22:15.000Z","size":1600,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-08T21:41:14.108Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrefs.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-02-07T15:55:26.000Z","updated_at":"2023-05-06T07:56:08.000Z","dependencies_parsed_at":"2022-08-18T00:00:34.649Z","dependency_job_id":null,"html_url":"https://github.com/andrefs/logistic_map","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrefs%2Flogistic_map","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrefs%2Flogistic_map/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrefs%2Flogistic_map/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrefs%2Flogistic_map/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrefs","download_url":"https://codeload.github.com/andrefs/logistic_map/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240814864,"owners_count":19861957,"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","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-11-11T04:42:06.902Z","updated_at":"2025-02-26T08:15:29.633Z","avatar_url":"https://github.com/andrefs.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Packages needed (Ubuntu):\n\tfreeglut3\n\tfreeglut3-dev\n\tglutg3\n\tlibglut3\n\tlibglut3-dev\n\tlibxmu-dev\n\tlibxmu-headers\n\tlibxmu6\n\tlibxmuu-dev\n\tlibxmuu1 \n\nRun with ./logistic N, where N is the test case number (1\u003c=N\u003c=3)\n\nMore information (PT):\n\n\n-------------------------------------\nBibliotecas etc:\n\t- Têm que ter instalados os pacotes freeglut3, freeglut3-dev, glutg3, libglut3, libglut3-dev, libxmu-dev, libxmu-headers, libxmu6, libxmuu-dev, libxmuu1  (se calhar não precisam destes todos, eu fui instalando até conseguir compilar :P )\n\t- Existe uma makefile que ja compila com tudo direitinho, usem-na\n\t- O programa executa-se com ./logistic n  em que n é um valor inteiro entre 1 e 3 (porque eu so defini 3 casos de teste)\n\t- Fundamentos teóricos:\n\t- Basicamente estes desenhos fazem-se partindo de uma função, de um valor inicial, e de um factor r, e aplicando a funcao recursivamente. O que se verifica é que ao fim de muitas iterações a função começa a tender para determinados valores (às vezes para um valores específico, outras vezes dois valores, e por ai fora), dependendo do valor de r.\n\t- Os desenhos mostram, para cada valor de x, para quantos valores diferentes a função tende ao fim de muitas iterações (quanto mais iterações - offset - e maior o num_pontos, mais preciso fica o mapa, mais demora mais tempo a executar)\n\n-------------------------------------\nAcerca do funcionamento do programa:\n\t- Existem 3 funções (set_glbvars_1,2 e 3 - eu so defini 3, voces podem definir mais) definidas que o que fazem é atribuir os melhores valores às variáveis globais para diferentes casos de teste (tipo número de iterações, largura/altura da janela, etc).\n\t- Estas funções são depois inseridas num array de funções set_glbvars[10].Quando a main é chamada, é executada uma função verify_args() que verifica se o argumento n passado é válido.\n\t- Depois na main, é executada a função set_glbvars[n]() para as variáveis globais ficarem com os melhores valores.\n\n-------------------------------------\nVariaveis globais mais importantes:\n\t- offset - numero de vezes que a funçao é iterada antes de desenhar pontos\n\t- r_min, r_max - acho que sao os valores minimos e máximos de r representados na janela\n\t- x_min, x_max - a mesma coisa para o x\n\t- num_pontos - número de pontos a calcular para cada valor de x\n\t- x0 - valor de partida para x\n\t- razao e margem - sao variaveis para a funcao de zoom, ja nem sei bem explicar isto\n\n-------------------------------------\nInterface:\n\t- Corram o programa, deixem-no desenhar o mapa e depois é possivel fazer zoom - clicando com o botao esqerdo marcam um ponto no mapa que será o canto superior esqerdo do novo mapa, voltam a clicar e fica definido o canto inferior direito.\n\t- Podem fazer zoom algumas vezes seguidas (3 ou assim, não abusem porque se bem me lembro aquilo pode crashar se zoomarem mt)\n\t- para fazer zoom out, botao direito\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrefs%2Flogistic_map","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrefs%2Flogistic_map","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrefs%2Flogistic_map/lists"}