Lógica de Programação Aplicada à Criação e Análise da Forma
Plano de Curso
Aula 01 -
-
Apresentação do curso
- Metodologia
- Avaliações
-
Introdução
- Conceito de algoritmo
- História da Programação
- Programação Aplicada à Arquitetura e Urbanismo
- A linguagem Python
-
Instalação
- CPython 3.X
- Pastas importantes da distribuição CPython
- Instalado para um único usuário (instalação mais comum)
%USERPROFILE%/AppData/Local/Programs/Python/Python39 %USERPROFILE%/AppData/Local/Programs/Python/Python39/Scripts %USERPROFILE%/AppData/Local/Programs/Python/Python39/Lib/site-packages
- Instalado para todos os usuários do computador(instalação alternativa)
%PROGRAMFILES%/AppData/Local/Programs/Python/Python39 %PROGRAMFILES%/AppData/Local/Programs/Python/Python39/Scripts %PROGRAMFILES%/AppData/Local/Programs/Python/Python39/Lib/site-packages
- Instalado para um único usuário (instalação mais comum)
- Pastas importantes da distribuição CPython
- Anaconda 3
- Pastas importantes da distribuição Anaconda no Windows
- Instalado para um único usuário (instalação mais comum)
%USERPROFILE%/Anaconda3 %USERPROFILE%/Anaconda3/Scripts %USERPROFILE%/Anaconda3/Lib/site-packages
- Instalado para todos os usuários do computador (instalação alternativa)
%PROGRAMFILES%/Anaconda3 %PROGRAMFILES%/Anaconda3/Scripts %PROGRAMFILES%/Anaconda3/Lib/site-packages
- Instalado para um único usuário (instalação mais comum)
- Pastas importantes da distribuição Anaconda no Windows
- Como encontrar o interpretador Python da sua distribuição
- No console Python (Python shell) digite:
import sys sys.exec_prefix
- No console Python (Python shell) digite:
- CPython 3.X
-
Operações matemáticas no Python Shell
-
Operadores matemáticos
-
Divisão inteira e divisão real
- Mod e Div
-
Níveis de Parênteses
-
-
Exercício sugerido 01 - Use o Python Shell como uma calculadora
-
Referências e links úteis
-
Python
-
Rhinoceros
-
Grasshopper
-
Between the Folds
-
Aula 02 -
- Variáveis
- Tipos de variáveis
- Lógicas
- Inteiras
- Reais (ponto flutuante)
- Strings
- Tipos de variáveis
-
Editor de arquivos
- abrir editor
- salvar arquivo
- editar
- executar
- Entradas e saídas
- input() - Python 2 e 3
- raw_input() - Python 2
- print() - Python 3
- print - Python 2
-
Condicionais lógicas
- if
- else
- elif
-
Exercício 02 - inverter os algarismos de um número inteiro de 3 dígitos usando Mod e/ou Div
-
Arquivos dos Exemplos da Aula
-
Referências e links úteis
Cursos de Python:
-
Em português:
-
Em Inglês:
Aula 03 -
-
Palavras reservadas
-
Funções e Métodos
-
Bibliotecas
- Importando módulos
- Biblioteca keyword Python 2
- Biblioteca Math Python 2
- Biblioteca Math Python 3
- math.sin()
- math.sqrt()
- Biblioteca datetime Python 3
- datetime.date()
- datetime.timedelta()
-
4 formas de importação
- import nome_do_módulo
- import nome_do_módulo as chamada_do_módulo
- from nome_do_módulo import função_ou_classe_do_módulo
- from nome_do_módulo import função_ou_classe_do_módulo as chamada_da_classe_ou_função_do_módulo
- Instalando bibliotecas adicionais
pip install matplotlib
- tutorial sobre o pip
- tutorial sobre o numpy
- tutorial sobre o matplotlib
- Importando módulos
-
Funções definidas pelo usuário
- def
- parâmetros de entrada
- retorno
-
Exercício 03 - Bhaskara
-
Referências e links úteis
-
IDE Pycharm
-
Distribuição Anaconda
-
Ambiente de desenvolvimento Python Online IBM Developer Skills Network - Labs
-
Ambiente de desenvolvimento Python Online Google colab
-
O software Processing possui um modo de programação em Python
-
Aula 04 -
Arquivo da Aula Clique com o botão direito para baixar
-
iteráveis
- listas Python 2
- listas Python 3
- fila
- pilha
- lista
- operações em listas
- função range()
- função len()
- função list()
-
tuples
- strings
-
Repetições
-
while
-
for
-
-
Exercício 04 - Sequência de Fibonacci
-
Arquivos dos Exemplos da Aula
-
Referências e links úteis
Aula 05 -
-
Alguns comandos do Rhinoceros
- Curvas
- Point
- Line
- Circle
- Arc
- Polyline
- Curve
- InterpCrv
- Superfícies
- PlanarSrf
- ExtrudeCrv
- ExtrudeSrf
- Pipe
- Loft
- Sólidos
- Cap
- Box
- Sphere
- BooleanUnion
- BooleanDifference
- BooleanIntersection
- Curvas
-
Editor de Python do Rhinoceros
- Abrindo o Editor
- importando Bibliotecas
- Criando geometria (rs.Add…)
- Utilizando variáveis
- Entrada de dados (rs.Get…)
- Loops
- Armazenando Geometria em listas.
-
Exercício 05 - Inverter os algarismos de um número inteiro de qualquer tamanho usando listas.
- Arquivos dos Exemplos da Aula
-
Referências e links úteis
Aula 06 -
- Instalação do Grasshopper
-
Instalação do Grasshopper Python Component
-
Interface do Grasshopper
- Parâmetros de entrada
- Sequência de comandos
- Bake
- Exemplos
- Listas
- Exemplos
-
Sequência de colunas no Grasshopper
-
Grasshopper Python Component (GhPython)
-
Exercício 06 - Criar sequência de colunas do GhPython.
- Arquivos dos Exemplos da Aula
- Referências e links úteis
Aula 07 -
-
Treliças
- Arquivos dos Exemplos da Aula
-
Referências e links úteis
Aula 08 -
Malhas de Pilares no Grasshopper
- Malha de pontos regular
- Duplo for
-
Exercício 07 - Transformar Malha de Pontos em Malha de Pilares com altura paramétrica
Arquivo final da Aula - sem Rhino.Geometry
-
Exercício 08 - Adicionar linhas de eixo das vigas em um dos sentidos da malha
- Referências e links úteis
Aula 09 -
- Malha de pontos irregular
- recebendo listas
-
Exercício 08 - Adicionar linhas de eixo das vigas em um dos sentidos da malha
- Referências e links úteis
Aula 10 -
-
Arquivo exemplo do comando Orient3p
-
Edifício de Múltiplos pavimentos
- Exercício 9 - adaptar o código para que a rotação dos andares tenha sentidos alternados (e.g. andares pares no sentido horário e andares impares no sentido anti-horário)
-
Trabalhos de Alunos - Edf. Multiplos pavimentos
- Referências e links úteis
Aula 11 -
-
Funções definidas pelo usuário
-
Exercício 12 - transformar um dos algoritmos desenvolvidos no curso em uma função
-
Referências e links úteis
Aula 12 -
-
Manipulação de listas e slicing
-
Data trees
-
Referências e links úteis
Aula 13 -
-
Biblioteca ghpythonlib.components
-
Exercício 13 - ????
-
Referências e links úteis
Aula 14 -
-
Fractais
-
Exercício 14 - Desenvolver um algoritmo que gere um outro fractal.
-
Referências e links úteis
Aula 15 -
- Orientação de trabalhos
Aula 16 -
- Orientação de trabalhos
Aula 17 -
-
Encerramento do Curso
-
Referências e links úteis
Tutoriais de C# para Grasshopper