Manim para iniciantes: crie animações impressionantes com código | Thaomaoh | Skillshare

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Manim para iniciantes: crie animações impressionantes com código

teacher avatar Thaomaoh, Learn Creatorpreneur Skills

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Apresentação

      3:16

    • 2.

      Projeto do curso - antes de começarmos

      1:27

    • 3.

      (Windows) Como configurar e instalar o Manim

      7:12

    • 4.

      (Mac) Como configurar e instalar o Manim

      9:01

    • 5.

      (método antigo) Como configurar e instalar o Manim no Windows

      5:08

    • 6.

      (método antigo) Como configurar e instalar o Manim no Mac

      3:08

    • 7.

      Conhecendo o Visual Studio Code

      4:41

    • 8.

      Configurando uma cena de Manim

      3:20

    • 9.

      Criando a primeira animação

      2:27

    • 10.

      Criando uma animação de texto simples

      2:49

    • 11.

      (Windows) Como visualizar animações sem a extensão de visão lateral do Manim

      1:20

    • 12.

      (Mac) Como visualizar animações sem a extensão de visão lateral do Manim

      1:29

    • 13.

      Importância das variáveis

      0:54

    • 14.

      Bom recurso para aprender Manim

      1:06

    • 15.

      Criando um retângulo

      1:35

    • 16.

      Deslocando objetos na tela

      2:04

    • 17.

      Alterando parâmetros de um objeto

      2:29

    • 18.

      Diferentes maneiras de animar algo na tela

      1:57

    • 19.

      Explorando o comando self.play()

      1:39

    • 20.

      Animação 1 - Círculo

      3:30

    • 21.

      Animação 1 - Retângulo circundante

      1:38

    • 22.

      Animação 1 - Posicionamento de objetos um ao lado do outro

      1:16

    • 23.

      Animação 1 — Movendo objetos para coordenadas específicas

      4:41

    • 24.

      RECAPITULAÇÃO - Animação 1

      4:54

    • 25.

      Animação 1 - Criando uma seta

      5:42

    • 26.

      Animação 1 — Indicar e girar comandos

      4:23

    • 27.

      Animação 1 - Atualizador

      3:08

    • 28.

      Animação 1 - Finalizando

      3:06

    • 29.

      RECAPITULAÇÃO 2 - Animação 1 - Seta

      3:32

    • 30.

      26 Recapitulação 2 Animação 1 O resto

      2:43

    • 31.

      RECAPITULAÇÃO 2 - Animação 1 - O resto

      5:33

    • 32.

      Animação 2 - texto e matrizes

      1:33

    • 33.

      Animação 2 - Animando palavras diferentes separadamente

      2:03

    • 34.

      Animação 2 - Movendo objetos para as bordas do quadro

      2:16

    • 35.

      Animação 2 - Organizando letras de texto

      2:58

    • 36.

      Animação 2 — criando e posicionando formas

      4:39

    • 37.

      Animação 2 - Formas rotativas

      2:29

    • 38.

      Animação 2 — Troca de posições de formas

      2:21

    • 39.

      Rastreadores de valor

      4:29

    • 40.

      Função de taxa

      0:54

    • 41.

      RECAP - Rastreadores de valor

      1:54

    • 42.

      Eixos 1 - criando um novo eixo

      2:19

    • 43.

      Eixos 1 - Colocando coisas dentro dos eixos

      3:15

    • 44.

      Eixos 2 — Personalizando eixos

      2:21

    • 45.

      Eixos 2 - Adicionando etiquetas de eixos

      1:01

    • 46.

      Eixos 2 - criando um ponto com um rótulo

      1:36

    • 47.

      Eixos 2 — Animando pontos e etiquetas de pontos dentro dos eixos

      1:51

    • 48.

      Eixos 2 — animando eixos e atualizadores de limpeza

      3:10

    • 49.

      RECAPITULAÇÃO - Eixos 2

      6:01

    • 50.

      Eixos 3 — criando os eixos

      3:58

    • 51.

      Eixos 3 - Desenhando a função cosseno nos eixos

      1:37

    • 52.

      Entendendo como as funções lambda funcionam (meu método)

      2:51

    • 53.

      Eixos 3 - Função de animação em eixos

      4:42

    • 54.

      RECAP - Animando funções em eixos

      1:12

    • 55.

      Eixos 4 - Zoom nos eixos

      4:17

    • 56.

      Eixos 4 - Animando eixos e funções

      1:56

    • 57.

      Transformando formas correspondentes (animação legal)

      2:36

    • 58.

      Organizando vários elementos um ao lado do outro com um grupo

      3:04

    • 59.

      Animação 3 — Alterando parâmetros de forma

      3:23

    • 60.

      Animação 3 - Criando o retângulo circundante

      1:32

    • 61.

      Animação 3 - Organizando objetos

      3:32

    • 62.

      Animação 3 — Mudando as cores de várias palavras em um objeto de texto

      3:19

    • 63.

      Animação 3 - Alterando a fonte do objeto de texto

      0:55

    • 64.

      RECAPITULAÇÃO - Primeira metade da animação 3

      3:14

    • 65.

      Animação 3 - Mudando coisas por números decimais

      2:49

    • 66.

      Animação 3 - Reposicionamento de objetos.mp4

      2:48

    • 67.

      Animação 3 — dimensionamento e movimento de objetos

      3:08

    • 68.

      RECAP - Dimensionamento e movimento de objetos

      1:04

    • 69.

      Animação 3 - Criando um ponto e desaparecendo

      2:11

    • 70.

      Criando um arquivo de configuração do Manim

      1:59

    • 71.

      Como definir a qualidade de saída em 4k

      1:17

    • 72.

      Outras configurações dentro do arquivo Manim cfg

      2:47

    • 73.

      Conclusão

      0:54

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

319

Estudantes

8

Projetos

Sobre este curso

Características principais:

  • Aprendizagem prática: mergulhe nos fundamentos da animação Python com o Manim através de aulas práticas e passo a passo. Ganhe confiança enquanto guio você por cada conceito, tornando-o acessível e agradável para qualquer pessoa ansiosa para aprender.

  • Nenhuma experiência prévia necessária: perfeito para iniciantes, este curso não assume conhecimento prévio de animação ou programação.

  • Domínio de Manim: desbloqueie todo o potencial da biblioteca Manim, uma ferramenta poderosa para criar animações de alta qualidade. Explore suas características, funções e aplicações para dar vida à sua visão criativa.

  • Aprendizagem baseada em projetos: aplique suas habilidades imediatamente trabalhando em projetos do mundo real. De formas básicas a cenas intrincadas, você vai construir uma base forte para criar animações dinâmicas e visualmente deslumbrantes.

  • Dicas e estratégias práticas: aprenda dicas e estratégias essenciais para aprimorar seu fluxo de trabalho de animação. Descubra técnicas de economia de tempo e melhores práticas que vão elevar a qualidade de suas animações e simplificar seu processo criativo.

O que você vai aprender:

  • Noções básicas de programação em Python com Manim para animação

  • Instalação e configuração da biblioteca Manim

  • Criando animações simples com formas geométricas

  • Dominando técnicas avançadas para cenas dinâmicas

  • Integrando expressões matemáticas em animações

  • Animando eixos e funções de plotagem

  • Dicas e truques para otimizar e refinar suas criações

Para quem este curso é adequado:

  • Iniciantes sem experiência em programação ou animação

  • Entusiastas de Python que querem explorar a animação

  • Educadores que querem integrar visuais interativos em seus materiais de ensino

  • Criativos interessados em expressar ideias através da animação

Conheça seu professor

Teacher Profile Image

Thaomaoh

Learn Creatorpreneur Skills

Professor

Hello, I'm Thaomaoh and I teach skills that I wish I knew 5 years ago.

If you enjoyed one or more of my courses consider checking out my free newsletter & YouTube channel where I share a lot more cool stuff.

If you'd like to find out more, please follow my Skillshare profile.

And just one more thing. Could you help me improve by leaving a review for the course you watched? I'd love to know what you thought about it so that I can make the next one better.

Visualizar o perfil completo

Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução: Olá. Muito obrigado por se juntar a mim neste curso. Antes de começarmos, quero apresentar o manim e o que ele realmente é Então, provavelmente você já viu animações como essas no Youtube Há um canal focado em matemática em particular chamado Three Blue, One Brown. Isso primeiro me fez pensar sobre como eles são feitos. E depois de se aprofundar um pouco mais, descobri que o criador desse canal, Grant Sanderson, foi quem escreveu originalmente o projeto de código aberto chamado O que é Num? É uma biblioteca Python que permite criar animações usando código E a biblioteca é uma coleção de códigos pré-escritos que os programadores podem usar para programar mais rapidamente É essencialmente como um modo em um videogame. Ele adiciona recursos extras, facilitando a conclusão de determinadas tarefas, neste caso, a criação de animações O que espero oferecer a você neste curso é um pacote inicial completo de habilidades que permitiria que você começasse a escrever código e experimentá-lo sozinho para criar animações impressionantes A razão pela qual comecei a aprender num foi porque achei que as animações que você pode criar com ele parecem muito legais E eu estava curioso para saber se eu poderia aprender o suficiente para poder criar alguns vídeos legais para meus vídeos do Youtube. Foi um processo muito natural. E quando senti que sabia o suficiente, simplesmente parei. Agora eu sei o básico até o ponto em que, quando eu quiser criar uma animação mais complexa, posso simplesmente pesquisar no Google como fazer isso e começar a partir daí E quando tenho uma lacuna no meu cronograma de edição, em vez de pesquisar imagens genéricas ou um presente, posso criar rapidamente uma animação doentia que eu acho que torna o vídeo muito mais divertido e agradável de assistir, assim como você. Também sou iniciante em manipulá-lo e, acredite ou não, não sei quase nada sobre Python , que é a linguagem de programação com a qual você escreve o código para criar animações manim sei quase nada sobre Python , que é a linguagem de programação com a qual você escreve o código para criar O legal disso é que você pode aprender Python básico e como escrever código Ao aprender manim, você não precisa ter nenhum conhecimento prévio de programação para criar essas Há um ditado que diz que é muito melhor aprender com alguém que está apenas alguns passos à sua frente, mas não 1.000 passos à frente. Porque dois iniciantes podem falar um idioma semelhante e entender os problemas e as lacunas de conhecimento um do outro muito mais do que um iniciante e um professor de Harvard, que geralmente presumem que você já sabe muitas coisas para Meu objetivo com este curso era facilitar a compreensão de todos os conceitos do ponto de vista de um iniciante É por isso que criei este curso para ser amigável para pessoas com diferentes níveis de experiência Eu vou supor que você sabe muito pouco ou nada sobre codificação ou criação de animações Assim como fiz alguns meses atrás, antes de começar a aprender mana Assim, você pode ficar à vontade para pular se algo parecer redundante Por exemplo, se você já sabe como configurar o código VS ou já está familiarizado com a sintaxe básica do Python, não precisa sentir a necessidade de assistir a aula inteira até o A única coisa que você precisa para fazer este curso é um computador e uma conexão com a Internet. Depois disso, você poderá criar e ajustar animações como essas ou semelhantes usando código Além disso, antes de começarmos, eu só quero agradecer por se juntar a mim neste curso. Eu sei que há 1 milhão de coisas que você poderia estar fazendo agora, então eu realmente espero que valha a pena. Obrigado novamente e me avise se tiver alguma dúvida ao longo do caminho. 2. Projeto de Class - antes de começar: Bem-vindo ao curso. Haverá muitas informações, então quero garantir que você obtenha e retenha o máximo possível delas. O que eu recomendo para a maioria dos estudantes é primeiro fazer o curso completo para ajudar a pintar uma imagem completa de como o manim funciona E, em seguida, voltar às seções individuais posteriormente, com base nas coisas que você acha que podem sentir falta ou não entender completamente. Além disso, outra ótima coisa seria ter um lugar onde você possa fazer anotações, sejam anotações da Apple em seu telefone, um bloco de notas ou um Google Doc Durante o curso, vou passar por diferentes comandos que são fáceis de esquecer. Se você não os usa com frequência ou não os escreve, eu o encorajo a fazer isso. Mais importante ainda, recomendo acompanhar o download do Nim, configurar tudo e depois copiar o que estou fazendo Vou mostrar animações que você mesmo pode replicar. E a melhor maneira de aprender é fazendo isso sozinho. Para este projeto de aula, quero que você crie uma animação rápida, talvez de cinco ou dez segundos, que você ache legal aplicando o que aprendeu durante o curso. Como eu disse, vamos criar várias animações que você pode acompanhar Portanto, você terá muito material para experimentar, mas eu o encorajo a criar algo próprio, navegando por diferentes parâmetros. Formas, texto, nem precisam fazer sentido, basta criar algo que você ache legal. E depois de fazer isso, faça o upload para a galeria do projeto para que outras pessoas também possam se inspirar. Então, sem mais delongas, vamos aprender como instalar. 3. Como configurar e instalar o Manim no Windows: Para instalar o Mnm no Windows, primeiro abrirei meu navegador e procurarei Instalar o Mnm Vou seguir o guia oficial site da comunidade Mnm Este guia pode mudar no futuro porque mudou no passado. Porém, aqui à esquerda, clicarei em Instalar Mnm localmente Em seguida, verifique se o Windows está selecionado e copie o primeiro comando. Em seguida, vou ao meu menu Iniciar e procuro o Power Shell. É essa caixa preta assustadora que vamos usar para instalar o Mnm Não se preocupe, faremos tudo passo a passo. Então, dentro daqui, vou colar o comando e clicar em Enter. Depois de algum tempo aqui , diz que tudo está instalado. Diz: reinicie seu shell ou execute esses comandos para concluir a instalação. Então, vou reiniciar meu Power Shell e tudo deve estar pronto. Em seguida, voltarei ao guia de instalação do Mnem, e a primeira etapa é instalar o Python Vou copiar esse comando e colar no meu Power Shell. Depois de terminar, voltarei ao guia e a segunda etapa é instalar o Latex, que basicamente permite animar diferentes fórmulas e equações com o MANim Essa etapa é opcional, então você pode ignorá-la se quiser, mas eu a instalarei para ter a funcionalidade completa do Mnm Diz: Para Windows, recomendamos instalar o Latex por meio disso Vou clicar no link Download, e aqui posso clicar em Baixar também. Pronto, vou até o meu local de downloads, que para mim é meu desktop e abro o instalador. Aceitarei os termos e condições e, basicamente, clicarei em Avançar várias vezes sem alterar nenhuma das configurações padrão. instalação levará algum tempo e, quando estiver concluída, poderei clicar em Fechar. Em seguida, também excluirei o instalador porque não precisaremos mais dele. Finalmente, temos a etapa três no guia de instalação, que é instalar o Manum. Para isso, precisaremos desses três comandos, então vou copiá-los e colá-los no Power. É uma boa ideia colá-los um por um em vez dos três ao mesmo tempo, mas vou ignorar meu próprio conselho e colar de qualquer maneira. E como eu não os colei um por um, acho que preciso inserir novamente o último. Depois de fazer isso, as coisas começam a acontecer e, depois de um tempo, posso ver várias vantagens verdes, que significa que o ManIM foi instalado Sem fechar meu power shell, voltarei ao guia e colarei outro comando que verificará se minha instalação do Mnm foi bem-sucedida Este vai demorar um pouco, mas quando estiver pronto, você deverá ver algo semelhante a isso. Eu posso ver que as duas primeiras linhas dizem passado. Isso é bom. É o que queremos. Mas a terceira linha diz que falhou, apesar de já termos instalado o Latex. Não é bom. Para corrigir isso, abrirei o menu Iniciar, entrarei em todos os meus aplicativos e procurarei a pasta MIC Tex. Aqui vou abrir o console MIC tex. Em seguida, verificarei se há atualizações. Diz aqui que há atualizações disponíveis, então vou até a página Atualizações e clico em Atualizar agora. Isso novamente demorará um pouco e, quando estiver pronto, clicarei em OK. Em seguida, abrirei o PowerShell e você notará que, se tentar executar o último comando que verifica se a instalação do Manm foi bem-sucedida, ele dirá que não encontra Isso porque precisamos navegar até a pasta Manimations do É uma nova pasta que Manm criou. Falaremos sobre isso mais tarde. Para fazer isso, posso digitar os acrônimos CD para change directory e depois Manation. Você também pode copiar o segundo comando dos três comandos do guia de instalação. Ele fará a mesma coisa. Em seguida, posso executar esse comando para verificar se a instalação foi bem-sucedida. E boas notícias, todas essas quatro linhas agora dizem passar, que significa que instalamos o Mnem com sucesso Diz: Você gostaria de renderizar e visualizar uma cena de teste à qual eu direi não digitando N e clicando em Enter Agora posso fechar meu Power Shell e abrir meu Explorador de Arquivos. E se eu for ao Disco C, depois aos usuários e, em seguida, ao meu nome de usuário, devo ver uma nova pasta chamada animações Dentro dessa pasta, vou encontrar vários arquivos novos. O arquivo hello dot py é um arquivo Python onde eu poderei escrever código e criar animação Mnm Então, no futuro, se você não colocar seus arquivos Python dentro da pasta Manimation, seu editor de código, como o Visual Studio Code, não entenderá o código não entenderá Portanto, todo novo arquivo Python em que você deseja escrever Mnem deve estar dentro da pasta de animações Quando gravei as aulas deste curso, usei um método antigo de instalação do Mnem Então, vou colocar meus arquivos Python onde eu quiser no meu computador, como no meu desktop Mas se você estiver usando esse método para instalar o Manum, certifique-se de colocar seus arquivos Python dentro da Caso contrário, o Mnem não funcionará. Agora, o problema é que não tenho uma boa maneira de abrir esse arquivo Python Para isso, precisarei instalar um editor de código. Então, vou abrir o menu Iniciar e procurar a Microsoft Store. Em seguida, procurarei o código do Visual Studio e clicarei em Instalar. Você também pode baixar e instalar o código Vas do seu navegador como qualquer outro programa do Windows. Assim que estiver instalado, poderei procurá-lo e vê-lo no meu menu Iniciar. Agora, se eu voltar para a pasta de animações, posso abrir o arquivo hello dot py usando o Visual Studio Code Linda. Mas há algumas coisas que precisamos configurar antes de começarmos a criar animações com o Mnm Vou fechar a guia Bem-vindo e, na parte superior, diz que o Vascde não confia na pasta atual em que estou Então, vou gerenciar e confiar na parte inferior. Além disso, você pode selecionar a pasta aqui para que nunca mais precise selecioná-la no futuro. Em seguida, à esquerda, clicarei nesse botão, que me levará às extensões. Vou pesquisar Python e clicar em Instalar. Depois de terminar, procurarei o Pilans e parece que ele também foi instalado automaticamente . Só checando duas vezes. O último que vou precisar é chamado de vista lateral Mnm. Isso me permitirá visualizar as animações que eu crio dentro do código VS sem precisar abrir cada arquivo de animação individualmente Em seguida, fecho o painel de extensões e fecho todas as guias, exceto a primeira que tem o arquivo hello dot py que se eu tentar executar esse código Python , diz que primeiro preciso selecionar meu interpretador Python Muito assustador. Aqui, quero escolher Inserir caminho do intérprete e depois localizar Em seguida, vou para minha pasta Manimation, onde verei a pasta dot V&V, que significa ambiente significa Vou entrar nele e, dentro dos scripts, estou procurando Python Depois de encontrá-lo, clique com o botão direito mouse e diga selecione Intérprete Observe que, no canto inferior direito, não está mais escrito select interpreter, mas mostra a versão do meu Python e o VNV de pontos entre parênteses, Além disso, você só precisa fazer isso uma vez. Primeiro, selecionarei e excluirei tudo aqui e, em seguida, direi do Mnm Import Snowflake Isso dirá ao código do VS que eu quero usar o Mnm para este projeto Como alternativa, eu poderia dizer Import Mnm. Então, agora vou escrever um código para ver se minha instalação do Mnm funciona A animação de texto verificará se o Mnm funciona e a animação de texto verificará se a instalação do Latex No canto superior direito, escolho Executar arquivo Python e, em seguida, clicar neste ícone aqui, que é a visualização lateral do Mnem Eu seleciono o nome da minha cena, aqui está Você pode nomear sua cena como quiser. Eu deveria conseguir visualizar minha animação à direita, mas nada acontece. Se nada acontecer e sua extensão de vista lateral ManIM não estiver funcionando, você pode acessar as extensões novamente, clicar no ícone de roda dentada e escolher as configurações para a extensão de vista lateral Mnm Aqui, você desejará alterar o caminho padrão do Mnm. Vou entrar no meu Explorador de Arquivos dentro da pasta de animações Então eu vou para o ponto VN V, depois para o script, e aqui está o ManiM Então, clique com o botão direito do mouse e escolha Copiar como de volta no código VS Excluirei o Mnm aqui e colarei no caminho Quero ter certeza de que não tenho aspas no início e no final, então vou excluí-las Certifique-se de excluir as aspas. E agora, se eu voltar e executar o arquivo Python, clicar no ícone da extensão de visualização lateral Mnm e escolher minha cena, posso ver a animação sendo reproduzida. Linda. 4. Como configurar e instalar o Manim no Mac: Instale o Mnm no MAC, primeiro abrirei meu navegador e procurarei Instalar o Mnm Vou seguir o guia oficial site da comunidade Mnm Este guia pode mudar no futuro porque mudou no passado, mas, mesmo assim, clicarei em Instalar Mnm localmente à esquerda , copiarei o primeiro comando, ocultarei meu navegador, abrirei o terminal e colarei o comando Depois de algum tempo aqui, ele diz que tudo também diz: reinicie seu shell ou execute esses comandos para finalizar. Vou reiniciar meu terminal e tudo deve estar pronto. Em seguida, voltarei ao guia de instalação do Mnem e a primeira etapa é instalar o Python Vou copiar esse comando e colar no meu terminal. Para mim, diz que o Python já está instalado, mas para você, pode ser diferente Voltarei ao guia e a segunda etapa é instalar o Latex, que permitirá que você anime diferentes fórmulas e equações Essa etapa é opcional, então voltarei a ela no final do tutorial. Finalmente, temos a etapa três, que é instalar o Mnem Para isso, precisaremos desses três comandos, então vou copiá-los e colar tudo em um deles. Vai demorar um pouco, mas para mim, não está mostrando o que deveria mostrar. Ele deve mostrar várias vantagens verdes como essa se a instalação do Manum for bem-sucedida Se é isso que você vê, está pronto e pode pular o vídeo Mas para mim, diz que há um erro. A configuração do PKG não foi encontrada. Isso significa que também precisarei instalar o PKG Config Para instalá-lo, vou usar o Homebrew. É essencialmente um grande instalador que permite instalar várias coisas por meio do terminal. Vou procurar o Home Brew Mac e, depois de clicar no primeiro link, poderei copiar esse longo comando necessário para instalá-lo. Abra outro terminal e cole-o. Aqui está me pedindo para digitar minha senha, então eu vou fazer isso e clicar em Enter. Em seguida, diz: pressione Enter para continuar, então é isso que vou fazer. Depois de cerca de 10 minutos, ele diz que os próximos passos são executar esses comandos no terminal. Então, vou copiar esses três comandos, colá-los e devo ter Home Ro instalado com sucesso. Home Brew para instalar o que eu preciso. O comando para isso é Brew Install PkG config. Depois de terminar a instalação, direi claro para limpar o texto e, em seguida, de volta ao tutorial de instalação do Manum, copiarei novamente esses três comandos e os colarei novamente no meu terminal E depois de clicar em Enter, isso me dá outro erro. Que diabos? Desta vez diz erro, dependência do Cairo não foi encontrada, o que significa que eu também preciso disso Então, vou fechar este terminal e abrir outro e, mais uma vez, usar o Home Brew para instalar o Cairo Eu vou dizer que Brew instale o Cairo. Vai fazer sua mágica e, depois de terminar, vou digitar de forma clara para limpar o texto. Mais uma vez, de volta ao tutorial de instalação do Manum, copiarei essas três linhas e as colarei. E bum. Finalmente consigo ver as vantagens verdes e sem verificar se o Mnem está instalado corretamente, vou ao tutorial novamente, copiarei esse comando e colarei no terminal Certifique-se de que está escrito manimações aqui ao colar isso Caso contrário, cole os três comandos anteriores no terminal novamente. Desta vez, ele pensará por um tempo e depois dirá isso Diz que verificou se nossa instalação do Mnem está íntegra e, por baixo, posso ver que as duas primeiras linhas Isso é bom. É o que queremos. A terceira linha diz que falhou, e isso é porque ainda não instalamos o Latex, a segunda etapa opcional no tutor de instalação do Mnem. Agora, se eu abrir o Finder e entrar na minha pasta de usuário ou na pasta inicial, devo conseguir ver uma nova pasta a segunda etapa opcional no tutor de instalação do Mnem. Agora, se eu abrir o Finder e entrar na minha pasta de usuário ou na pasta inicial, devo conseguir ver uma nova pasta chamada Manimations. Mais uma vez, está dentro dos usuários, seu nome de usuário e das animações. Se você não vê essa Pathbr aqui, você pode subir para ver e escolher Mostrar barra de caminho Em seguida, você poderá ver onde está dentro da estrutura de pastas. Então, dentro dessa pasta, vou encontrar quatro novos arquivos. O arquivo hello dot py é um arquivo Python onde eu poderei escrever código e criar animação Mnem Então, no futuro, se você não colocar seus arquivos Python dentro da pasta Manimations, seu editor de código, como o código Vas, seu editor de código, como o código não entenderá o código Portanto, todo novo arquivo Python em que você deseja escrever Mnem deve estar dentro da pasta de animações Quando gravei as aulas do curso, usei um método antigo de instalação do ManIM Então, vou colocar meus arquivos Python onde eu quiser no meu computador, como no meu Se você estiver usando esse método para instalar o Mnm, certifique-se de colocar seus arquivos Python dentro da Caso contrário, o Mnm não funcionará. Mas agora o problema é que não tenho uma boa maneira de abrir o arquivo Python Para isso, precisarei instalar um editor de código, então abrirei meu navegador e procurarei o código do Visual Studio. Vou para a página de download e, em MacClick, para baixar Depois que o instalador for baixado, entrarei no meu local de downloads e clicarei duas vezes no arquivo zip para extraí-lo. Depois de fazer isso, posso excluir o Z, clicar em Ir e escolher os aplicativos que abrirão minha pasta de aplicativos. É aqui que eu quero mover o código do Visual Studio para instalá-lo no meu Mac. Quando estiver dentro, poderei encontrá-lo ao lado de todos os meus outros aplicativos. Então, vou usar a pesquisa do Spotlight para abri-la, depois clicar em Abrir e pronto Mas há algumas coisas que precisamos configurar antes de começarmos a criar animações com o Manm Fecharei todas as guias e, à esquerda, clicarei nesse botão, que me levará às extensões Vou pesquisar Python e clicar em Instalar. Depois de terminar, procurarei o Pilans e parece que ele foi instalado automaticamente, verificando O último que vou precisar se chama ManIM sideview. Isso permitirá visualizar as animações que eu crio dentro do código do Visual Studio sem precisar abrir cada arquivo de animação individualmente Em seguida, vou para a pasta de animações e abro o arquivo hello dot py É aqui que posso começar a escrever código MANim. Primeiro, selecionarei e excluirei tudo aqui e, em seguida, direi do Mnm Import Snowflake Isso dirá ao VSCode que eu quero usar o Mnm para Como alternativa, posso dizer Import Man. Você notará que o código Vas está sublinhando Manim porque não entende o que é Esse é outro problema que você pode encontrar. Para corrigir isso, vou até a barra de pesquisa na parte superior e escrevo o símbolo mais, o símbolo da seta dobrável e seleciono Interpreter Vou clicar em Python select Interpreter, e aqui quero inserir os intérpretes. A propósito, você só precisaria fazer isso uma vez Para encontrar esse caminho, voltarei ao meu localizador. Em seguida, na parte inferior, clique com o botão direito na pasta de animações e escolha Copiar como nome do caminho Mais uma vez, se você não vê essa barra na parte inferior, vá para Exibir e escolha Mostrar barra de caminho. De volta ao código do VS, vou colá-lo e, em seguida, adicionar uma barra e digitar dot VNV que é VENV Another slash Bin, outra e Python three Depois de clicar em Enter, devo ver o Mnm acender em verde, que significa que o código Vas agora entende o que é o Mnm Da próxima vez que você abrir o arquivo Python com o código Vas, ele deverá detectá-lo automaticamente Então, agora vou escrever um código para ver se minha instalação do Mnm funciona Ele deve escrever o texto olá na tela. No canto superior direito, escolho Executar arquivo Python e, em seguida, clicar nesse ícone, que é a extensão de visualização lateral Mnm Depois de selecionar o nome da minha cena, aqui está o nome. Eu posso chamá-lo do que eu quiser. Devo conseguir visualizar minha animação à direita. Mas nada acontece. Nada acontece, o que significa que sua extensão de vista lateral Mnm não está funcionando corretamente Você pode voltar às extensões, clicar no ícone de roda dentada e escolher as configurações da extensão de vista lateral Manim Aqui, você desejará alterar o caminho de tripulação padrão. Vou excluir o Manim e depois voltar para Finder dentro da pasta Manimations e, mais uma vez, clicar com o botão direito do mouse na pasta e, mais uma vez, clicar com o botão direito do mouse na Manimations aqui e copiar como nome do Vou colar de volta lá e dizer barra, ponto, VNV, que é VNV, outra barra, Bn, outra barra barra, ponto, VNV, que é VNV, outra barra, Bn, outra barra e Mnem. Vou fechar a guia de configurações e ocultar as extensões. E quando eu clicar no ícone da vista lateral do Manim e selecionar o nome da minha cena, poderei ver a animação que acabei Isso é apenas uma prévia, e meu arquivo de animação real está ao lado do arquivo Python onde eu escrevi a Então, dentro da pasta de animações, verei que algumas novas pastas foram geradas e, no fundo da mídia, poderei encontrar meu arquivo de animação real. OK. Deu um pouco de trabalho, mas estamos quase terminando. Havia uma coisa opcional que eu pulei: instalar o Latex Como eu já instalei o Homebrew no meu Mac, vou usá-lo para instalar o Latex também Vou procurar o Homebrew Install MCText para encontrar o comando de que preciso E dentro da página, aqui está o comando. Então, vou abrir o terminal, colar e isso vai demorar um pouco. Demorou cerca de 15 minutos para mim. Se, por algum motivo, estiver escrito Falha no download, clique na seta para cima no teclado, que colará o último comando usado e clique em Enter. Isso deve retomar o download depois de muito tempo, pois está me pedindo minha senha. Então, vou digitar e clicar em Enter. Finalmente, depois de ainda mais tempo , diz aqui que a instalação foi bem-sucedida. Linda. Só para verificar se está funcionando, abrirei o arquivo hello dot py dentro da pasta Manimations Por alguma razão, não abriu com Vasce. Então, clique com o botão direito do mouse na opção e escolha Vascde para que ela sempre abra com o código Vas E por dentro, removerei a última letra da palavra texto, o que significa que o Mnm agora usará látex para escrever esse texto em vez do texto Mnm normal E se eu executar o arquivo Python, clicar na extensão de visualização lateral Mnm e selecionar minha cena, ela renderiza a animação. Linda. 5. Como configurar e instalar o Manim no Windows: Nesta lição, mostrarei como instalar o manim. Se você estiver usando o Windows. Pode parecer um pouco assustador porque vamos usar o power shell, que é essa coisa misteriosa que os hackers usam Mas não se preocupe, você fará isso passo passo e poderá começar a criar animações com manim em pouco tempo Em primeiro lugar, estou pesquisando no Google como instalar o manim no Windows E vou usar este guia aqui da comunidade manim para que você possa me acompanhar Agora diz aqui que a maneira mais fácil instalar o manim e suas dependências é usando um gerenciador de pacotes como chocolate ly ou Então, vamos instalar o chocolate ly primeiro, vou clicar nele, o que me levará à sua página. E aqui diz que eu preciso fazer isso com o Power Shell. Então, vou pesquisar o power shell dentro do meu Windows e executá-lo como administrador, porque ele diz que eu tenho que executá-lo como administrador. Em seguida, diz que eu preciso correr, obter a política de execução. Então, vou copiar isso e colocá-lo no meu power shell. E clique em Enter. E se retornar restrito, execute esse comando ou aquele comando para mim. Ele retornou bypass, o que significa que eu não preciso digitar isso ou isso Em seguida, vamos executar o comando a seguir. Vou clicar aqui para copiar e colar no meu PowerShell E clique em Enter. Depois de um tempo, diz aqui que o chocolate está pronto. Em seguida, voltarei ao guia de instalação do manim e verei quais são as próximas etapas . E isso é uma boa notícia. Manim pode ser instalado via chocolate simplesmente executando o Choco install. Cara, vou copiar isso e colocar no meu PowerShell e clicar em Enter mais uma vez, aqui mesmo Quando parou, pressionei a letra Y no meu teclado, o que basicamente significa sim, e que pode prosseguir. Aqui diz, você quer executar o script Y Sim ou tudo? Vou colocar a letra A maiúscula porque quero instalar todos os scripts. E depois de clicar em Enter, ele continua novamente e pronto. Agora diz que, por favor, reinicie o mais rápido possível. Então eu vou fazer isso. Agora que meu PC foi reiniciado, tudo está instalado. Agora vamos querer instalar o código VS, que é basicamente um programa que nos permitirá escrever e editar código. Vou digitar o código VS no Google, clicar no primeiro link e pressionar baixar quatro Windows. Depois de salvá-lo, vou abrir o que acabei de baixar e ele abrirá o instalador do código VS. Vou aceitar o contrato de licença depois de lê-lo minuciosamente e, em seguida, vou clicar em Avançar. Próximo. Novamente, aqui eu não preciso mudar nada e basta clicar em Avançar. E, finalmente, instale. Ele fará sua mágica e o código VS será instalado no seu computador. Podemos deixar o código de lançamento do Visual Studio marcado e clicar em Concluir. E estamos dentro. Agora, para começar a escrever o código manum, precisaremos instalar algumas extensões no código VS Basicamente, você pode instalar extensões nele, assim como dentro do seu navegador, para adicionar alguns recursos extras. E há três que queremos alcançar. Extensões. Clique nesse ícone de quatro quadrados à esquerda e digite Python Essa é a primeira extensão que queremos. Se ele aparecer aqui já em popular, basta clicar em Instalar aqui sem pesquisar. O segundo que precisaremos é chamado de postes em extensões populares, mas se você não o encontrar, basta procurá-lo E o último que precisamos é chamado Nim Side View. Este permitirá que você veja as animações que você cria com o manim no código do Visual Studio sem precisar encontrar o arquivo de animação todas as vezes Pesquise isso e instale. E é isso. Bem, só estou brincando. Não é isso. Há um bônus que podemos instalar junto com o manim que facilitará o trabalho com animações que tenham texto Estou de volta aqui dentro do guia de instalação e quero instalar o latex E recomenda que usemos esse comando. Como já instalamos o Gerenciador de pacotes Chocolate Ly. Vou copiar isso, voltar para o administrador do shell do Windows e colar novamente. Quando diz, você quer executar o script? Vou colocar A maiúsculo e pressionar Enter para permitir que ele instale tudo o que deseja instalar, e tudo é feito para garantir que tudo funcione. Entrei no código do VS e escrevi alguns códigos para uma animação básica. Explicaremos como fazer tudo mais tarde. E notei que Manim trabalha com ótimas notícias. Mas então eu testei essa coisa bônus que acabamos de instalar chamada Latex E pareceu não carregar a animação. E me deu um erro dizendo que o latex falhou, mas não produziu um arquivo de log, verifique sua instalação do latex Então, usei o outro comando fornecido nas instruções de instalação para instalá-lo novamente. Desta vez, parecia ter sido instalado. Mas me dê outro erro dizendo erro de látex ao converter para a saída de log DVI acima ou para o arquivo de log Passei cerca de 40 minutos pesquisando e encontrei alguém no Red It que conseguiu resolver meticulosamente esse E, felizmente, eles forneceram um comando que resolve o problema. Então eu abri o power shell e colei. Deixo o código na descrição. Depois, o erro foi resolvido e agora tenho uma boa instalação do manim qual posso começar a criar animações Se você está recebendo o mesmo erro que eu, você pode colar esse código dentro do seu power shell e ele se livrará dele graças a este editor. Mais uma vez, foi assim que se instalou o manim no Windows. 6. Como configurar e instalar o Manim no Mac: Lição, vou mostrar como instalar o manim se você estiver usando um Mac Em primeiro lugar, estou pesquisando no Google como instalar o manim no Mac E vou usar este guia da comunidade manim para que você possa me acompanhar. Diz aqui, por uma questão de simplicidade, as seguintes instruções. Suponha que você tenha o popular Package Manager home brew instalado. Eu não o tenho instalado. Então, Google for Homebrew, vamos lá. É o primeiro link. E diz aqui que, para instalá-lo, posso copiá-lo e colá-lo no meu terminal Mac. Vou clicar aqui, copiar, abrir o terminal e colar clicando no comando V no meu teclado. Depois de pressionar Enter, ele instalará o homebrew, que basicamente nos permitirá instalar o manim com muito mais facilidade em algum momento . Diz aqui que a instalação foi bem-sucedida. Vou fechá-lo e estou de volta aqui no guia de instalação do manim Então eu posso copiar essa primeira linha, abrir o terminal novamente, colar com o comando V e pressionar Enter. Depois de instalar tudo. Voltarei ao guia, e aqui está escrito que os Macs chips da série M one ou posteriores também precisam dessa instalação Você pode verificar qual chip você tem acessando o menu Apple no canto superior esquerdo e clicando sobre isso. Se estiver escrito aqui, Apple M alguma coisa, então você tem o chip da série M. Se estiver escrito Intel, então você tem um chip Intel. O que significa que você não precisa instalar esse bônus. Como eu tenho o chip M one, vou copiá-lo e colá-lo no terminal também, fazendo o que quiser. E, finalmente, de volta ao guia de instalação. Novamente, cole o comando final e nossa instalação do num está concluída. Em seguida, vou instalar o código VS, que é basicamente um programa que nos permitirá escrever e editar nosso código numérico. Vou pesquisar o código VS no Google, clicar no primeiro link e escolher Baixar Mac Universal. Depois de baixado, posso clicar duas vezes nele, o que o extrairá do arquivo compactado Então eu vou escolher Aplicativos. Em seguida, vou arrastar o código do Visual Studio para a pasta Aplicativos, onde você instala os aplicativos , porque posso abri-lo agora Antes de começar a escrever qualquer código dentro do código VS, vamos querer instalar algumas extensões. Você pode instalar extensões nele, assim como dentro do seu navegador. Para adicionar alguns recursos extras, pressionarei esse ícone de quatro quadrados, o que significa extensões. E vou procurar três extensões. O primeiro é chamado de Python, o segundo é chamado de pilões e o último é chamado de Manim side View Depois de clicar em instalar em todos eles, basicamente termino. E há um bônus que podemos instalar junto com o Manim que facilitará o trabalho com animações que contêm texto aqui no guia de instalação E aqui nas dependências opcionais eu quero instalar o latex Ele também usa cerveja caseira, que já temos. Então, vou copiar isso e colar no terminal novamente. E está instalado para garantir que tudo funcione. Vou abrir o código Vis e escrever um código para testar se o código manim funciona e se ele cria uma animação Vou deixar esse código nos recursos para que você mesmo possa testá-lo. E com certeza, se eu executar o código aqui e clicar nesse ícone para abrir o manimsideview, selecionar olá, ele abrirá a animação que É assim que você pode instalar o manim no Mac. 7. Conhecendo o código do Visual Studio: Aqui estamos dentro do código do Visual Studio e esta lição será sobre como conhecê-lo. Falaremos sobre atalhos de teclado para ajudar você a acessar diferentes comandos e também a escrever código com mais rapidez Como criar novos arquivos e como salvá-los. Basicamente, tudo o que você precisa saber para configurar seu ambiente e começar a criar animações numéricas Em primeiro lugar, sempre que você abrir o Visual Studio Code pela primeira vez, você verá uma tela como essa. A partir daqui, você pode criar um novo arquivo, abrir um arquivo já existente e fazer muitas outras coisas. Mas também podemos fazer isso sem a ajuda da tela de boas-vindas. Podemos ir para Arquivo e escolher Novo arquivo. Aqui podemos selecionar Arquivo Python. Como vamos escrever código manual em Python , vou escolher isso e ele criará um novo arquivo Python Agora ele ainda não foi salvo, então vou clicar no comando S para salvá-lo. E vou expandir isso para que eu possa criar uma nova pasta na minha área de trabalho onde salvarei todas as coisas relacionadas a este curso. Então, vou clicar em Nova pasta e chamá-la de Demonstração do curso. E então eu vou salvar esse arquivo aqui com o nome de manim demo. E lá vamos nós. Se eu entrar na pasta de demonstração do curso e clicar com o botão direito do mouse no novo arquivo que foi criado abra com um código do Visual Studio. Ele abrirá no Visual Studio Code e agora eu posso começar a escrever código e criar animações. Cada animação que eu criarei aparecerá dentro da pasta de demonstração do curso, ao lado desse arquivo. Manim criará várias pastas aqui onde poderemos encontrar o arquivo final de nossas animações Outro atalho de teclado que pode ser útil para você é comando shift P no Mac ou o control shift P no Windows E isso permite que você acesse todos os comandos disponíveis com base no seu contexto atual. Em termos de manum, foi útil para mim em apenas um caso, que é escolher o interpretador Python Então, vou pesquisar Python e posso ver o Select Se eu clicar nele, poderei selecionar qual versão do Python esse arquivo usa Se seu código manum não funcionar, isso pode ser um problema. Agora, também há alguns atalhos de teclado úteis para navegar no código e escrevê-lo Vou abrir um dos meus projetos do Manum e, em seguida, copiar um código daqui e colá-lo um código daqui e colá-lo para mostrar o atalho do teclado Além disso, vou pressionar command plus no meu teclado, ou seja, control plus No Windows para ampliar, se você quiser diminuir o zoom, é comando ou controle menos Aqui temos alguns códigos com os quais você realmente não precisa se preocupar no momento, mas vamos nos concentrar nos atalhos do teclado Portanto, não é muito rápido ou eficiente percorrer o código com o cursor do mouse. É muito mais rápido fazer isso com o teclado. Por exemplo, se eu quiser selecionar o texto, certo, eu teria que afastar minhas mãos do teclado, pegar meu mouse, movê-lo até aqui e selecioná-lo. E às vezes eu seleciono um pouco mais do que eu queria, então eu teria que clicar e selecioná-lo novamente. É muito mais rápido fazer isso com o teclado, subir assim e selecionar o texto dessa forma. E depois mude para o que eu quiser. Vamos ver como fazer isso no Mac. Se você segurar a opção no teclado ou no controle do Windows e clicar na seta para a esquerda ou para a direita, ele moverá o cursor por toda a palavra. No momento, estou segurando a opção e clicando na seta para a direita e ela pula daqui para aqui Em vez de eu ter que fazer isso letra por letra. Agora, se eu adicionar shift à opção de atalho, desloque a seta para a direita, ao pular sobre essa palavra, ela também a selecionará Posso começar imediatamente a digitar aqui e substituir essa palavra Agora, para excluir a palavra completa, em vez de excluir letra por letra, você pode segurar a opção ou controle no Windows e clicar em Backspace, e isso excluirá a palavra imediatamente Em vez de você ter que deletar letra por letra, o que é muito mais rápido. Manter o controle no Windows e clicar seta para a esquerda ou para a direita saltará entre as palavras, o que é o mesmo que segurar opção em um Mac. E fazendo a mesma coisa. Se você adicionar shift, ele seleciona as palavras sobre as quais você pula Agora, se você tiver várias linhas como essa, poderá navegar para cima ou para baixo apenas com as teclas de seta. Digamos que eu queira selecionar essa palavra marrom em vez de procurá-la com o cursor do mouse e depois selecionar sobre ela. Vou segurar a opção clicar para a esquerda algumas vezes e depois para cima algumas vezes. Segure a opção, mude, selecione para a esquerda, o que selecionará toda a palavra e o espaço. Se eu não quisesse incluir o espaço, eu simplesmente mudaria um ponto cá e selecionaria a palavra novamente. Agora posso alterá-lo para outra coisa se você estiver usando um Mac. Há também um atalho de teclado útil que percorre toda a linha em vez de apenas uma palavra por vez E isso é comando e suas teclas de seta em vez de opção e suas teclas de seta. Infelizmente, o Windows não tem isso. Obviamente, você também pode selecionar a linha inteira com o comando shift e a tecla de seta para a esquerda. Se você aprender esses atalhos de teclado, será muito mais fácil navegar pelo código do VS e escrever código com muito mais rapidez Vamos começar a realmente escrever alguns códigos e aprender o básico do mani 8. Como configurar uma cena de manim: Nesta lição, vamos escrever as primeiras linhas de código e aprender como importar manim para o Python e também como criar uma cena para Uma vez dentro do Manum, a primeira coisa que você vai querer escrever é de man import snowflake Isso importará a biblioteca manim dentro do Python. E a biblioteca é essencialmente uma coleção de código que torna mais fácil escrever código sem a biblioteca manim código Vs não entenderá o código que estamos escrevendo e não poderá gerar nenhuma animação Em seguida, queremos criar uma cena e podemos criar várias dessas cenas em um arquivo manim Vamos então classificar o nome da nossa cena que queremos. Vou dizer demonstração, depois parênteses e a palavra cena com a letra maiúscula E então, no final, vamos adicionar dois pontos. Deveria ficar assim. Em Python, a capitalização é importante. Se eu escrever a palavra cena com letras minúsculas VS, Code imediatamente percebe que algo está errado e sublinha essa Eu sei que tenho que vir aqui e mudar para letras maiúsculas. Agora, outra coisa importante no Python é a indentação. No momento, meu cursor de texto está aqui na frente. Mas na cena de demonstração da classe, quero clicar em Tab quando ela aumentar em um recuo. O que isso basicamente significa é que, se eu escrever alguma coisa aqui, ela viverá sob isso. Se eu o escrevi sem o recuo, o código não sobreviverá na demonstração da classe Além disso, você pode clicar nesta pequena seta aqui e ela esconderá tudo o que está sob essa cena. Se você trabalha em várias cenas ou animações em um projeto manum, pode simplesmente reduzir algumas das cenas nas quais não está trabalhando para tornar seu espaço de trabalho mais limpo e entender o que está fazendo e onde tudo está fazendo e onde tudo Vou deletar isso. Expanda isso novamente sob a cena. Eu quero escrever def construct self e também adicionar dois pontos no final E tudo isso é a preparação que você precisa fazer para começar a criar uma cena ou animação. Essa linha de código importa a biblioteca manim para o Python , e isso aqui cria uma cena dentro da qual poderemos criar Você notará que, se eu clicar em Retornar ou Enter, ele imediatamente me dará dois recuos. O que basicamente significa que o código VS pressionou automaticamente a tecla tab duas vezes. Para que eu escreva todo o meu código sob a construção surda self E eu quero que todo o código que eu escrevo para minha animação masculina esteja dentro dessa construção definitiva do eu O que significa que às vezes você não entenderá por que seu código não está funcionando. E isso é simplesmente porque você não tinha o recuo correto Se for assim, ele entende que essa linha de código aqui está sob a cena de demonstração da classe e não sob a construção de um eu surdo Queremos que tudo esteja sob a forma de um eu surdo. Vou apenas mover meu cursor aqui e clicar em Tab uma vez no meu teclado para colocá-lo de volta no lugar. Além disso, se você escrever algum código e ver esse ponto branco dentro do seu código VS, significa que esse código ainda não foi salvo. Se você quiser salvá-lo, vá até o arquivo e clique em Salvar. Ou uma maneira mais simples é pressionar o teclado, o controle de atalho S no Windows ou o Command no Mac e ele salvará o projeto Agora que preparamos nosso espaço de trabalho Num e criamos uma cena, vamos escrever o código para nossa primeira animação 9. Criando a primeira animação: Nesta lição, aprenderemos o básico do Manim. Vamos escrever as primeiras linhas do código Nim e criar uma animação de texto simples Agora que temos nossa cena, vamos mover o cursor para dentro da construção do eu surdo e vamos criar uma animação em que o texto se escreverá na tela Vou criar uma nova variável e depois dizer que ela é igual ao texto entre parênteses e também Vou colocar minha mensagem, vou dizer olá. Então eu atribuí esse texto ao pé da letra. Observe também a capitalização aqui. O comando de texto começa com a letra maiúscula. Agora eu criei esse texto, mas ele não aparecerá dentro da nossa animação porque queremos dizer ao Python que queremos que ele apareça na tela Para fazer isso, usaremos o comando self dot play. Se você quiser colocar algo na tela, sempre usará o comando self dot play. Isso significa que você quer mostrar alguma coisa. Vou abrir os parênteses novamente e dizer que está certo. E dentro dos parênteses direi que isso aqui basicamente determina que tipo de método eu quero usar para mostrar o caso Ele escreverá o texto. Se eu passar o cursor do mouse sobre esse texto, ele dirá aqui que simulará a caligrafia ele dirá aqui que simulará a caligrafia Agora vamos executar esse código vindo até aqui, clicando nessa seta para baixo e escolhendo Executar arquivo Python Agora ele executará esse arquivo, mas nada realmente aconteceu. seguir, vamos ver esse ícone aqui, que é a extensão de visão lateral do manum que instalamos anteriormente Clique nele e escolha o nome da nossa cena. Esse nome está aqui. Eu só tenho uma cena que é a cena demo. Eu só vejo uma opção aqui, mas mais tarde teremos várias cenas que você poderá escolher e jogar dentro da vista lateral do manim Se eu clicar aqui, a animação será executada. Você verá que ele escreve a palavra olá. Agora, para encontrar esse arquivo dentro do seu computador, você vai querer ir para onde salvou esse arquivo python Se eu passar o mouse sobre o nome, ele me dirá sua localização. Está no desktop e na demonstração do curso. Vou para o meu desktop e demonstração do curso, poderei ver algumas pastas, como mídia e piiche, eu me preocupo com a pasta de mídia Vou expandir isso, depois entrar em vídeos, demonstração de manim e dez ADP E aqui eu posso ver o arquivo que tem o mesmo nome do meu C. E se eu pré-visualizar esse arquivo, é a mesma animação. Então eu posso pegar esse arquivo daqui e usá-lo onde eu quiser. Agora que fizemos nossa primeira animação simples, vamos explorar alguns comandos e coisas diferentes que podemos animar. 10. Criando uma animação de texto simples: Ok, então esta é a animação de texto que temos agora. Ele apenas diz olá em texto simples no meio da tela. Então, vamos brincar um pouco com esse texto e tentar torná-lo um pouco diferente. Dentro daqui, vou colocar uma vírgula e o espaço e o código VS me dirão automaticamente o que mais posso colocar ao lado dela Assim, podemos ver que o objeto de texto tem vários atributos diferentes que eu posso atribuir a ele. Por exemplo, filopacidade, que significa que cor, o tamanho da fonte, o espaçamento entre linhas, a espessura da fonte e muitos outros atributos são vistos através do texto tamanho da fonte, o espaçamento entre linhas, a espessura da fonte e muitos outros atributos espessura da fonte e A propósito, se você quiser descobrir os diferentes atributos de um objeto, basta clicar com o botão direito do mouse nele e pressionar ir para Definição. Isso abrirá uma nova guia com um documento descrevendo o que você pode fazer com esse objeto. Aqui, se eu rolar para baixo, podemos ver alguns exemplos que são os mesmos exemplos que pudemos ver quando passamos cursor do mouse sobre a palavra texto Você pode ver que pode alterar a altura, a largura e muitos parâmetros diferentes. Mas digamos que queremos mudar a cor para azul. O código Vs sugere automaticamente mais algumas cores. Talvez eu queira escolher azul escuro. Então, eu posso simplesmente clicar nele e ele o preenche imediatamente. Então, digamos que eu queira que o peso desse texto seja igual A palavra negrito também precisa estar em maiúscula. Digamos que tamanho ou, na verdade, tamanho da fonte VS. O código que me corrigiu automaticamente aqui é igual a 48 Agora vou clicar no comando no meu teclado para salvar isso e executar novamente esse código mais uma vez. E ele o abriu automaticamente em uma vista lateral. Agora podemos ver que o texto tem essa cor azul escura e está em negrito. Se eu quiser aumentá-la, posso aumentar o tamanho da fonte para algo como 100. Pressione o comando, mais uma vez ficou maior. Agora, mais um comando útil que você provavelmente usará muito é o peso do ponto próprio. Isso basicamente pausa a animação por algum tempo. Em segundos, direi peso próprio três e, em seguida, pressionarei o comando no meu teclado. E quando essa animação for reiniciada, você verá que a palavra olá permanece na tela por um longo período de tempo Esse tempo é exatamente igual a 3 segundos. Ele reproduziu a animação em que estava escrito na tela e é o texto. E então ele espera por 3 segundos. Depois disso, direi self dot play. E certo, que é exatamente o oposto do comando correto, ele desescreverá esse texto Vou pressionar Command no meu teclado mais uma vez para executar este texto. E ele grava, fica aqui por 3 segundos e depois desgrava Vou adicionar outro comando de peso próprio por 1 segundo para que você possa vê-lo melhor. Ele escreve o texto, depois espera 3 segundos e o cancela, e houve uma lacuna no final de exatamente 1 Então é isso que você pode fazer com o texto. 11. (Windows) Como visualizar animações sem a extensão de visão lateral do Manim: Se, por algum motivo, sua extensão de visão lateral do Mnm não estiver funcionando e você não conseguir corrigi-la, há outra maneira de visualizar a animação do Mnm Depois de executar meu código Python aqui, posso selecionar o terminal Python Então, dentro do terminal, tenho que navegar até a pasta onde está meu arquivo Python A maneira mais fácil de fazer isso é acessar essa pasta usando o Explorador de Arquivos. Então, aqui meu código Mnem está dentro do arquivo hello dot Pi. Então, selecionarei a barra de caminho na parte superior e clicarei em Control C no meu teclado para copiar Então, de volta ao Vascde, vou me certificar de ter o terminal Python selecionado e dizer que CD significa alterar diretório e colar no caminho Depois de clicar em Enter, estou dentro das animações. Mostra isso aqui. Então, para visualizar a animação, posso digitar Manim e depois menos Isso significa baixa qualidade de pré-visualização. Você também pode usar o PQH para obter alta qualidade de visualização. Então hello dot py, que é o nome do meu arquivo Python, você pode vê-lo aqui e, em seguida, o nome da cena que eu quero renderizar Eu o chamei de demo. E quando eu clicar em Enter, a animação deve ser aberta no meu reprodutor de mídia padrão. Se você quiser visualizar a animação novamente, depois de alterar alguma coisa, não precisará redigitar a coisa toda Se você pressionar a seta para cima no teclado, ela mostrará o último comando que você usou. Talvez você precise bater nele algumas vezes. Você vê, você pode clicar em Enter e a pré-visualização será aberta. Então, é assim que você pode visualizar animações sem a extensão de visualização lateral Mnm 12. (Mac) Como visualizar animações sem a extensão de visão lateral do Manim: Se, por algum motivo, sua extensão de visualização lateral do Mnm não estiver funcionando e você não conseguir corrigi-la, se essa janela não abrir à direita, há outra maneira de visualizar as animações do Mnm Depois de executar meu código Python aqui, posso selecionar o terminal Python Então, dentro do terminal, tenho que navegar até a pasta onde está meu arquivo Python A maneira mais fácil de fazer isso é acessar essa pasta usando o Finder Então, aqui meu código Mnem está dentro do arquivo hello dot Pi. Então, aqui na barra de caminho, clicarei com o botão direito do mouse na pasta onde está meu arquivo Python Se você não vê a barra de caminho, vá para exibir e escolha Mostrar barra de caminho. Então, quando eu clicar com o botão direito do mouse na pasta, vou escolher Copiar como caminho. Isso no código VS. Vou me certificar ter o terminal Python selecionado e dizer que CD significa alterar diretório e colar no caminho que eu copiei Depois de clicar em Enter, estou dentro da pasta de animações. Mostra isso aqui. Então, para visualizar a animação, posso digitar Manim e depois menos Isso significa baixa qualidade de pré-visualização. Você também pode usar pH para obter alta qualidade de visualização. Então hello dot pi, que é o nome do meu arquivo Python, você pode vê-lo aqui e, em seguida, o nome da cena que eu quero renderizar . Eu o chamei de demo quando clico em Enter, a animação deve abrir no meu reprodutor de mídia padrão. Se você quiser visualizar a animação novamente, depois de alterar alguma coisa, não precisará redigitar a coisa toda. Se você pressionar a seta para cima no teclado, ela mostrará o último comando que você usou. Talvez você precise bater nele algumas vezes. Depois de vê-lo, você pode clicar em Enter e a visualização será aberta. É assim que você pode visualizar animações sem a extensão de visualização lateral MANim 13. Importância das variáveis: Agora, é claro que você não precisa criar uma variável e depois atribuir texto a ela. Você pode colocar todo esse texto aqui dentro do self play. Então, diria self dot play. Certo? E então o texto dentro dos parênteses Essencialmente, eu não atribuí uma variável a este texto, apenas a escrevi dentro do comando self dot play. A mesma coisa acontece, mas a razão pela qual queremos atribuí-la a uma variável ou apenas a uma letra aleatória é que, se por algum motivo quisermos alterar esse texto no futuro, teremos que alterá-lo apenas em um lugar, que é aqui. Em vez de ter que acessar cada comando self dot play em que escrevemos esse texto e depois alterá-lo individualmente. É melhor atribuir coisas às variáveis, o que significa que você poderá alterar mais facilmente o que está dentro da variável sem precisar alterar esses parâmetros em vários lugares diferentes dentro do seu código. 14. Uma boa fonte para aprender Manim: Portanto, este é um recurso muito bom para aprender num. É o site da Manimcmunity. Você pode acessar doctmanimtcmunity e encontrará um recurso muito bom para aprender Num Aqui estão as instruções de instalação e há um tutorial para iniciantes. Se eu for aos tutoriais, poderei entrar no guia de início rápido, que basicamente me guiará pelos conceitos básicos do Além disso, se eu esqueci alguns comandos, posso dizer texto maanim Então, o primeiro resultado do Google geralmente será a comunidade manim, onde eu poderei entrar e ler sobre esse comando ou objeto Role para baixo, vou até ver alguns exemplos desse elemento sendo usado. Além disso, posso clicar aqui para tornar esse código interativo e depois adicionar algo meu. Em vez de anúncio com pontos próprios, vou dizer que o texto correto é reproduzido com pontos próprios. Se eu clicar em Executar, ele executará esse código no site. Só demora um pouco até começar. Como você pode ver, eu criei essa animação dentro do código do site. É um recurso muito bom para aprender a mani e experimentar você mesmo para ver o que coisas diferentes fazem 15. Criando um retângulo: Que temos esse texto aqui. Vamos adicionar mais algumas coisas na tela e animá-las juntas. Primeiro, vou adicionar um quadrado. Vou atribuir a carta ao quadrado. Quando adicionei os parênteses, o código VS imediatamente me diz que há um atributo que o quadrado usa chamado Um exemplo aqui é o número dois. Eu vou dizer que o comprimento do lado é igual a, digamos três. E é isso. Agora eu tenho o quadrado, mas ele não será adicionado à minha animação porque preciso adicioná-lo com o comando self play. Vou clicar em Enter e dizer reprodução automática novamente. Eu posso usar a mesma forma de animá-lo com o comando certo Digamos que, dentro de parênteses, agora eu tenho esse texto azul aqui que é atribuído à letra A. E então eu estou animando esse texto na tela com o comando self Então eu estou dizendo para Manim esperar 3 segundos, o que neste caso é um pouco tempo demais. Então, vou diminuí-lo para 1 segundo. Depois de escrever esse texto na tela, ele aguardará 1 segundo. E então eu adicionei um quadrado. E também animará a praça. Vamos ver o que acontece. Por algum motivo, ele não é executado porque diz que o objeto recebeu um tamanho lateral inesperado do argumento de palavra-chave. E isso é porque eu escrevi errado. Eu esqueci o. Agora, se eu clicar no comando, ele deve ser executado normalmente. Sim, aí está o texto. Esperou 1 segundo e depois desenhou o retângulo. Mas agora o texto e o retângulo estão ambos no centro da tela. Como nos separamos? 16. Como mudar objetos na tela: Digamos que sim. Quero que o retângulo fique à esquerda e quero que o texto fique à direita Vou ver aqui o texto, depois dizer ponto final, turno e, dentro dos parênteses, direi certo Em seguida, copiarei isso e adicionarei a mesma coisa ao retângulo, mas direi para deslocá-lo para a esquerda Vamos ver o que acontece agora. O texto é deslocado um pouco para a direita e o retângulo um pouco para a esquerda, mas eles ainda estão sobrepostos Agora, a razão para isso é porque ele foi deslocado em apenas um lugar E isso porque, por padrão, a cena em manim é composta por uma grade de oito por 14 Se você quiser ver essa grade, você pode dizer self dot. Um anúncio com pontos próprios é basicamente o mesmo que jogar com pontos individuais. Mas não toca nada. Ele simplesmente coloca um elemento na tela sem uma animação dentro dela Vou dizer plano numérico com parênteses vazios. Agora, se eu jogar isso, você poderá ver a grade. Ele mudou a palavra olá em apenas um quadrado. E deslocou esse quadrado também em um quadrado, mas para a esquerda Se eu voltar ao texto, posso dizer deslocá-lo para a direita, mas vezes três, o que o deslocará em três quadrados E eu posso ir até a praça e dizer mude para a esquerda, mas também às três. Agora, se eu jogar isso, o texto está aqui e o quadrado está aqui à esquerda. Além disso, adicionarei outro comando self dot weight no final para que eu possa identificar rapidamente quando a animação termina e ainda poder vê-la antes de reiniciar Mas e se eu quiser deslocar esse texto Olá um pouco para cima e o retângulo um pouco para baixo. Posso vir aqui e adicionar uma vírgula, digamos duas vezes. Ele deslocará meu texto para a direita três quadrados e depois dois quadrados para cima Ele deve acabar em algum lugar aqui, dentro do retângulo Posso adicionar uma vírgula e dizer menos vezes um. Ele o deslocará para baixo um quadrado e é isso que obtemos O texto está lá em cima e o quadrado está aqui embaixo. 17. Alterando parâmetros de um objeto: Vamos explorar um pouco mais o atributo quadrado. Fornecemos apenas um parâmetro, comprimento do lado três, o que o tornou desse tamanho, mas existem mais alguns parâmetros que podemos escolher. Vou deletar tudo o que tem a ver com esse texto e só trabalhar no quadrado. Não preciso tê-lo aqui e posso deixá-lo no centro. Também excluirei o comando shift. Agora posso atribuir uma opacidade de preenchimento ao quadrado e vou dizer que é igual a 0,7, que é 70% Phil. A opacidade significa basicamente o quão visível é a cor de preenchimento desse quadrado No momento, não há cor de preenchimento, pois o meio do quadrado é preto, assim como o fundo. E eu vou dizer que a cor é igual ao vermelho. Agora, todo o quadrado terá uma cor vermelha, o contorno será totalmente vermelho e o centro será 70% vermelho Se eu jogar isso com o comando S ou controle no Windows, você pode ver que o contorno do quadrado é um pouco mais visível do que a cor de preenchimento real Agora eu posso baixar isso para 0,2 e é assim que vai ficar. Ele simplesmente preenche com menos dessa cor. Agora, para descobrir mais alguns parâmetros, posso clicar com o botão direito do mouse no quadrado e ir até sua definição, o que abrirá a documentação do quadrado. Eu posso ver que também há um objeto para um retângulo arredondado Ele tem um atributo de raio de canto que eu posso definir para o que eu quiser Vou voltar aqui e, em vez de dizer retângulo arredondado, assim que comecei a digitar a palavra, o código VS arredondado automaticamente tentei adivinhar o que eu queria digitar e sugeriu isso aqui Eu não preciso digitar a coisa toda. Se eu pressionasse Tab, começava a digitar redondo e imediatamente sugeria um retângulo arredondado E então eu clico em Tab para preenchê-lo. Vamos adicionar o atributo do raio do canto, digamos que seja igual a dois e veja o que obtemos Agora eu executei esse código e ele diz que ele tem um argumento de palavra-chave inesperado, tamanho lateral. comprimento lateral não se aplica ao retângulo arredondado, o que significa que vou excluí-lo Vou executar isso mais uma vez e deve funcionar. Ok, temos essa forma, e isso é provavelmente porque o raio do canto sobe para um E então, se for mais de um, ele se torna uma forma estranha Digamos que 0.1 Vamos lá, obtemos um belo retângulo com cantos arredondados Se você colocar o raio do canto em algo acima de um, como dez, ele terá uma forma estranha Se eu colocar um, presumo que será apenas uma forma oval Sim, é assim que você pode criar e experimentar diferentes formas dentro do homem. 18. Maneiras diferentes de animar algo na tela: Durante todo esse tempo, usei a animação certa e ela basicamente grava coisas na tela. Ele também pode escrever esse retângulo, mas existem maneiras diferentes adicionar coisas na tela O próximo que eu queria mostrar a vocês é chamado de desenhar borda e, em seguida, preencher entre parênteses Eu direi que primeiro desenhará a borda da forma e depois a preencherá com a cor de preenchimento. Vamos ver como fica, fica assim. A próxima forma de animação que você pode usar é chamada fade in O que basicamente desaparecerá sutilmente na forma. Você também pode esmaecer qualquer coisa. Se eu disser fade out, em vez disso, ficará assim Ele aparece e depois desaparece. Em seguida, podemos fazer a transição de uma forma para outra. Vou criar outra forma, um triângulo. Vou definir sua opacidade de preenchimento em 0,2, igual à do retângulo arredondado Vou definir sua cor para azul e o tamanho para dois. Agora, em vez de self dot play, vou dizer self dot add. E eu vou adicionar o retângulo, então ele vai esperar por 1 segundo Depois que esse segundo terminar, vou dizer self dot play transform. E vamos transformar a partir do retângulo que atribuímos à letra E ele se transformará de S. E atribuímos nosso retângulo à letra t. Ele adicionará o retângulo, esperará por 1 segundo e depois se transformará do retângulo em triângulo Isso me diz que tem um tamanho de argumento de palavra-chave inesperado, que significa que o triângulo não tem um tamanho de atributo. Acho que tem um atributo chamado escala, e você tem que escrevê-lo com um ponto final após os parênteses Eu vou dizer que a escala é igual a dois. Também vou adicionar peso próprio no final e fazer com que seja de 2 segundos para que a animação pese um pouco É assim que o comando transform funciona. 19. Explorando o comando self.play(): Você também pode definir a duração de uma animação dentro da reprodução automática. Vou adicionar um e dizer que o tempo de sublinhado da execução é igual a três. O que agora significa que essa animação de transformação será executada por 3 segundos. Se eu executar o código, você verá que é muito mais lento. Você pode adicionar o atributo de tempo de execução para qualquer animação. Se eu disser certo, isso também se aplicará à animação correta. Você viu que o triângulo desapareceu muito lentamente ao longo de 3 segundos. Eu também posso torná-lo super rápido dizendo 0.1 Agora, ele basicamente apareceu instantaneamente. Outra coisa que posso fazer no comando self dot play é adicionar duas animações. Vou deslocar o retângulo arredondado para a esquerda três e vou deslocar o triângulo para a direita em três Agora eles serão separados dentro do jogo automático de pontos. Posso dizer certo, que escreverá o retângulo e depois desenhará a borda e depois preencherá, o que animará o triângulo. É assim que parece. Você pode ver que essas duas formas agora aparecem ao mesmo tempo, cada uma com sua própria animação específica. Outra forma de animar algo é criar em vez de desenhar bordas e depois preencher Eu vou dizer Create, que usará a animação de criação para desenhar o triângulo na tela. Vamos ver como isso se parece. Ao desenhar o contorno, ele também preenche o triângulo É assim que você pode usar o comando self play para adicionar coisas na tela. 20. Animação 1 - Circle: Vamos tentar criar uma animação parecida com essa. O que nos ensinará como agrupar formas diferentes, girar coisas, movê-las, redimensioná-las e Ao guiar você por essa animação, recomendo fortemente que você abra código do VS e copie exatamente o que eu faço. Vou percorrê-lo muito lentamente, mostrando tudo o que faço passo a passo. Você aprenderá muito mais rápido fazendo isso sozinho e corrigindo erros sozinho, em vez de olhar para mim. Faça isso. Eu encorajo você a alterar parâmetros diferentes, talvez nomear as coisas de forma diferente. Faça você mesmo e depois volte se algo não funcionou e copie o que eu fiz. Você vai aprender muito melhor dessa forma. Você pode ver primeiro que o texto Nim aparece na tela Bem como essa forma aqui que na verdade é apenas um círculo e um quadrado desenhado ao redor desse círculo. Vamos primeiro fazer isso. Vou acessar meu código VS e deletar tudo, exceto a cena da classe e construção surda que precisamos para criar a animação A primeira coisa que precisamos é de um círculo no meio da tela e um retângulo que a envolva. Vou atribuir o círculo à letra, para que seja mais fácil lembrar, digamos, é igual e circular com letra C maiúscula, porque essa é a Em seguida, abrirei os parênteses e, dentro deles, darei um raio de 0,5, o que tornará o Eu abri a animação no VLC para poder pausar e mostrá-la para você com mais facilidade O círculo terá um raio de 0,5 Então, quando eu o coloco, podemos ver que o círculo tem um contorno mais grosso e, em seguida, uma cor vermelha sutil que o preenche Vou adicionar outro atributo que é largura do traço e dizer que é igual a dez. Isso dará ao círculo esse contorno mais espesso. Além disso, fomos colorir o círculo de vermelho. Então, vou dizer que cor igual a vermelho são algumas cores predefinidas, como vermelho, vermelho, ABCDE, que são apenas tons diferentes de E também há vermelho puro. Se você quiser adicionar uma cor personalizada, precisará de um código hexadecimal dessa cor E cada cor tem um código hexadecimal. Em vez de dizer que a cor é igual a algo, chegaremos ao final dos parênteses, digamos, a cor de sublinhado definida pelo ponto E então, dentro dos parênteses, vamos colocar o código hexadecimal da nossa cor dentro das aspas A cor branca tem o código hexadecimal que consiste nas cores vermelho, verde e azul Vamos mudar a cor verde para 00 e ela deve nos dar uma cor magenta Sim, o círculo agora é magenta. Se você quiser encontrar um código hexadecimal de uma cor, acesse a Internet, digite a cor, selecione no Google e escolha a cor que desejar E aqui você terá o código hexadecimal. Se eu copiar o código hexadecimal dessa cor verde, colar aqui com a hashtag e voltar executar a cena, o círculo ficará dessa Mas dentro da nossa animação, queremos que o círculo seja vermelho igual Outra coisa que eu quero é o círculo também seja vermelho. No momento, apenas o contorno tem a opacidade de preenchimento dos solos coloridos e vou configurá-lo para algo como 0,3. Vamos ver como Diz que recebeu uma palavra-chave inesperada, cor do argumento. Eu cometi o erro e coloquei a palavra cor em maiúscula. Vou escrevê-lo com a letra minúscula C. Vamos ver se isso nos dá o resultado. Faz. Agora o círculo está vermelho e nós temos o círculo. 21. Animação 1 - Retângulo ao redor: Agora queremos esse retângulo do lado de fora e ele tem esses cantos arredondados Vou atribuir o retângulo à letra R. Novamente, é fácil de lembrar Esse retângulo é chamado de retângulo circundante. Ele envolverá tudo o que eu colocar dentro desses parênteses Pode ser texto ou pode ser uma forma. Nesse caso, é o círculo que vou colocar dentro de mim, play command. Além de desenhar o círculo, também quero desenhar o retângulo ao redor Eu vou dizer que, certo, o que criará o círculo, adicionará uma vírgula. E também o R direito, que criará o retângulo circundante E se eu executá-lo, isso é o que obtemos. Mas esse retângulo é amarelo e não tem cantos arredondados Se eu clicar dentro dos parênteses, adicione uma vírgula e clique em um Também sugere outras coisas que eu posso inserir dentro do retângulo ao redor Eu posso ver aqui que posso definir uma cor, vou dizer cor e defini-la para azul. Além disso, posso ver aqui que ele tem um raio de canto e é isso que eu quero Vou definir o raio do canto para ser igual a algo como 0,1 Pronto Como a animação é interrompida imediatamente, adicionarei um comando de autoponderação no final com parênteses vazios Parênteses vazios basicamente significam que ele vai esperar por um período de tempo padrão O tempo padrão é de 1 segundo. Não preciso dizer nada aqui para esperar 1 segundo. Eu posso deixar esses parênteses vazios. Agora, se eu reproduzir essa animação, ela vai esperar 1 segundo no final. Agora temos o círculo e um retângulo ao redor dele. Mas também queremos esse texto que diz manim no topo dessa forma 22. Animação 1 - Posicionando objetos próximos uns dos outros: Eu vou vir aqui e atribuir meu texto à carta. É fácil de lembrar. Vou dizer texto e, dentro de parênteses e aspas, vou dizer mani Agora vamos ver o que acontece se eu jogar tudo. O texto, o retângulo e o círculo, tudo está no centro O texto se sobrepõe à forma. E eu quero colocar esse texto acima da forma, como nesta animação. Para fazer isso, posso colocar um ponto final e dizer que o próximo sublinhado dois colocará esse texto ao lado de algo Agora, dentro dos parênteses, eu tenho que dizer ao lado do que eu quero colocar Eu vou dizer que ao lado do retângulo, eu tenho que adicionar um e dizer em qual direção eu queria ir Eu vou desistir. Vamos ver o que isso nos dá agora. Agora o texto está acima da forma, mas na animação, o espaço entre a forma e o texto é um pouco maior. Vamos adicionar outro aqui e dar uma olhada na lista de coisas que podemos adicionar. Uma das coisas é chamada de buff. O que significa buff é um buffer, ou apenas um espaço entre duas Eu vou dizer que buff é igual a algo como 0,5 Agora, o texto deve estar um pouco maior Sim, temos a forma inicial animada. 23. Animação 1 - Mover objetos para coordenadas específicas: Vamos ver a animação novamente e ver o que mais queremos fazer. A primeira coisa que me chama a atenção é que o círculo se anima uma maneira diferente do manim e Isso porque, em vez de usar a animação certa, eu uso a borda de desenho e, em seguida, preencho a animação. Agora, se eu executar isso, é exatamente o mesmo. A próxima coisa que queremos fazer é fazer com que esses dois objetos sigam em direções opostas. Assim. Vou adicionar algumas linhas aqui. Já que eu quero que algo mais aconteça na tela. Também vou usar o comando self play. Agora eu quero que o texto manim acabe aqui, e eu quero que isso acabe aqui Vamos começar com o texto. Para animar algo que já está na tela, vou usar o comando animate. Eu vou dizer t, que é o texto, porque eu quero animar o texto Então eu vou adicionar um ponto final e dizer animar. Agora vou adicionar outro ponto e escolher o tipo da minha animação agora mesmo. Eu quero movê-lo para um lugar específico. Vou usar o comando move underscore two. Esse comando me permite mover algo para uma posição específica na tela. Agora, dentro de seus parênteses, vou adicionar colchetes, colchetes vou adicionar colchetes, colchetes como esses. Eles não são lisos. Aqui, eu quero definir as coordenadas de onde eu quero que meu texto se mova. A primeira coordenada é x, a segunda coordenada é y e a terceira coordenada é z. Eu escrevi essas letras aqui como espaços reservados porque na verdade deveriam haver números Mas como podemos descobrir que tipo de números colocar aqui? Bem, lembre-se de que nosso homem em vídeo é feito de uma grade. Para ser exato, é oito por 14. O valor x vai de menos sete para sete, e o valor y vai de menos quatro para quatro Vou dizer temporariamente que jogo sozinho, certo? E plano numérico, isso é só para mostrar o plano numérico. Além disso. Vou comentar isso para que o código VS ignore esse comando Se você colocar um símbolo de hashtag na frente de algum código, ele se transforma em um comentário, o que significa que o código do VS simplesmente o ignora. Eu vou jogar isso. Aqui está o sistema de coordenadas. Como você pode ver, ele é composto de oito por 14 quadrados. Na animação que eu quero criar, eu quero mover meu texto para cá. Vou descomentar isso. E digamos que ele se move para x igual a menos quatro. Porque aqui no centro, todas as coordenadas são iguais a zero, o que significa que y é igual a zero e X é igual a zero. E também z é igual a zero. Mas não precisamos nos preocupar nem um pouco com z. Sempre vamos deixá-lo em zero. Vamos nos concentrar apenas nos valores x e y. Queremos que o texto termine em algum lugar aqui , ou seja, 1234 quadrados no lugar do primeiro zero Eu vou dizer menos quatro. Agora vamos verificar o valor de y aqui. O valor de y é igual a zero porque está nessa linha central. Vou deixar como zero. Vamos executar essa animação e ver como ela se desenrola. Aqui está o sistema de coordenadas e o texto se move para esse ponto Exatamente. Vou excluir o sistema de coordenadas para que ele não obstrua a visualização, mas dentro da nossa animação, mas dentro da nossa animação, também queremos que essa forma se mova para O problema é que, no momento, essas duas formas são coisas separadas. Teríamos que mover cada um deles separadamente, mas existe uma maneira de combinar em um grupo. Antes do comando self play, eu vou vir aqui e dizer que r é igual ao grupo V. E então, o que eu quero colocar no grupo, eu quero colocar o círculo e o retângulo ao redor em um grupo Eu vou dizer que você pode colocar todos os tipos de objetos dentro de um grupo. Gráficos de texto, formas diferentes ou qualquer outra coisa. Agora, sempre que eu animo esse grupo, todos os objetos que estão dentro do grupo se moverão juntos Aqui eu vou colocar um e dizer R animate. Porque eu quero animar todo o grupo. E eu disse que o grupo é igual a r. Eu quero animar R para colocar outro ponto Mova o sublinhado dois, não esqueça os colchetes. Por padrão, suas coordenadas são 000, mas eu quero movê-la para cá. O valor Y não muda porque só o movemos horizontalmente Mas o valor x é exatamente o oposto do que usamos neste texto. Em vez de menos quatro, vou dizer quatro E vamos ver como isso se parece. Perfeito. Agora temos o início dessa animação. 24. RECAP - Animação 1: Vamos fazer uma pausa por um momento e analisar tudo o que fizemos até agora Primeiro, criamos um círculo. Atribuímos a ele um raio de 0,5. Demos a ele uma largura de traço de dez, o que tornou seu contorno um pouco mais espesso do que é por padrão Em seguida, atribuímos a ele uma cor vermelha, que coloriu o contorno e o interior do círculo de vermelho E então demos a ele uma opacidade de preenchimento de 0,3 que tornou o preenchimento do círculo visível em apenas 30% Se eu dissesse um aqui, o círculo ficaria totalmente vermelho, o contorno e também o interior do círculo seriam totalmente vermelhos. Vamos desfazer isso Em seguida, desenhamos um retângulo ao redor, que é um comando que desenha um retângulo ao redor de um objeto escolhido O objeto que eu escolhi foi o círculo. É por isso que eu coloquei a letra aqui, porque eu disse que a letra é igual ao círculo. Em seguida, dei a esse retângulo circundante a cor azul. É por isso que é azul. E eu dei a ele o raio do canto de 0,1 É por isso que os cantos desse retângulo são um pouco E esses dois criaram essa forma. Então eu criei outra variável chamada e eu disse que é igual a esse texto, esse texto aqui, dentro dos parênteses do texto, eu O texto diz manim. Eu disse que quero colocar esse texto ao lado de R, que é nosso retângulo circundante, e quero colocá-lo próximo ao retângulo e para cima E eles também aumentaram a distância entre o texto e o retângulo adicionando o atributo chamado buff, ou um buffer de 0,5. É por isso que o texto está aqui em cima, e é por isso que há um espaço entre o retângulo e o Mas se eu fizesse apenas isso e nada mais , nada mais teria aparecido na tela. Como você pode ver, a animação é apenas preta porque eu só criei todos esses objetos e, na verdade, não disse a Manim que queria colocar algo na tela Em seguida, uso o comando self play. Hum, que eu quero colocar algo na tela. Eu uso a animação certa para colocar a letra na tela, que é o nosso círculo. Em seguida, usei a borda de desenho e, em seguida, preenchi a animação para colocar o R na tela. E R é nosso retângulo circundante que circunda o círculo Novamente, eu uso a animação certa para colocar o texto na tela. Inicialmente, parecia assim. Em seguida, eu queria mover esse texto dessa posição para essa posição. E mova essa forma dessa posição para essa posição. Mas primeiro, eu precisava agrupar o círculo e o retângulo para que eles se movessem juntos E eu não preciso animá-los separadamente para isso, eu uso o comando V group Dentro dos parênteses, coloquei o círculo e o retângulo Eu chamei esse grupo de SR. Eu poderia ter chamado isso do que eu quisesse. Eu poderia ter colocado Shrek aqui, o que significaria que eu preciso colocar Shrek aqui Então eu queria animá-los indo para suas posições ao mesmo tempo É por isso que eu não usei comandos separados de placa de ponto automático. Mas, em vez disso, coloquei as duas animações dentro de um comando self dot plate O que significa que os dois aconteceram ao mesmo tempo. Agora vamos nos concentrar na primeira animação. Eu disse animar, o que significa que eu quero animar. Lembre-se, eu atribuí a carta ao meu texto. Eu quero animar o texto. E eu disse que quero movê-lo para essas coordenadas. Novamente, nossa tela é dividida em coordenadas invisíveis, que são oito por 14. A coordenada central é 000. Se eu quiser movê-lo para a esquerda, tenho que diminuir esse número. Se eu quiser movê-lo para baixo, tenho que diminuir a coordenada y. Se eu quiser movê-lo para a direita, tenho que aumentar a coordenada x. E se eu quiser movê-la para cima, tenho que aumentar a coordenada y. Nesse caso, eu queria mover esse texto para essa posição. Como essa posição está no eixo x, isso significa que y é igual a zero. Se a coordenada x também fosse zero, ela permaneceria no centro Eu quero que esteja aqui. Eu vou dizer menos quatro O que isso fará é mover o texto de qualquer lugar na tela para essa posição até menos 400 Veja como fica. Mas eu também queria mover essas duas formas. Eu coloquei e depois inseri outra animação. Eu disse Shrek Faça animações para mim. Shrek é igual a esse grupo. O grupo do círculo e do retângulo. O que significa que agora ele vai animar os dois juntos. Eu disse que quero movê-lo para essa coordenada. Essa coordenada é oposta a essa. Eu sabia que y não muda porque não quero que seja maior ou menor em relação ao eixo x. Eu sabia que isso mudaria porque queria que ele se movesse horizontalmente E dessa forma tem valores x positivos. E aqui há valores X negativos. Eu disse mais quatro, que é apenas quatro. E tudo isso nos deu essa animação. 25. Animação 1 - Criando uma seta: Vamos ver o que acontece a seguir. Há uma flecha indo de manim até essa forma e ambas as pontas da flecha têm a flecha Agora vamos adicionar a seta. Vou chamar minha flecha de flecha. E eu vou dizer que é igual a uma seta que é essencialmente uma linha. Eu vou dizer linha. E então, dentro de seus parênteses, posso ver que ele tem O início e o fim da flecha. E também há o catalisador para adicionar um pouco de espaço, esse espaço aqui entre a ponta da seta e a forma para a qual a seta aponta dentro da seta Queremos especificar o início. Eu vou dizer que o início é igual a, digamos que isso seja o início desta seta. Porque podemos escolher isso como o começo ou isso como o começo. Realmente não importa aqui, o início da seta está apontando para o lado esquerdo dessa forma. Devo dizer a Manim que quero que a seta comece no lado esquerdo dessa forma com um pouco de valor de bônus Para adicionar esse espaço aqui no meio. Eu chamei essa forma inteira, é um grupo do círculo e do retângulo, e é Shrek Para mim, vou dizer que começar é igual a shrek. Então eu quero dizer Shrek. O que? Vou usar o comando Get. Como mencionei, queremos que a seta vá para o lado esquerdo desse objeto. Agora, ele só vai para o centro. Se eu jogar essa seta para a direita, vamos ver o que vai acontecer. Ambos os objetos se movem. E então esta é a nossa flecha. Começa em algum lugar aqui e aponta para um lugar aleatório em nosso objeto. E nem é uma flecha, é só uma linha. Queremos dizer para onde ela deve apontar. Vou dizer ponto final, use sublinhado e há vários lugares que eu posso tirar dessa forma Eu quero pegar o lado esquerdo. Eu vou dizer esquerda. Em seguida, adicionarei parênteses vazios. O que isso significa é que, no início da seta, iremos para o lado esquerdo dessa forma. Mas também queremos que a outra ponta da nossa flecha use a palavra nim. Eu vou dizer que d é igual a isso. Vou encontrar a variável à qual atribuí meu texto, que é a letra. Vou dizer ponto final, desta vez eu quero que você aponte para o lado direito. Vou dizer certo e também adicionar parênteses vazios. Isso é o que obtemos. Agora, ele me deu um erro ao dizer que recebeu uma palavra-chave inesperada, estrela de argumento, o que significa que eu acidentalmente escrevi incorretamente a palavra início Vou soletrar corretamente e executar novamente, e é assim que parece No momento, isso é apenas uma linha e não uma flecha. Porque eu disse que minha flecha é igual à linha. Como faço para convertê-lo em uma flecha? Posso chegar ao final aqui em um ponto final e dizer adicionar uma dica de sublinhado, que adicionará a ponta da seta Vamos ver como está agora. Agora, a ponta da seta está apontando apenas para a palavra manim, o que significa que ela adicionou a ponta ao final da minha linha Porque o final da minha linha está ao lado do texto ao lado do texto. E no lado direito do texto, que está aqui. Agora, eu também quero adicionar a ponta do outro lado. Então, vou adicionar outro ponto, digamos, adicionar dica de sublinhado E dentro de seus parênteses, podemos ver que existem alguns atributos que podemos Há um atributo chamado no início do sublinhado que podemos dizer verdadeiro ou falso Eu vou dizer que, no sublinhado, o início é igual a verdadeiro. Novamente, a capitalização dessa palavra é importante. Então, true precisa ter uma letra maiúscula. Se eu executar isso, a seta agora deve apontar para os dois objetos. Sim, mas dentro da nossa animação, há um espaço. E dentro da nossa animação, não há espaço entre a seta e esses objetos. Para adicionar o espaço dentro da linha aqui, dentro de seus parênteses, posso dizer que buff Nesse caso, vou escolher 0,4. Vamos ver como fica agora. Perfeito. Agora, há um pequeno espaço entre as letras e a seta e entre a forma e a seta, mas você notará que dentro dessa animação, as pontas das setas são um pouco diferentes Eles não são os mesmos triângulos que estão aqui. Como podemos descobrir isso? Estou assumindo que tem a ver com esse atributo de dica Novamente, vou clicar dentro dos parênteses da dica. No momento, isso não sugeria nada. Vou excluir esses parênteses e adicionar novos para que o código do VS sugira algo dentro E aqui vejo que posso escolher a forma da ponta. Quando eu estava criando essa animação, eu realmente não sabia que tipo de formato de ponta existia. Eu usei meu bom amigo Google. E eu pesquisei quatro pontas de setas aqui dentro da comunidade principal. Posso clicar dentro da ponta da seta e verei uma lista das formas de seta que existem. Parece que usei essa forma aqui, que é essa forma na parte inferior. É chamado de dica furtiva aqui. Dentro do meu projeto. Vou entrar nesses parênteses novamente. Isso não sugere nada. Novamente, vou redigitá-los e vou dizer que a forma do sublinhado da ponta E eu quero uma dica furtiva, Stealth, ela já sugere uma dica furtiva E vamos ver o que isso nos dá agora. Essa ponta da seta tem essa forma, mas essa extremidade não tem essa forma. O que significa que precisamos adicionar esse atributo de forma de ponta na outra extremidade da seta. Então, essa foi a primeira dica e lembre-se de que adicionamos a segunda ponta, o que também fez com que a flecha tivesse a ponta no início. Vou clicar dentro dos parênteses, adicionar uma vírgula e colar o atributo da forma da ponta Agora, as duas pontas devem ter o mesmo tipo de ponta, perfeita. 26. Animação 1 - Indicar e girar comandos: Vamos ver qual é a próxima coisa que queremos copiar no texto. Manim, pulou, ficou laranja e depois pulou para baixo. Vamos fazer isso. Para isso, existe uma função chamada indicar e ela basicamente indicava esse texto. Você também pode indicar formas ou qualquer outra coisa. Eu vou dizer que o self play indica com letra maiúscula. Em seguida, abro os parênteses e coloco o que quero indicar Nesse caso, é texto. Novamente, tenho a carta atribuída ao meu texto. Em seguida, vou colocar o tamanho da indicação quanto eu quero que ela indique o tamanho que eu quero que o texto tenha. O valor padrão é um. Eu só queria ser um pouco maior, e vou dizer 1.5 Vamos ver o que isso nos dá. O começo é o mesmo e o manim salta, mas agora está amarelo E na animação que queremos recriar, é laranja que significa que o comando de indicação tem mais alguns parâmetros que eu posso adicionar a ele. Vou adicionar uma vírgula e o espaço para que ela comece a sugerir coisas para mim e podemos adicionar a cor com cor Eu vou dizer que a cor é igual a laranja. A cor tem todas as letras maiúsculas. Vamos ver como fica. Agora o texto está laranja. Vamos ver o que vem a seguir. Essa forma fez algumas travessuras estranhas. Vamos ver quadro por quadro o que está acontecendo. A propósito, estou pressionando meu teclado para mover um quadro no VLC Podemos ver que a flecha está encolhendo dessa forma, o que veremos mais tarde Mas agora, vamos replicar o que a forma está fazendo. Vamos primeiro focar no retângulo aqui. Está girando para a esquerda, o tamanho não está mudando. A única coisa que está acontecendo é que está girando para girar Podemos usar a função de rotação novamente dentro da reprodução automática porque quero mostrar o que está acontecendo na tela Eu vou dizer girar. E então, dentro de seus parênteses, vou objetar que quero girar Quero girar o retângulo ao redor. Esse retângulo azul, que para mim é R. Eu vou dizer R. Então, depois de uma vírgula, eu quero colocar um ângulo para o qual eu quero girá-lo Eu vou dizer ângulo em Python. Os ângulos não funcionam com graus, mas funcionam com brilho, o que, em termos simples, significa que graus vão de menos pi a pi E pi é 3,14 algo com muito mais dígitos. Essencialmente, pi significa 180 graus. Menos pi significa -180 graus. Agora vamos olhar apenas para o quadrado e ver quantos graus queremos girar. É pi, parece que girou apenas 90 graus. Se eu disser que ângulo é igual a pi, isso é 180 graus. Para obter 90 graus, posso dividir pi por dois, o que significa que é 90 graus. Vamos jogar e ver o que acontece. A forma se move aqui. O quadrado gira 90 graus. Se você quiser converter graus em brilho, basta colocar graus em brilho no Google. E então digamos que você quer 180 graus, que é o número pi, porque é 3,1 4159, eu quero 90 graus, isso é pi dividido por dois, que é 1,57 Também fornece a fórmula a partir da qual você pode obter os graus ou o brilho. De qualquer forma, pi dividido por duas radiâncias é o mesmo que 90 graus. Agora, o retângulo é girado, mas o círculo aqui também ficou maior à medida que o retângulo O que significa que queremos aumentar o círculo medida que a animação do retângulo acontece que significa que vamos colocar a animação dentro do mesmo comando de reprodução de pontos separados por uma vírgula em vez de criar uma nova animação de reprodução automática de pontos Vamos observar o que acontece com o círculo. Ele só fica maior à medida que o retângulo gira. Para torná-lo maior, vamos usar uma animação chamada scale in place dentro de seus parênteses Eu vou dizer a ele o que eu quero escalar. Nesse caso, eu quero escalar meu círculo, que é a letra para mim, eu vou dizer. E depois de uma vírgula, preciso dizer, em quanto eu preciso escalá-la Nesse caso, vou escalá-lo em duas vezes. Vai se tornar duas vezes maior. Claro, vamos ver como fica. O retângulo gira e o círculo fica maior. 27. Animação 1 - Atualizador: Vamos voltar à animação e ver o que acontece a seguir. Na verdade, não precisamos ver o que acontece seguir porque não concluímos totalmente essa parte. Você pode ver que, à medida que o círculo fica maior, ele também empurra levemente a seta para a esquerda A seta mantém o mesmo buffer, ou a mesma distância entre o círculo e o ponto final em nossa animação, a seta simplesmente permanece no mesmo local, até se sobrepõe ao Para fazer isso, de alguma forma precisamos atualizar a seta à medida que o círculo fica maior. E para isso, vamos usar uma atualização. Um atualizador basicamente atualizará constantemente a posição de algum tipo de elemento Nesse caso, queremos que a posição da seta seja atualizada constantemente à medida que o círculo aumenta. Vou encontrar minha flecha que está aqui. E então eu vou colocar essa coisa toda, toda essa linha, esse código de seta dentro do atualizador O código para o atualizador é sempre sublinhado, redesenhado e, em seguida, vou adicionar parênteses e dizer lambda e Não vamos esquecer de adicionar outro parêntese no final para garantir que a função sempre redesenhar abrigue tudo dentro dela O que isso fará é sempre redesenhar a seta. Cada quadro que é reproduzido na tela e qualquer vídeo é composto por quadros. Um quadro é essencialmente apenas uma imagem. E cada vídeo tem basicamente muitas imagens diferentes, apenas sendo reproduzidas rapidamente. E é por isso que parece um vídeo. O que isso fará é que, para cada quadro gerado, ele atualizará a posição da seta. Nesse caso, dissemos que nossa flecha começa no lado esquerdo de Shrek E Shrek para nós é esse grupo V é o círculo e o retângulo circundante Shrek basicamente significa toda essa forma. O que isso fará é que, para cada quadro do vídeo gerado, ele verá onde está o início do shrek e também o final do texto Mas o texto não se move, então a seta permanecerá no lugar. Mas ele vai ver onde estão as bordas dessa forma. De acordo com isso, ele redesenhará a seta para cada quadro do vídeo Vamos ver como isso se parece aqui. À medida que essa forma ficava maior, a seta se movia para a esquerda. Será mais fácil ver quando fizermos a próxima animação, que é apenas essa forma se movendo para o centro e a seta ficando menor também. Vou clicar em Enter mais uma vez, digamos, autoreprodução. Agora eu quero essa forma, que para mim é igual a se mover no centro. Vou dizer animar e depois mover para adicionar parênteses E dentro desses parênteses, adicione colchetes. E vou inserir a coordenada para a qual eu queria me mover, neste caso, o centro, que é 000 E eu vou jogar isso e ver o que acontece lá. À medida que se move para o centro, a seta se atualiza automaticamente e se move com a forma. 28. Animação 1 - Finalizando: Novamente, vamos analisar cada quadro. O que parece acontecer agora é o texto principal e a seta desaparecer lentamente Quando eles desaparecem, o círculo começa a ficar maior e o retângulo começa a ficar menor até desaparecer, exatamente assim Agora, o círculo é tão grande que nem conseguimos vê-lo na tela. E então o círculo também fica preto. Vamos fazer isso primeiro. Precisamos que o texto nim e a seta desapareçam. Então, eu vou dizer que jogo sozinho dentro dos colchetes. Vou usar a animação fade out, que esmaece algo dentro dos Eu vou dizer flecha porque eu quero apagar a flecha E também quero atenuar o texto. Ao mesmo tempo, vou adicionar outra animação de fade out E dentro dos colchetes, vou dizer o que para mim é igual a este texto. Vamos ver o que acontece. Percebo que na animação em que queremos copiar o texto e a seta desaparece um pouco mais rápido, é quase instantâneo Por padrão, cada comando self plate é executado por 1 segundo. A duração da animação é de 1 segundo, mas podemos mudar isso com o comando run underscore time E vamos dizer que é igual a 0,251 quarto de Agora, se eu executar isso, ele desaparecerá muito mais rápido, quase instantaneamente. Em seguida, quando desaparecer, quero que o círculo fique quero que o círculo E, ao mesmo tempo, para o retângulo se reduza ao nada, adicionarei outro comando self Porque isso acontece depois que tudo já desapareceu. É por isso que estou usando o próximo, porque não quero que tudo desapareça e faça tudo ao mesmo tempo Eu quero que primeiro apague o texto e a seta. E só então, para que o círculo fique maior e o quadrado encolha dentro daqui, vou usar outra animação chamada encolher para chamada encolher E eu quero encolher o retângulo. E o retângulo para mim é a letra R. Eu vou dizer também que quero que o círculo fique maior E já usamos o comando scale in place, que basicamente pode aumentar ou diminuir algo. Eu vou usar essa escala no lugar e dentro de seus parênteses eu vou colocar, porque eu só quero escalar o círculo, que para mim é a letra S. E então eu vou dizer por quanto eu quero escalá-lo Nesse caso, quero tornar a escala ridícula. Então eu vou dizer 30 vezes, e isso é o que obtemos. A flecha desaparece e é perfeita. Agora, a única coisa que resta é transformar esse vermelho em preto Porque na animação original, isso fica preto. O que significa que o círculo basicamente desaparece. Então, vou adicionar outro comando de autoreprodução. Porque eu quero que ele fique preto somente depois de ter sido ampliado. E eu vou dizer fade out e qual é o círculo. E vamos jogar. Perfeito. Então, agora copiamos essa animação 29. RECAP 2 - Animação 1 - Arrow: Deixe-me recuar um pouco e explicar novamente o que aconteceu a partir desse ponto. Do ponto em que criamos a seta, queríamos criar essa seta que aponta para a palavra manim e também aponta para essa forma Deixe-me excluir esse atualizador para explicar a seta, criamos uma nova variável e a chamamos de seta E então, para criar a seta, usamos o comando line, que basicamente cria uma linha na qual podemos adicionar esses pontos finais da seta para criar a seta. Além disso, se você quiser, há um comando separado com o qual você pode simplesmente adicionar uma seta. E ele já adiciona a seta sem o comando de linha. Acabei de te mostrar como fazer isso com o comando de linha. Se eu dissesse que R é igual à flecha, e eu dissesse que a ponta dessa flecha é igual a Shrek E em vez de jogar essa flecha dupla, eu apenas toquei essa flecha, isso é o que teríamos obtido. Em vez disso, é apenas a mesma flecha. Eu disse que a ponta dessa flecha está no lado direito dessa forma. É por isso que está apontando totalmente para o lado direito. Se eu quisesse apontar para aqui, eu teria dito para a esquerda em vez de para a direita, e teria ficado assim. Se você usar o comando de seta em vez do comando de linha, nem precisará definir o catalisador ou o espaço que separa a ponta da seta e o É definido automaticamente. Você pode usar seta em vez de linha. Mas, nesse caso, usei o comando line e criei uma seta a partir da linha. Além disso, há outro comando chamado seta dupla, que poderia ter criado a mesma seta dupla. Em vez de eu ter que adicionar uma linha e depois adicionar dicas no final da linha. Mas eu queria te mostrar como fazer isso com uma linha. De qualquer forma, defini o valor do bônus 0,4, o que indica à seta que eu quero que haja um pequeno espaço entre o objeto para o qual a seta está apontando O catalisador é essencialmente esse espaço aqui e esse espaço aqui, e eu o configurei para 0,4. Eu disse que quero que o início da seta fique na posição esquerda do shrek, que significa que ele tem o lado esquerdo dessa Porque essa forma para mim é Shrek, já que é um grupo que abriga o círculo e o retângulo dentro dele Eu disse que o início da seta deve apontar para lado esquerdo x, e ela aponta para o lado esquerdo dessa forma. Em seguida, eu disse que queria a ponta da seta apontasse, o que para mim é meu texto. E eu queria apontar para o lado direito e, de fato, o outro lado dessa seta está apontando para o lado direito dessa palavra. Claro, há um pouco de espaço porque eu disse que buff é igual a 0,4 Agora, por si só, isso teria sido apenas uma linha porque eu usei um comando de linha e queria que fosse uma seta dupla O que eu fiz no final desses parênteses foi adicionar duas pontas de seta, uma aqui e outra primeira ponta da flecha, que destaquei agora, basicamente adicionou uma ponta de seta com a forma da ponta sendo a ponta furtiva, que lhe deu essa forma Mas se eu adicionasse apenas uma dica aqui, ele só teria adicionado a dica ao final da minha linha, que está aqui, apontando para este texto. Novamente, está aqui porque eu defini que está aqui. É por isso que adicionei outra dica. E com o parâmetro no início igual a verdadeiro. Eu disse que também quero que a ponta da flecha esteja no início, também nas duas pontas da flecha. Eu disse que quero que o formato da ponta da flecha seja a ponta furtiva que basicamente forma a ponta da flecha Essa forma de Quem? Essa é a flecha. 30. 26 RECAP 2 Animação 1 O resto: Próximo. Eu disse que queria indicar o texto que o fez saltar assim. Eu disse que queria pular 1,5 vezes. Então, ele fica maior em 1,5 vezes. E eu também disse que a cor quando ele salta deveria ser laranja E, de fato, é laranja. Vou abri-lo com o VLC novamente, para poder pausar melhor a animação Em seguida, eu disse que quero girar, que é meu retângulo 90 graus pi dividido por dois com 90 graus de brilho E também, ao mesmo tempo, quero dimensionar a letra que, para mim , é o círculo. Eu queria dimensionar o círculo no lugar duas vezes depois que ele o destacasse, girasse o retângulo e também escalasse o círculo assim Em seguida, eu queria mover essa forma no centro e mover a seta com ela. É por isso que precisei adicionar um atualizador à seta para que , assim que algo se mova, a seta esteja presa à seta, ela também se mova com ela Eu disse que sempre redesenhe a seta dentro dos parênteses. Eu disse lambda e dois pontos. Obviamente, não se esqueça de fechar os parênteses no final Agora, como minha linha ou minha flecha sempre estarão no lado esquerdo do shrek, aqui mesmo com o catalisador de 0,4 Assim que essa forma se mover ou mudar de posição, a flecha sempre tentará aderir a O início da seta sempre tentará estar no lado esquerdo dessa forma com o catalisador de 0,4, o que significa que, se essa forma se mover para cá, a seta também precisará se mover para aderir a esses parâmetros Agora, para mover a forma, eu disse shrek animado, porque Shrek porque Shrek E então eu disse vá para 000, que é a coordenada central A forma se movia assim. Em seguida, eu disse que queria atenuar a seta e o texto Eu quero que tudo isso aconteça em um quarto de segundo, o texto e a seta desaparecerão rapidamente Finalmente, eu disse que quero reduzir minha letra R, que é meu retângulo, para o centro, e também quero escalar meu círculo para 30 vezes, que fez com que ficasse assim No final, eu também desvaneci o círculo, então é por isso que tudo se tornou essa cor preta logo no final Espero ter explicado tudo com clareza e que você conseguido entender como essa animação funciona. Porque examinamos muitos princípios de como girar coisas, como posicionar coisas na tela, como anexar e como atualizar objetos diferentes em relação a outros objetos E também como fazer algumas animações simples. 31. RECAP 2 - Animação 1 - O resto: Em seguida, vamos criar uma animação parecida com isso. Não é a coisa mais linda que eu já fiz, mas vai nos ensinar mais alguns conceitos importantes ao animar com Nim Mais uma vez, vou pausar essa animação à medida que avança e vamos tentar replicar Vou derrubar minha cena antiga assim clicando nesta seta aqui. Vou adicionar alguns espaços aqui para que não obstruam o que estamos fazendo. Em seguida, vou criar uma nova cena Eu vou dizer aula, depois demonstração dois. E cena entre parênteses, depois ponto e vírgula. E, claro, os surdos constroem o eu e o cólon. Mais uma vez, esta é nossa segunda cena. Novamente, podemos ter várias cenas ou várias animações dentro de um projeto manim, dentro de um arquivo Python, dentro Abra a animação novamente e reproduza-a desde o início. Temos três palavras: Olá, cachorro. E as letras da palavra cachorro são todas coloridas em cores diferentes. O primeiro é vermelho, o segundo é laranja e o último é amarelo. Para colorir letras individuais de uma palavra, em vez de atribuir texto a uma variável, vamos atribuir texto a um texto variável Mas sem a carta, o texto é basicamente látex. É uma das coisas que instalamos logo no início, quando estávamos instalando o Manning É uma fera diferente por si só. E você pode criar diferentes fórmulas matemáticas com ele e, basicamente, fazer muito com texto Mas eu só vou falar sobre o básico do látex porque é muito complicado O texto funciona praticamente da mesma forma que o texto do comando. Por exemplo, se eu digitar olá, cachorro. E então eu vou digitar self play write T para animar esse texto na tela E então eu vou executar esse código e vou escolher a demonstração dois. Dentro da vista lateral do meu manual. É praticamente o mesmo que escrever um texto. Se eu mudar para texto, o que acontece? Praticamente nada. O texto é um pouco diferente. Também vou adicionar um comando de autoponderação no final e dizer que ele deve esperar 3 segundos após o término da animação Mas o que podemos fazer com o texto é personalizar nosso texto de várias maneiras interessantes. Por exemplo, em vez de ter apenas uma linha de texto aqui, posso colocar o texto Olá , entre aspas Então eu posso adicionar uma vírgula, vou adicionar a palavra lá dentro das aspas. E a palavra cachorro também. Isso ainda escreverá o mesmo texto de olá, cachorro. Mas, no momento, não há, porque na verdade não adicionamos nenhum espaço. Se eu adicionar um espaço depois da palavra olá e depois da palavra ali, esse texto agora terá espaços. Como você pode ver, separamos nosso texto em três elementos separados e todos eles estão dentro de uma variável, a que eu escolhi. O que posso fazer agora é escrevê-las individualmente. Na programação, isso é chamado de matriz. O que é uma matriz na programação e o que uma matriz é essencialmente, é uma variável especial. Nesse caso, são carros, que podem conter mais de um valor por vez. E neste texto, carros contêm Ford, Volvo e BMW. Uma matriz contém essencialmente vários valores. E, nesse caso, também temos três valores a palavra olá, a palavra lá e a palavra cachorro. O que é legal com a raça é que podemos chamar cada uma dessas coisas individuais dentro dela, uma por uma, individualmente. A maneira de fazer isso seria dizer ao Python. qual desses elementos queremos Com qual desses elementos queremos trabalhar ou queremos chamar, por exemplo, dentro dessa animação? Qual desses três eu quero escrever? Se eu colocar apenas, entendo que preciso escrever tudo, mas posso adicionar colchetes e dizer zero dentro dele, que significa o primeiro elemento Na programação, tudo começa do zero. Esse é o elemento número zero. Esse é o elemento número um e esse é o elemento número dois. Não é o primeiro, o segundo e o terceiro, é 012 Se eu disser que quero escrever o elemento número zero, ele só escreverá o texto olá na tela em vez de olá, cachorro. E se eu executar isso, ele só escreve olá. Agora, eu também posso escrever o primeiro e o terceiro elemento e pular o segundo Vou adicionar uma vírgula, digamos, certo? Vou dizer, adicione os colchetes e diga o número dois, porque lembre-se de que este é o segundo elemento porque começa do zero Se eu jogar isso, só escreverá hello dog, mas a palavra lá está faltando. O que eu também posso fazer é, dentro daqui, adicionar dois pontos e depois dizer a partir de qual elemento eu quero escrever Por exemplo, se eu quiser escrever apenas esses dois elementos e excluir o terceiro, em vez de escrevê-los individualmente, eu poderia entrar nos primeiros colchetes, adicionar um ponto e vírgula e Agora, ele escreverá tudo, de zero até o elemento 2.2 não incluído. Ele escreverá o elemento 0.1 até que dois não sejam incluídos. Não escreverá nosso segundo elemento. Se eu executar isso, ele deve me dar um olá. Sim, se eu escrever apenas de um para dois, ele só deve me fornecer o primeiro elemento porque o primeiro está incluído e o segundo não está incluído. É essencialmente o mesmo que escrever um. Sim, ele me deu o segundo elemento, que seria exatamente o mesmo que escrevê-lo assim. Agora estou dizendo para ele escrever o primeiro elemento. Isso é zero, isso é um. Vai escrever lá novamente. É assim que você pode dizer ao Python que escreva uma variedade de 32. Animação 2 - Texto e matizes: Vamos voltar à nossa animação e ver o que fizemos aqui. Há três palavras. Olá, cachorro. E a palavra cachorro também tem uma cor. Agora, o que é interessante sobre isso é que podemos atribuir cores diferentes a cada um desses elementos diferentes dentro da nossa matriz. Eu vou dizer dois, que é a palavra cachorro porque 012 Então eu vou dizer que a cor é igual. E eu vou escolher o vermelho. E vou digitar o todo, tudo o que está dentro desses três elementos. Vamos ver o que acontece agora. Somente as letras do cachorro ficaram vermelhas. Mas neste exemplo, quero que cada letra tenha uma cor diferente. Em vez disso, o que podemos fazer é separar completamente o cachorro em elementos diferentes e atribuir uma cor a cada um desses elementos. Em vez de dizer olá, cachorro, vou dizer olá lá. D. Em seguida, adicione um e, que agora separa a palavra cachorro. Agora, o segundo elemento se tornou a letra D. Se eu executar isso, somente a letra D ficará vermelha lá. Agora eu quero que a letra seja laranja e a letra amarela. Eu vou vir aqui e dizer três. Isso é 012.3 A letra é o número três. Eu vou dizer que a cor é igual a laranja e quatro, que é a cor da letra igual a Agora, se eu jogar isso, obtemos o mesmo texto, mas cada letra da palavra tem uma cor diferente. Replicamos o que aconteceu. 33. Animação 2 - Animando palavras diferentes separadamente: Vamos jogar isso de novo e ver se fizemos tudo corretamente. Aqui, o cão de texto se escreve primeiro e só depois. Olá. Apareceu lá. Em vez de escrever tudo de uma vez, vou dizer “self play”. Agora eu quero escrever apenas a palavra cachorro. Esse é o elemento número zero. Esse é o elemento número um e esse é o elemento número dois. Eu vou dizer, abra os colchetes. Eu queria escrever do número dois até o número 34,5 até o número cinco Porque lembre-se de que cinco não está incluído , incluirá apenas dois a cinco. E nem temos o quinto elemento aqui. Outra maneira de escrever isso é escrever dois e um ponto e vírgula gravar tudo, desde o segundo elemento até o final da matriz Agora, ele escreverá a palavra cachorro. Se eu disser dois a cinco, a mesma coisa deveria acontecer. E também deve escrever a palavra cachorro. Vou deixar assim novamente, esse é o elemento número dois porque começa do zero. Esse é o elemento 012, e esse é o elemento que eu quero começar a escrever. Em seguida, adiciono dois pontos e defino o elemento final que não será incluído Nesse caso, temos o elemento número dois. Número três. Número quatro. Eu quero que o elemento número quatro ainda esteja incluído. Em vez de dizer quatro, vou dizer até cinco. E nem temos o número cinco. É tudo, daqui até o fim, a palavra cachorro. Em seguida, quero escrever essas duas palavras. Vou clicar em Enter Self Play, certo? Então, novamente, adicione os colchetes, e eu queria escrever todos os elementos 0.1 até o segundo elemento, que é a letra D. Vou dizer zero a dois Lembre-se de que o elemento dois não está incluído. A letra D não será incluída. Ele escreverá tudo de zero até o elemento número dois e não incluirá o elemento número dois. Vamos ver o que obtemos. Pegamos um cachorro e depois damos um olá. Exatamente como estava em nossa animação que queremos replicar. 34. Animação 2 - Mover objetos para as bordas do quadro: Vamos ver o que acontece a seguir. A palavra olá e ali se dividiu ao meio. E a palavra olá viaja para o canto superior esquerdo. E a palavra lá viaja para o canto superior direito. Novamente, eu sei que preciso animar algo, é por isso que estou usando o comando de jogo autodidata Abrindo os suportes. Primeiro, vamos trabalhar na palavra olá. A palavra olá é o elemento número zero. Eu vou dizer, abra os colchetes. E zero, porque eu só quero trabalhar com essa palavra. Então eu vou adicionar um ponto final e dizer animar, porque eu quero animá-lo Em seguida, adicione um ponto final. E escolha o tipo de método de animação que eu quero usar. Nesse caso, usarei o comando two underscore edge para dizer ao manim que eu quero mover algo para qualquer uma das bordas da tela Vou abrir os colchetes e agora tenho que dizer para qual borda eu quero movê-los Em nossa animação, o texto Hello está na borda superior esquerda, então eu quero movê-lo para o canto superior esquerdo. Se eu quisesse movê-lo para cá, eu diria U R, o que significa para a direita. Se eu quisesse movê-lo para cá, diria D R, que está logo abaixo. Ficaria assim. Se eu quisesse movê-lo para cá, diria D L, que significa para a esquerda. Ficaria assim. Se eu quisesse movê-lo para a esquerda, diria para a esquerda assim. Agora, ele deve se mover para cá. Sim, eu quero movê-lo para cá. Eu vou dizer U L, que está para cima e para a esquerda. Também vou adicionar um buffer de um. Novamente, o buffer é esse espaço aqui. A que distância algo está da borda? Eu queria estar um pouco mais longe da borda, então vou dizer uma, é assim que vai ficar Você pode ver que a distância entre as bordas aumentou porque eu adicionei o valor do bônus de um Agora, dentro da animação que queremos replicar, as palavras hello e there se movem ao mesmo tempo para bordas diferentes dentro da mesma animação de reprodução automática Vou adicionar um e dizer um porque o primeiro elemento é a palavra ali, animar dois, sublinhar a borda dentro dos parênteses, vou dizer que o bônus no canto superior direito é igual a um, porque quero adicionar o mesmo valor de bônus que fiz no bônus Olá. Agora, se eu tocar isso, essas duas palavras se moverão para cantos diferentes. 35. Animação 2 - Organizando letras de texto: Agora temos isso. Vamos ver o que devemos fazer a seguir. Todas as letras da palavra cachorro se dividem e formam essa linha vertical no centro. Novamente, há algo acontecendo na tela, o que significa que vou usar o comando self play, abrir os parênteses e quero animar cada uma das letras indo para essas posições porque o cão de texto agora não está centralizado, está aqui à direita Primeiro, vou trabalhar na letra D, que é a 012 O segundo elemento, eu vou dizer e adicionar esses colchetes e dizer que dois são animados Nesse caso, em vez do comando two edge, vou dizer ponto e movimento pontuam dois. É aquele com as coordenadas. Vou adicionar os colchetes novamente, e as coordenadas padrão para cada objeto são 000, que está em algum lugar aqui no centro da tela Agora, analisando a animação que queremos replicar. Eu posso ver que tudo está no centro, ou melhor, no eixo y. O que significa que a coordenada x será igual a zero. Porque a coordenada x move algo para o lado. Queremos alterar apenas a coordenada y, o que significa que queremos nos mover verticalmente Nesse caso, estou trabalhando no segundo elemento, que é a letra D. E está aqui em cima, o que significa que precisamos aumentar o valor y. Eu vou dizer algo como dois, e isso é o que vamos conseguir. Sim, é exatamente isso que queremos. É, a letra D se move para cá e está alinhada no centro Mas também queremos animar a carta e a carta ao mesmo tempo Em nossa animação, tudo está alinhado ao centro. Mas, no momento, a carta não está no centro. Eu vou ter que animá-lo também. Eu vou dizer, abra os colchetes. E a letra é o próximo elemento depois da letra D. E eu sei que a letra D foi o segundo elemento. Vou dizer três, porque esta vem depois da letra D. Vou dizer ponto final, animação, ponto final, mover sublinhado dois, abrir parênteses e depois colchetes dentro E eu vou dizer 000 para que ele se mova para o centro exato do quadro. Vamos ver o que temos agora. Sim, agora resta apenas a letra G novamente. Quero que a carta se mova ao mesmo tempo que as letras. E é por isso que vou animá-lo com o mesmo comando de autoreprodução Vou chegar ao final, adicionar uma vírgula e dizer quatro, porque a letra G é o quarto elemento dentro da nossa matriz E eu vou dizer ponto final, animar, mover o sublinhado dois, abrir os parênteses e depois os E então, dentro deles, quero que a letra esteja no centro, o que significa que o valor X será zero. Mas então eu quero que diminua, o que significa que o valor Y terá que diminuir. Vou diminuí-lo para a mesma quantidade que aumentei para a letra D. Em dois, vou dizer menos dois, e depois zero para o valor Z. Vamos ver o que temos agora. Perfeito, todas as letras se alinham da maneira que queremos. 36. Animação 2 - Criando e posicionando formas: Vamos voltar à animação e ver o que precisamos fazer a seguir. Podemos ver que existem três formas, cada uma com uma cor diferente que aparece fora de cada uma das letras. Vamos primeiro criar essas formas. Primeiro, o retângulo. Vou chamar o retângulo de algo como a letra F igual Em seguida, abra os colchetes. E eu quero que o retângulo não seja tão grande. Eu vou dizer que a altura é igual um e a largura também é igual Ok, temos o retângulo. Vamos agora criar um círculo, que eu diria que é igual ao círculo da letra C. Abra os colchetes. No momento, eu realmente não sei o tamanho do círculo, então vou deixar os colchetes vazios Finalmente, quero criar esse polígono que em manim é chamado Vou atribuir este à letra e dizer polígono regular, colchetes abertos E dentro dos colchetes, posso definir n, que é quantos cantos o polígono Nesse caso, queremos 12345, digamos cinco. Eu criei todas essas formas agora. Se eu jogar essa animação, nada acontecerá porque eu não interpretei essas formas. A animação é a mesma. Porque acabei de criar todas essas formas e não as coloquei na tela. Eu vou dizer que jogo sozinho, certo? E escreverei cada forma, o retângulo, o círculo e o polígono. E vamos ver o que acontece. Não só cada forma tem um tamanho diferente, mas também está no ponto morto da nossa animação. Precisamos mover cada forma e alterar seu tamanho para que caiba na animação que queremos recriar Primeiro, vamos trabalhar na praça. Acho que o tamanho está correto, mas queremos que ele envolva a letra D. Agora eu sei de antes que a letra D é o segundo elemento, 012 Aqui eu animei o segundo elemento para estar nessas coordenadas. O que isso significa é que eu posso mover o retângulo para essas coordenadas e ele estará exatamente no mesmo lugar que a letra D. Depois do retângulo, eu vou dizer mover dois e vou inserir essas coordenadas que são as mesmas para a letra D, 02.0 Note que eu não preciso usar o comando move dois dentro do comando self play Também posso mover algo como o retângulo e só depois mostrá-lo na tela Não preciso mover algo apenas uma vez , já está na tela. Eu posso fazer isso de antemão, e só então eu posso revelar esse objeto Vamos jogar isso e ver se o retângulo se moveu. Sim, agora o retângulo envolve a letra D. Vamos agora trabalhar no círculo Como podemos ver, nosso círculo é um pouco grande demais. E o que eu posso fazer é definir o raio. Eu vou dizer que o raio é igual a 0,5. Eu sei que é 0,5 porque eu fiz essa Mas, por padrão, o raio é igual a um. Eu quero torná-lo menor. Vou diminuir o raio em 50% e dizer que é igual a 0,5. Vamos alugar isso novamente e ver o que acontece O círculo agora tem o tamanho correto. Finalmente, quero trabalhar nesse polígono e torná-lo menor, além de envolvê-lo na torná-lo menor, além de envolvê-lo Primeiro, vou mover o polígono, vou dizer ponto final. Mova dois, abra os colchetes e eu quero movê-lo para a mesma posição da letra A letra para nós é 01234 é o quarto elemento dessa matriz Vou descobrir onde animei o quarto elemento, e está aqui. E eu o animei com essas coordenadas. Então, vou copiar as coordenadas e simplesmente colá-las dentro. Agora você pode ver que eu acidentalmente colei colchetes duplos em cada lado Vou excluir um colchete e deixar apenas um par. Agora, o polígono deve estar aqui, mas também queremos diminuir o tamanho do polígono, então vou adicionar outro ponto e dizer E vamos reduzi-lo em 50%, vou dizer 0,5 agora. Deve ser duas vezes menor e deve estar nessa posição. Vamos examinar tudo e ver se isso é realmente o que está acontecendo. Sim, nós replicamos isso. Vamos voltar e ver se há alguma coisa que perdemos. Percebi que usei uma animação diferente para o retângulo e o polígono à medida que eles apareciam na Eles estavam aparecendo do centro e depois girando para seu lugar assim Tanto o retângulo quanto o polígono estão girando em estão girando E na minha animação, eles não estão realmente girando, estão se escrevendo Vou mudar a animação certa tanto para o retângulo quanto para o polígono Vou usar o spin in from nothing. Para o polígono também para Spin. E eu posso clicar em Tab para que ele seja preenchido automaticamente. E agora, se eu executar isso, tudo deve girar bem. Sim, agora concluímos quase metade da animação. 37. Animação 2 - Formas rotativas: Vamos jogar novamente e ver o que mais precisamos fazer. Agora, todos esses objetos giraram ao redor. Vamos ver o quanto isso é, a primeira rotação, a segunda rotação e a terceira rotação. Parece que girou 360 mais 180 graus. 360 mais 180, que é 540 graus. Todos eles giraram ao mesmo tempo, o que significa que preciso agrupá-los. Eu virei aqui. Lembre-se, não esqueça o recuo. Você não quer escrever o código aqui. Você quer que tudo viva sob a forma de um eu surdo. Se eu colocar meu cursor aqui, ele automaticamente começa a escrever diretamente da borda. E eu não quero que tudo tenha dois recortes para que tudo viva sob a forma de um eu surdo Aqui eu quero agrupar o retângulo, o círculo e o polígono Vou chamar esse grupo de CP porque são esses três juntos. Eu direi que isso é igual ao grupo V, lembre-se de que é assim que você agrupa objetos. E então, dentro dos colchetes do grupo V, direi o que quero agrupar F e que, para mim, é o ângulo direto C, o círculo e o polígono regular Agora temos o grupo, mas também queremos fazer um spinning animado Eu digo self dot play. E então eu vou usar o comando rotacionar. Dentro de seus suportes, posso colocar o que eu quero girar Aqui diz: defina um objeto. E, a propósito, objeto significa essencialmente qualquer tipo de objeto dentro da mani, é chamado apenas de objeto em vez de objeto Vou colocar no meu grupo P porque é isso que eu quero girar. Em seguida, preciso definir o ângulo Eu vou dizer que o ângulo é igual. E lembre-se de que, dentro do Python, não defina o ângulo em graus Preciso defini-lo em brilho. Em brilho, 180 graus é igual ao número pi, mas eu não quero girá-lo em 180 graus Eu disse que quero girá-lo em 360 mais 180, que é 540 Agora, felizmente, 540 graus dividido por 180 graus é três e pi é Essencialmente, preciso girá-lo em três pi. Aqui, direi pi vezes três, o que essencialmente se traduz nessa rotação de três vezes 180 graus, que é 540 Vamos ver como fica. Perfeito. É o mesmo que acontece com a animação que queremos recriar. 38. Animação 2 - Troca de posições de formas: Agora, essas duas formas, o polígono e o retângulo, pegam cada uma das letras e, em seguida, trocam de posição assim. Vamos fazer isso. Em primeiro lugar, você pode trocar as posições de dois objetos com o comando swap, digamos self dot play swap E então eu quero trocar o retângulo pelo polígono . Dentro dos parênteses, direi trocar com o, ele trocará qual para mim é o retângulo com o qual para mim é esse polígono E vamos ver o que acontece agora, as duas foram trocadas, mas as letras ainda permaneceram no lugar, o que significa que precisamos agrupar cada uma das letras com sua Ou, alternativamente, eu poderia simplesmente fazer isso da maneira mais fácil e dizer também trocar dois, que é a letra D para mim, e depois 34, que é a letra, e deve obter a mesma coisa Sim, agora ele troca o retângulo e o polígono pelas letras dentro deles Mas eu queria te mostrar outra maneira, que é agrupá-los. Vou deletar esse comando self plate. Certifique-se de que meu cursor esteja aqui clicando duas vezes na guia. E então eu vou reproduzir a animação para que ela seja atualizada. Depois de girar, quero que a letra D seja agrupada com o polígono Vou ligar para P porque meu texto é a letra e o polígono é a Eu direi que é igual ao grupo porque eu quero criar um grupo. A primeira coisa que eu quero agrupar é o polígono. Então eu vou dizer que a segunda coisa é a letra D. Agora, novamente, a letra D é 012 O segundo elemento de, digo , abra os colchetes e, dentro dos colchetes, direi dois, que agora agruparão esse polígono com a letra D. Também quero criar outro grupo para o retângulo e a letra G. Vou dizer porque para mim é igual ao grupo do retângulo E depois disso, quero dizer qual letra é a letra. Eu virei aqui para ver minha mensagem, 01234. É o quarto elemento. Vou descer, dizer colchetes abertos e dizer quatro. Agora eu tenho esse grupo e esse grupo. Agora eu quero trocar esses grupos. Eu direi que Self Play Swap e P com ele deveriam trocar esses dois grupos dessa forma Perfeito. Vamos ver o que acontece a seguir. 39. Rastreadores de valor: Em seguida, vamos falar sobre algo chamado rastreador de valor. Então, vou mover todas as minhas cenas que criei anteriormente para baixo e criarei uma nova cena. Vou chamá-lo de rastreadores de valor de classe e cena entre parênteses, adicionar um enter de dois pontos e, definitivamente, construir E então eu vou dizer que é igual ao meu rastreador de valores e dentro de seus parênteses eu posso ver que eu posso colocar um número, eu vou colocar um número E o que um rastreador de valor basicamente faz é rastrear algum tipo de valor numérico Na verdade, você não pode colocá-lo na tela, ele funciona em segundo plano. Em vez disso, o que você pode fazer é anexá-lo a outro objeto e animá-lo com base em como o rastreador de valores muda Vou te mostrar o que tudo isso significa. Vamos criar um número. Eu direi que esse número é igual ao número decimal, o que basicamente significa que ele cria um número E dentro de seus parênteses eu posso dizer que tipo de número é, E então eu também posso definir quantas casas decimais ele tem, quantos números após o ponto Eu vou dizer um, casas decimais são iguais a zero. Não terá 10,00, terá apenas o número dez. Digamos que você tenha peso próprio por 3 segundos. E também vamos jogar esse número na tela. Reproduza automaticamente o número certo. Vamos ver o que obtemos. Vou executar o arquivo Python e, em seguida, acessar a extensão de visualização lateral do manium e selecionar a cena do rastreador de valores Depois de reproduzido, obtemos apenas um número simples na tela. No momento, o número é o mesmo do meu rastreador de valores e eles não estão conectados de forma alguma Acabei de criar o rastreador de valores e acabei de colocar o número na tela, mas meu objetivo aqui é criar uma cena em que esse número conte 10 a 31. Uma maneira de fazer isso seria criar dois Eu diria que o número dois é igual ao número decimal e eu diria que 30 e as casas nudecimais são iguais a zero Então eu vinha aqui e dizia que self play se transforma do meu primeiro número, que é chamado de número, para o meu segundo número, que é o número dois. Agora, isso é o que temos. Há dez e depois muda para 30. Mas e se eu quiser mostrar a cada número que ele tem que passar por 10, 111-213-1415, até 30 É aí que posso usar o rastreador de valor. Vou deletar o segundo número e também esse comando self plate. Em vez de dizer que esse número decimal é igual a apenas um número, apenas dez, direi que é igual a um ponto para obter o valor do sublinhado, o que significa que agora esse número decimal é igual Qualquer que seja o valor dentro do rastreador de valor, que agora é apenas dez, ele deve me dar o mesmo resultado, ele deve apenas escrever o número dez na tela Faz. O que eu fiz aqui foi dizer que meu número é igual a um número decimal e que esse número decimal é igual a qualquer valor do rastreador de valores O legal agora é que eu posso animar o rastreador de valores e o número também animará Dentro do meu comando self dot play. Vou dizer uma animação, porque quero animar o rastreador de valores mudando Vou dizer que o ponto define o valor do sublinhado e vou defini-lo como 30 Agora, o rastreador de valores animará 10-30. Além disso, no momento, não haverá nada visível na tela Porque, como mencionei antes, você pode ver o rastreador de valores na tela Eu tenho que dizer self dot play, certo? E então nosso número. Vamos ver o que acontece. Ainda existe o número dez e ele realmente não muda 230. E isso porque, quando animamos o rastreador de valores, também precisamos atualizar nosso número Precisamos adicionar um atualizador. Lembre-se de que a maneira mais fácil de fazer isso é dizer sempre sublinhado, redesenhar colocar tudo Em seguida, volte e adicione também uma função lambda. Vou dizer lambda e dois pontos. Agora, não importa o que esteja acontecendo em nossa animação, ela sempre redesenhará esse número Vou dizer o comando S e vamos ver o que acontece. O número dez aparece na tela e é animado até 30 Agora posso aumentar a duração dessa animação dizendo que tempo de sublinhado da execução é igual a algo como cinco, o que fará com que a animação inteira dure 5 segundos. Então você pode ver que conta muito mais devagar. Isso é o que você pode fazer com um rastreador de valor. 40. Função de taxa: Você notará que essa animação começa um pouco devagar. Em seguida, ele acelera à medida que os números aumentam. E então também fica mais lento no final. E podemos mudar esse comportamento. Por exemplo, se eu quisesse que todos os números mudassem após exatamente o mesmo período de tempo, eu poderia adicionar uma vírgula aqui Digamos que rate underscore funk, que é a função rate, seja igual a rate underscore functions period linear, o que definirá essa animação E se eu jogar isso agora, a animação não acelerará nem diminuirá a velocidade. O tempo entre cada número será o mesmo. A configuração padrão não é linear, mas é suave. Se eu disser suave, agora ele começará a contar mais devagar, depois acelerará e depois diminuirá no final Se você quiser uma animação linear, basta dizer que rate funk é igual às funções de taxa e depois linear Mas vou deixá-lo como padrão por enquanto. 41. RECAP - Rastreadores de valor: Vamos fazer uma pausa por um momento e ver o que fizemos aqui. Primeiro, criamos um rastreador de valor. E dissemos que o rastreador de valor tem um valor inicial de dez e atribuímos o rastreador de valor a um próximo Adicionamos um número que dissemos ser um número decimal e depois tivemos que especificar que tipo de número é Dissemos um valor obtido, o que significa que esse número será o que está dentro desses colchetes, ele obteve o valor de um Se eu fosse definir isso como 999, o valor desse número decimal seria Em seguida, dissemos que o número de casas decimais é igual a zero, o que significa que esse número não tem ponto E alguns números após o período. E a última coisa que fizemos com esse número foi adicionar uma atualização. Dissemos que queremos sempre redesenhar esse número, e essa é a sintaxe do Você deve dizer sempre sublinhado, redesenhar , colocar tudo dentro dos colchetes e adicionar lambda e dois pontos logo no início Agora, tudo aqui sempre será redesenhado. Em seguida, dissemos self dot play. Exatamente no número na tela, ele escreveu o número dez. E então dissemos self dot play one dot animate. O que significa que queremos animar um, que é nosso rastreador de valores Dissemos que queremos animar esse número indo de qualquer número para o número 30 No momento, ele passará de 999 para o número 30. Dissemos que queremos reproduzir essa animação em 5 segundos. Vou rasgar isso e vamos ver se vai de 999 para o número 30 Em 5 segundos, há o número 999, ele muda para o número 30 Essa foi a recapitulação do rastreador de valor. Nas próximas aulas, nas quais falaremos sobre eixos e criação de gráficos na tela, também usaremos o rastreador de valores Você poderá experimentar e brincar um pouco mais com ele. 42. Axes 1 - Criando um novo eixo: A próxima coisa sobre a qual falaremos é sobre o Axis. Como criá-los e como colocar funções diferentes nesses eixos. Novamente, vou criar um espaço aqui para criar uma nova cena. E eu vou dizer classe. Vou nomear o eixo da cena, dizer cena entre parênteses e adicionar dois e adicionar Então eu vou dizer que os surdos constroem a si mesmos e eu posso começar a construir minha cena Também feche o manumcighteview. Vamos começar a criar o eixo. Vou nomear meu eixo com a letra A ou, na verdade, vou apenas chamá-lo de Eixo. Eu direi que o eixo é igual ao eixo, que é o comando que cria um eixo. Então, dentro de seus colchetes, eu posso ver que há muitas coisas que eu posso definir A primeira coisa que posso definir é um raio-x. De qual número para qual número meus valores de x. Eu direi que meu intervalo de sublinhado x é igual a. E então eu tenho que colocar colchetes porque eles vão ter dois números aqui Quero que meus valores de x passem de -20 para 20. Então, quando adiciono uma vírgula, também posso ver que há um intervalo y. Eu direi que o intervalo de sublinhado y é igual a, novamente, dentro dos parênteses E eu vou dizer algo como -15 a 15. Vamos descer até aqui, digamos, com peso próprio, para que a animação espere um pouco quando terminar E eu vou dizer self dot play. Certo? E eixo, que colocará meu eixo na tela. Vamos executar o arquivo python e ele reproduz nossa cena anterior Então, o que eu posso fazer é clicar no ícone da câmera, o que me permitirá mudar uma cena diferente. Eu quero tocar a cena chamada axis. Vou clicar nele e ele será gerado. Podemos ver que ele criou o eixo. Os valores de x vão de -20 a 20 e os valores de y vão de -15 a 15 Se eu quiser ver esses números no eixo, posso chegar ao final de um ponto e dizer adicionar coordenadas de sublinhado, que adicionará coordenadas Eu também tenho que fornecer parênteses vazios. Como com todo o resto, vamos refazer isso. E deve ter números em cada ponto aqui. Sim, existem números. Você pode ver que está um pouco lotado aqui, mas vai de -15 a 14 e de -20 a 20, que é o que dissemos Vou remover as coordenadas para que tudo seja mais fácil 43. Machados 1 - Colocando coisas dentro dos eixos: Em seguida, vamos adicionar algo a esses eixos, porque agora eles estão vazios, vou criar um triângulo Eu direi que tr é igual ao meu triângulo. E eu vou dizer que meu triângulo está dimensionado para 0,3. Vai ser bem pequeno Agora eu criei o triângulo, mas ele estará aqui no centro. E realmente não tem nenhuma relação com o eixo porque eu não disse que deveria viver em algum lugar do eixo. Em seguida, vamos fazer isso. Vou dizer tri, que é meu triângulo. Move o sublinhado dois dentro dos parênteses Eu quero dizer para onde eu quero que ele se mova. Para mover algo para o eixo, você tem que primeiro dizer o nome do eixo para mim, é este aqui. Eixo. Então diga o período dois, o que eu acho que significa coordenar a ponto ou algo assim E então, dentro dos parênteses, você tem que dizer para qual coordenada você quer ir, qual, obviamente, tem os valores x Nossos valores de x variam de -22 20, de -22 20 aqui E nossos valores de y de -15 a 15, -15 aqui e 15 Digamos que eu queira colocar meu retângulo em algum lugar aqui Eu direi que meu valor x é igual a algo como menos sete e meu valor y a algo como dez Agora eu criei o triângulo e depois o movi para esse ponto das coordenadas. Claro, eu também preciso colocá-lo na tela. Eu vou dizer self dot play, certo? E triângulo, que animará o triângulo. É assim que parece. O triângulo aparece exatamente nesse ponto. Agora, digamos que temos peso próprio e criemos outra coisa. Vou criar um ponto. Vou chamá-lo de ponto. E diga que meu ponto é igual ao ponto com parênteses vazios Ou posso atribuir algo como uma cor a ele. Eu direi para colorir o ponto vermelho. Em seguida, quero jogar o ponto para ver onde ele está na tela. Vou dizer jogar sozinho, criar pontos, só para misturar tudo. Neste momento, o triângulo está aqui. Nosso ponto está bem ali no centro. Digamos que eu queira mover esse ponto para algum lugar aqui. Eu vou dizer ponto, ponto, mover sublinhado dois. Então, dentro dos parênteses, novamente, eu tenho que dizer qual é o nome do Nesse caso, é apenas um eixo. Então eu vou dizer ponto final dentro de seus parênteses, eu tenho que definir as coordenadas Vou dizer algo como x é igual a sete e y é igual a menos dez, que é exatamente o oposto do meu triângulo O ponto deve se mover para algum lugar aqui. Vamos ver se isso é o que realmente acontece. Aí está o eixo, há o triângulo. Depois, há o.in no centro. E então ele pula para lá. Agora, por que ele pula para lá e por que não se move para lá? Isso é porque eu acabei de dizer para se mudar para lá. Eu não mandei o Python animar nada. Se eu quiser animar algo, preciso usar o comando self dot play na frente Eu vou dizer self dot play. Em seguida, entre parênteses e diga ponto. Um movimento animado para o eixo. Agora, em vez de pular para lá, ele deve se mover bem para lá. Vamos executar isso. Existe o sistema de coordenadas. Aí está o triângulo. O ponto aparece aqui e depois se move bem para aquele. 44. Axes 2 - Personalizando eixos: Ok, então vamos aprender a tornar esses eixos um pouco mais bonitos e experimentar outras coisas que você pode fazer com eles. Novamente, criarei outra cena chamada eixo de classe dois e, em seguida, direi cena dentro dos parênteses Em seguida, direi que os surdos constroem a si mesmos e posso começar a construir minha cena Novamente, vou criar meu eixo. Eu direi que o eixo é igual aos eixos. E então eu tenho que definir o intervalo X e o intervalo Y. Minha faixa X será de menos um a dez, e minha faixa Y também será de menos um a Mas vamos ver quais outras coisas podemos definir. Também podemos ver que há um comprimento x e um comprimento y. Isso define essencialmente o comprimento do nosso eixo na tela. Lembre-se de que a tela em nim é composta por oito por 14 quadrados Se eu disser que meu comprimento x é maior que 14, ele não caberá na cena. Mas se eu disser que é igual a cinco , não ocupará toda a cena. Digamos que o comprimento x seja igual a 13. Lembre-se de que se eu dissesse 14, sairia dos limites E digamos que o comprimento y seja igual a cinco. Então, é claro, digamos que você tenha peso próprio em 3 segundos. E reproduza sozinho e escreva o eixo na tela. Vamos ver o que obtemos. Essa é nossa cena anterior. Novamente, posso clicar no ícone dessa câmera para escolher uma cena diferente. E eu quero interpretar a cena chamada Axis 2. Vou clicar nele e ele diz que tem um argumento inesperado de palavra-chave y length. O que significa que provavelmente escrevi incorretamente o comprimento da palavra, o comprimento do sublinhado y, e agora deve estar tudo bem Sim, aqui estão nossas coordenadas. Agora, uma coisa que eu não gosto são essas flechas no final Vamos ver se podemos removê-los. Vou adicionar outro coma e ver se tem alguma coisa a ver com essas flechas. Eu posso ver que há dicas aqui, o que eu presumo. Essas dicas estão aqui? Por padrão, diz verdadeiro. Se eu disser dicas iguais a falsas, presumo que essas setas devem desaparecer E sim, não temos mais flechas. Em seguida, vamos também chegar ao final do eixo e dizer coordenadas de sublinhado do período, que adicionarão coordenadas E também podemos dizer ponto final, definir a cor do sublinhado e vamos defini-la como azul Adicionaremos coordenadas a esses eixos e também tornaremos tudo azul. Aí está. 45. Axes 2 - Adicionando rótulos de eixos: Outra coisa que você pode querer fazer é adicionar rótulos a esses eixos. Por exemplo, quero dizer que esse é o eixo y e quero dizer que esse é o eixo X. Eu posso criar rótulos como qualquer outra variável. Eu direi que x é igual ao período do eixo, obtenha sublinhado x rótulo de sublinhado do eixo É assim que você obtém o rótulo desses eixos. Então, dentro dos parênteses, posso dizer entre aspas como eu quero nomear o Vou nomear o eixo x, X. Então eu posso copiar isso. com isso, e em vez de obter o rótulo do eixo X, posso dizer obter o rótulo do eixo y e também nomear o eixo y. Mas agora, ambos estão atribuídos à mesma letra X. Vou mudar isso para Y, além de reproduzir o eixo, posso dizer escrever x e depois escrever y, o que escreverá os rótulos dos eixos bem como o próprio eixo Vou jogar isso e vamos ver o que acontece. Aí está. Nossos eixos têm nomes. Esse é o eixo Y e esse é o eixo x. 46. Eixos 2 - Criando um ponto com uma etiqueta: Em seguida, vamos adicionar alguns espaços e criar algo nesses eixos. Novamente, vou criar um ponto. Eu vou dizer que ponto é igual a fazer. Vamos novamente tornar a cor desse ponto vermelho para que possamos vê-lo melhor. Vou mover esse ponto. Mova o sublinhado dois, eixo dois Dentro dos colchetes, posso definir as coordenadas para onde quero mover esse ponto Digamos que eu o queira em algum lugar aqui, o que significa que o valor x é igual a três e o valor y é igual a um. Eu vou dizer 31. Agora, um ponto vermelho deve aparecer aqui sempre que eu o jogo na tela. Agora vamos também nomear esse ponto. Vamos adicionar um rótulo para isso. Eu direi que o rótulo de sublinhado de pontos é igual ao texto. E vou apenas nomear o ponto, a palavra ponto. Eu direi que o tamanho da fonte desse texto é igual a algo como 24. E eu vou dizer que este texto é o próximo sublinhado dois. E dentro de nossos colchetes, direi ponto porque quero que fique próximo ao ponto E depois do coma eu posso dizer para onde eu quero que ele vá, eu quero que o rótulo apareça. Mais uma vez, eu disse que o rótulo do ponto é igual a esse texto, e eu disse que quero que esse texto fique ao lado do ponto, que é esse ponto para mim aqui, e eu quero que ele fique acima. Vamos jogar tudo. Eu vou dizer self dot play. Vamos escrever a etiqueta com pontos. E também escreva o ponto em si. Há os eixos e o ponto. Você pode ver que tem uma etiqueta em cima dela, e é essa etiqueta aqui. E o ponto apareceu exatamente nessas coordenadas, x é igual a três e y é igual a um, que é onde o colocamos com esse comando. 47. Axes 2 - Como animar rótulo de ponto e ponto dentro de eixos: Deixe-me reduzir isso para que você possa ver mais do código. Agora, digamos que queremos animar esse ponto para que ele se mova dessa posição para algum lugar aqui Mas também queremos que ele se mova com o rótulo, que agora significa que temos que colocar os dois em um grupo ou adicionar um atualizador a esse texto para que ele sempre redesenhe esse texto à medida que o ponto se move ao longo do Vamos seguir o caminho mais difícil e vamos fazer isso com um atualizador Queremos que esse texto sempre seja atualizado à medida que o ponto se move. Mas primeiro, precisamos fazer com que o ponto se mova. Diga self dot play. E então eu quero animar o ponto. Eu direi que ponto, ponto, ponto, movimento animado, sublinhado dois. Novamente, quero movê-lo para um eixo específico A sintaxe para isso é primeiro o nome do eixo, eixo, período dois E então, dentro dos colchetes, posso dizer para onde quero que ele se mova Eu direi que o valor x é igual a nove e o valor y é igual a seis. Você deveria se mudar para algum lugar por aqui. Agora, se eu jogar isso, o ponto deve se mover, rótulo ainda deve permanecer no mesmo lugar. Sim. Agora, queremos que o rótulo também siga o ponto. Vou até o rótulo e depois do sinal de igual, digo sempre sublinhado, redesenho, depois coloco esse texto entre parênteses, e depois venho aqui e digo lambda e dois Agora, a etiqueta sempre será redesenhada para ficar ao lado do nosso ponto Agora, se eu jogar isso, o rótulo também deve seguir o ponto. Aí está o ponto e ele se move com a etiqueta. Muito bom. Novamente, uma maneira mais fácil fazer isso seria simplesmente criar um grupo. Digamos que seja igual ao grupo V. Em seguida, coloque o ponto e a etiqueta do ponto dentro desse grupo. E então, em vez de animar o ponto, precisaríamos apenas animar todo o grupo O que teria feito o ponto se mover com a etiqueta. Mas escolhemos o hardware. 48. Axes 2 - Como animar eixos e limpar atualizadores: Agora, digamos que eu queira colocar outra coisa na tela e quero que tudo isso diminua Eu quero que esses eixos acabem em algum lugar aqui na tela Eu quero encolher tudo. Para fazer isso, também precisarei colocar tudo dentro de um grupo. Eu direi que grupo é igual ao grupo V. Eu escrevi o grupo V errado. Grupo V, a propósito, significa grupo vetorial. Então, dentro dos parênteses, quero colocar tudo em primeiro lugar Eu tenho o eixo, depois tenho os rótulos dos eixos, que para mim são x e y. Vou dizer x, y. Então eu tenho o ponto e o rótulo do ponto. Vou dizer ponto, rótulo de sublinhado. Tudo o que você pode ver na tela está dentro desse único grupo que eu posso animar juntos. Vamos animá-lo. Eu vou dizer self dot play dentro de parênteses. Eu vou dizer que o grupo anima porque tudo está dentro do grupo E eu vou dizer que a escala do período 0,3. Vai escalar isso para 30%, mas vai escalar tudo até o centro. E eu disse que quero mover o eixo em algum lugar no canto superior esquerdo, digamos, ponto final, mover o sublinhado dois E as coordenadas padrão são 000, o que significa que o objeto está no centro. Digamos que eu queira movê-lo para menos três e y é igual a dois, que mudará todo o sistema de coordenadas menos três quadrados do centro aqui, dois quadrados, para algum lugar aqui dois quadrados Eu também poderia conseguir praticamente a mesma coisa usando o comando two edge. Em vez de ir para as coordenadas, eu poderia dizer duas arestas sublinhadas e direi no canto superior esquerdo Eu quero que esse grupo em escala se mova para a borda esquerda. Vamos ver o que acontece. Existe o sistema de coordenadas, o ponto, e tudo se encolhe até o Mas há um pequeno problema, que é a palavra ponto. É muito grande. Dissemos que sempre queremos redesenhar o rótulo do ponto, que é a palavra ponto E dissemos que o tamanho da fonte deveria ser 24. Não importa o que aconteça, ele sempre será atualizado para o tamanho da fonte igual a 24. É por isso que escolhi a maneira mais difícil de fazer as coisas, para poder mostrar como consertar isso. Veja, há outro comando muito legal que nos permite limpar os atualizadores. Depois de algum tempo, precisei que essa etiqueta de pontos fosse sempre redesenhada até esse ponto Mas eu não quero mais que seja redesenhado a partir desse ponto, porque eu já coloquei tudo em um grupo Então, eu realmente não preciso redesenhar nada porque estou animando todo o grupo O que posso fazer é nomear a variável, dizer ponto, rótulo de sublinhado e, em seguida, dizer ponto e limpar atualizadores de sublinhado e parênteses vazios, o que agora limpará que Isso removerá a coisa sempre redesenhada da etiqueta de pontos Agora, quando eu jogar isso, ele dirá que objeto de texto não tem atributo, limpe a atualização esqueci de adicionar o S no final de nossa variável, da qual queremos limpar os E, em seguida, limpe o período da atualização ou do zero. Se eu jogar isso, a etiqueta de pontos deve ter o mesmo tamanho de todo o resto. Aqui está o eixo. O ponto se move para lá. O rótulo com pontos não é redesenhado para ter o tamanho da fonte 24 porque removemos os atualizadores 49. RECAP - Axes 2: Mais uma vez, vamos fazer uma pausa e ver o que aconteceu aqui. Vou diminuí-lo para que você possa ver a maior parte do código aqui. Primeiro, criamos o eixo. E nomeamos nosso eixo. Eixo. Mas só com a letra A minúscula, eu poderia ter dito qualquer coisa aqui. Eu poderia ter chamado meu eixo de shrek. O que significa que eu precisaria mudar cada palavra, eixo aqui, para a palavra shrek Mas eu escolhi chamá-lo de Axis. Eu disse que meu intervalo X é igual de menos um a dez, que significa que a linha horizontal, essa linha x aqui, vai de menos um a Então eu disse que meu intervalo Y é de menos um a dez, que é essa linha vertical, e vai de menos um a Eu disse que meu comprimento x é igual a 13. Isso basicamente define o tamanho do meu eixo x na tela. Se eu dissesse que é igual a cinco, veja o que acontece com o eixo x. Ele vai encolher. Veja agora que é muito pequeno. Quando digo 13, significa que quero que seja do tamanho de 13 quadrados que compõem ou são vistos em Manum Lembre-se de que é oito por 14. A razão pela qual eu não disse 14 é porque vai sair dos limites O menos um ou o dez serão ocultados. O que eu também fiz dentro do eixo foi dizer que é igual a falso. E é por isso que não temos essas setas no final do nosso eixo y e x. Então eu disse ponto final, adicione coordenadas, que adicionaram esses números a cada ponto. E eu disse definir a cor para azul, que fez com que o eixo ficasse azul. Em seguida, eu disse que x é igual a axis, Get x, axis label e x, o que basicamente significa que eu quero adicionar um rótulo de eixo ao eixo x. E eu disse que o rótulo do eixo seria x. Se eu mudasse isso para algo assim, o rótulo teria sido esse texto. Pronto, vou voltar para x. Isso basicamente nos ajuda a nomear nosso eixo. Claro, eu precisava colocar tudo na tela, e é por isso que eu disse self dot play, eixo direito, que colocava o eixo na tela. Self dot play, certo x, que escreveu o rótulo x, porque eu atribuí meu rótulo x à variável x. E eu disse certo y, que colocou y na tela também. Deixe-me repetir isso para que o texto não aconteça A próxima coisa que fiz foi criar um ponto. E eu disse que quero movê-lo para esses eixos, nos quais temos apenas um eixo na tela. Então, nós realmente não tivemos a opção de colocá-lo dentro de outro eixo. Mas se eu tivesse dois eixos, eu poderia ter dito em qual eixo mover esse ponto para dentro. Eu disse eixo dois, que é apenas a sintaxe para definir a coordenada do E eu disse que x é igual a três e y é igual a um. O que significa que eu quero desenhar meu ponto dentro desse ponto exato. X é igual a três e y é igual a um. O ponto deve aparecer aqui. Se eu jogar isso, o ponto está exatamente lá. Agora, outra coisa que eu criei foi essa etiqueta de pontos. Eu disse que o rótulo do ponto é igual a esse texto. O texto deve dizer ponto e o tamanho da fonte deve ser 24, e é por isso que o ponto tem esse tamanho. Em seguida, eu disse que quero que esse texto fique ao lado do nosso ponto, que o ponto para mim é ponto, e eu quero que ele fique acima. É por isso que a etiqueta está no topo do ponto e não em algum lugar aqui, aqui ou aqui. Também adicionei um atualizador a esse rótulo e disse sempre redesenhar Então eu coloco tudo dentro de parênteses, dentro de parênteses Eu também disse lambda, o que basicamente significa que ele sempre redesenhará o rótulo, não importa para onde o ponto vá Ele sempre tentará definir o ponto do texto para o tamanho da fonte 24 e sempre tentará estar próximo ao nosso ponto e para cima. Não importa o que aconteça com nosso ponto, não importa para onde ele se mova, não importa o tamanho que tenha, o ponto do texto sempre se redesenhará para ter tamanho da fonte 24 e estar sempre próximo ao nosso ponto para cima Então eu disse self dot play, right, dot label, e escreva o ponto que colocou nosso ponto e o rótulo de ponto na tela. Então eu disse que queria mover meu ponto para algum lugar aqui. Novamente, usei o comando self dot play e disse que queria animar o ponto Lembre-se de que o rótulo do ponto sempre estará ao lado do nosso ponto. É por isso que não precisamos animar os dois. Onde quer que o ponto vá, devido à função de sempre redesenhar, o rótulo sempre seguirá o ponto Eu disse ponto, ponto, animar, mover dois. Novamente, usei a mesma sintaxe aqui. Eu disse que quero movê-lo para esses eixos. E então eu quero movê-lo para x é igual a nove e Y é igual X é igual a nove está aqui, e y é igual a seis está O ponto deve se mover para algum lugar aqui. Quando eu jogo isso, o ponto se move exatamente para lá. Em seguida, eu queria reduzir tudo, mas, para fazer isso, precisava limpar os atualizadores do rótulo de pontos O motivo pelo qual eu quero limpar os atualizadores, que basicamente remove essa parte do código a partir de agora, é porque, se eu não o fizesse , ele sempre redesenharia o texto para ter o tamanho da fonte 24 E eu quero que tudo diminua , assim como o rótulo com pontos Não quero que seja redesenhado, que seja maior do que todo o resto. É por isso que eu liberei o Predators. Deste ponto em diante, ele não redesenhará.it permanecerá como estava Como quero reduzir tudo, não quero animar tudo O que eu posso fazer é colocar tudo em um grupo e animar todo o grupo Em vez disso, coloquei tudo em um grupo. Meu eixo, meu eixo rotula o ponto e o rótulo do ponto. E eu disse que as células brincam de animação em grupo. Eu queria reduzi-lo. Eu disse escala 0,3 A escala padrão é, obviamente, uma. Essencialmente, eu disse que queria escalá-la para 30% e depois adicionei outro ponto e disse que, além de diminuir a escala, quero animá-la , movendo-a para a borda superior esquerda, então essa é a animação que obtivemos Aí está o eixo, lá está o.it, se move para lá, e então tudo encolhe até o canto superior esquerdo Ok, espero que tudo esteja claro. 50. Axes 3 - Criando os eixos: Em seguida, falaremos sobre como desenhar uma curva real no eixo. Vamos criar um eixo e, em seguida, traçar uma função cosseno nesses eixos Vou mover tudo para cá e criar uma nova cena. E vou chamá-lo de eixo três porque esta é a terceira lição da série Axis. Então, é claro, surdos constroem o eu, podemos começar a trabalhar nessa nova cena Vou mover tudo para baixo também. Obviamente, não se esqueça de recuar o cursor duas vezes para que tudo que vive sob a forma surdo construa o eu VS. O código entende automaticamente que eu quero movê-lo para cá e não para cá. Assim que pressiono Tab uma vez, ele imediatamente me dá dois recuos, o que é muito bom Vamos criar nosso eixo. Desta vez, vou chamar meu eixo de algo parecido com cachorro. Eu direi que é igual a eixos. E então eu vou definir o intervalo x. Eu direi que é igual a menos oito a oito. Opa, eu esqueci os colchetes. E depois mais um suporte para fechar o eixo. Em seguida, colocarei a vírgula aqui e direi intervalo y é igual a algo como -1,5 a 1,5 porque a função cosseno só alcançará y igual a De qualquer forma, não precisamos ir mais alto do que isso. Vamos também adicionar o comprimento x, que determina o comprimento do eixo na tela, e eu direi 13. E também digamos que o comprimento y seja igual a algo como três, porque eu realmente não quero que o sistema de coordenadas seja superalto verticalmente Então, também direi que dicas são iguais a falsas, o que removerá as setas no final do nosso eixo Isso é o que temos agora. Eu vou dizer self dot play. Certo? E eixo. Eu posso ver imediatamente que o código VS sublinhou a palavra self, o que me diz que provavelmente há um erro em algum lugar por aqui E eu posso ver que o erro está aqui. Eu disse Cephal em vez de eu. É só um erro de ortografia. E uma vez que eu o corrija, a função automática funcionará muito bem Também adicionarei peso próprio por 3 segundos no final. Para que eu possa pausar a animação sem que ela reinicie. Vou executar o arquivo python. E rodou a cena anterior, eixo número dois. E esse é o eixo número três. Então, se eu quiser mudar a cena, posso clicar no ícone da câmera e dizer que quero jogar o eixo três em vez do eixo dois. Digamos que exista um objeto de tipo. O Axis não tem atributos para membros da família com pontos. Não tenho ideia do que isso significa. Vou tentar solucionar isso. A faixa X parece boa, faixa Y parece boa. O comprimento X 13, o comprimento Y é de três pontas é igual a falso. Tudo parece estar em ordem. E eu disse que queria jogar machados, mas chamei meu eixo de cachorro. Esse foi o erro. Devo dizer escreva cachorro para que ele escreva eixos na tela Vou jogar isso de novo e vamos ver o que acontece. Esse é o nosso eixo, mas ele não parece um eixo porque não tem rótulos. Crie também rótulos X sublinhado. Laboratório, que é rótulo, é igual a cachorro, que é o nome do nosso eixo. Obtenha o sublinhado e então eu posso escolher isso, Obter rótulo do eixo x. E então, dentro de parênteses e aspas, posso dizer o nome que quero dar a esse eixo Eu vou dizer eixo x. Então eu vou copiar isso colado aqui, mudar o nome da variável para ser y label. Em seguida, digamos que obtenha o eixo y em vez do eixo x. E eu vou nomear esse eixo y. Além de escrever o eixo na tela, também escreverei o rótulo x e o rótulo y na tela. Que toda vez que eu reproduzia a animação, recebia outro erro de tipo de erro. O objeto de texto matemático não pode ser chamado. Estou assumindo que tenho que colocar tudo isso em animações corretas separadas Laboratório X e laboratório Y direito. Vamos ver se isso resolve o problema. Sim, é verdade. Ok, aqui está o eixo, e aí estão os rótulos dos eixos. Eu provavelmente deveria ter dito y x não eixos. Esse é o resultado final. Agora vou remover a palavra eixos porque provavelmente não é necessário 51. Axes 3 - Traçando a função de cosseno em eixos: A próxima coisa que queremos fazer é desenhar uma função cosseno nesses eixos. Como fazemos isso? Eu virei aqui depois do comando self dot play, porque queremos traçar a função cosseno Depois de já colocarmos tudo na tela, chamarei minha função cosseno apenas curva. Eu direi que é igual a. Então eu tenho que colocar o nome do meu eixo, que é cachorro. Então eu tenho que dizer ponto e trama. Isso diz ao Python que eu quero traçar algo nesses eixos, esses eixos esses eixos Então, dentro dos parênteses, eu tenho que definir a função que eu quero traçar Como queremos traçar a função cosseno, também precisaremos importar outra biblioteca Lembre-se de que, logo no início para configurar nossa coisa de manim, dissemos de maim import snowflake, e isso importou Agora, para que a função cosseno funcione, também queremos adicionar outra biblioteca chamada num pi Eu vou dizer importar num pi como P. Isso é essencialmente tudo que você precisa fazer para que a função cosseno funcione, e também para a função seno e muitas outras Mas não vou falar sobre a biblioteca num pi no discurso Vamos traçar a função cosseno. Agora, para fazer isso, também vamos usar a função lambda dentro desses parênteses Por aqui vou dizer lambda x, depois dois pontos. E depois disso, P, que é esse período da biblioteca numérica, cosseno x. Vou explicar o que isso significa em um segundo Eu só quero verificar se funciona com o Self Dot Play, certo? E curva que traça a curva aqui. Vou executar o código, e deve haver uma função de cosseno aqui. Sim. 52. Entendendo como as funções do lambda funcionam (meu método): Eu não vou mentir. Eu realmente não entendo como as funções do Lambda funcionam e tentei descobrir isso antes, mas assim que não as uso por um dia, esqueço como elas funcionam Mas descobri uma maneira muito fácil de pensar sobre eles quando você está tentando criar uma função. Deixe-me abrir o Photoshop e ilustrar o que quero dizer. Aqui está a sintaxe da função lambda. Lambda x, e então não havia nenhum ponto cosseno x. Essa é a sintaxe. Agora, quando você tem uma função normal, você diria que f de x ou y é igual ao cosseno x. É assim que uma função normal se pareceria, que também é a mesma que y é igual ao cosseno x. Podemos ver algumas semelhanças aqui. Podemos ver A principal semelhança que quero mostrar é que lambda x e dois pontos são essencialmente iguais a f de x é igual ou y igual Você pode basicamente pensar em lambda x como sendo f de x ou como sendo y igual. Isso é exatamente o mesmo. Agora, o que vem depois do cólon é o que vem depois do seno igual. Em uma função normal, o cosseno x é o mesmo que o cosseno x A única diferença é que temos esse P aqui, que basicamente diz ao Python que queremos usar essa biblioteca para usar a função cosseno A parte P é realmente a única diferença quando se trata disso e daquilo. Porque isso aqui é o mesmo que isso. Que é o mesmo que isso. Isso aqui é o mesmo que isso ou aquilo. A única coisa diferente é P. Agora, digamos que eu queira outra função em vez de uma função de cosseno Digamos que eu queira uma parábola. A forma como eu escreveria uma parábola em termos de programação seria lambda x, que é f de x igual à parábola tradicional de apenas x ao quadrado, que é o mesmo que x vezes x. Em uma função normal, seria x e depois quadrado assim Em uma função normal, seria x É o mesmo que isso, porque x ao quadrado é x vezes x. E essa parte aqui é a mesma que esta É assim que eu penso nas funções lambda. Não tenho certeza se está 100% correto ou se é assim que você deve pensar sobre isso, mas funciona para mim. Se eu disser x vezes x, ele deve desenhar uma parábola nesses Sim, há a pabla, vou deixar isso como o cosseno P de x. Agora, também há algumas coisas que podemos Primeiro, posso dizer que essa curva, essa função cosseno, terá uma cor vermelha E também posso adicionar coordenadas ao meu eixo. Vou chegar ao final aqui e dizer ponto final, adicionar coordenadas de sublinhado, o que adicionará coordenadas Obviamente, não esqueça os colchetes vazios no final Agora, se eu jogar isso, a função cosseno deve estar vermelha e também deve haver coordenadas, que é exatamente o que obtemos É assim que você pode traçar diferentes curvas no eixo. 53. Axes 3 - Função de animação em eixos: Próximo. Depois de adicionarmos algo ao nosso eixo, vamos aprender como animá-lo Vamos aprender como mostrar essa função mudando sozinha. Nesse caso, criei uma função de cosseno, mas vamos criar uma pabla em vez de P cosseno x. Eu direi x vezes x. Você pode interpretar isso como y é igual Esta é a função que vamos traçar no eixo do cão. Agora, como isso é uma Pábola, eu quero alterar o intervalo X e o intervalo Y para mostrar mais dessa Digamos que o intervalo X seja de menos quatro a quatro. E como essa parábola não diminui, direi que o intervalo Y vai de zero a algo como 16 Não quero que as dimensões horizontais do eixo se estendam por toda a tela. Eu direi que o comprimento X é igual a algo como cinco. E eu quero que o eixo fique na vertical, praticamente em toda a tela Vou dizer que o comprimento y é igual a 6,5. Lembre-se de que o máximo que posso fazer é oito, porque a cena em manim é composta de oito por 14 quadrados Também vou deixar as dicas como falsas e adicionar coordenadas. Também deixarei os rótulos dos eixos, mas talvez eu os torne minúsculos. Então aqui tudo permanece o mesmo. Self Dot play right, tudo pronto. Aí está nossa curva, que é a parábola. F de x é igual a x ao quadrado. E desta vez vamos torná-lo azul. Em vez de usar a animação certa. Vamos brincar um pouco e usar a animação de criação, que é bem parecida com a direita. Vamos ver como tudo parece. Aí está a parábola. o eixo x com o comprimento de cinco, é por isso que é tão curto. E então temos o eixo y indo 0 a 16, como você pode ver, 016 E então dissemos que o comprimento desse eixo é 6,5, e é por isso que ele se estende até quase o topo da moldura Mas agora que tenho essa parábola aqui, quero mudá-la Quero animá-lo em movimento, por exemplo, em vez de x ao quadrado, quero me tornar dois x ao E eu quero animar tudo. É aqui que vamos usar o rastreador de valor. A primeira coisa que sei que vou precisar é um atualizador, porque quero sempre redesenhar essa função Porque quando muda, quero que seja redesenhado na tela para corresponder ao que muda Claro, direi que sempre sublinhe, redesenhe, coloque tudo isso entre parênteses e, em seguida, adicione uma função lambda Isso fará com que essa curva sempre seja atualizada na tela. Claro, se eu jogar isso agora, nada mudará porque eu não estou animando nada Ele será sempre redesenhado exatamente no mesmo lugar. Vamos animá-lo. Eu virei aqui para o evento. E eu disse que quero animá-lo para que ele passe de x ao quadrado para duas vezes x ao quadrado Mas eu quero ser capaz de mudar esse número dois para algo como o número cinco ou número 0,5. E é aqui que eu posso usar o rastreador de valores no topo da curva Também criarei esse número como uma faixa de valor. Eu chamo isso de número e direi que é igual ao rastreador de valor. Por padrão, eu quero que seja um, porque por padrão eu quero que seja uma vez x ao quadrado para que eu obtenha essa pabla inicial Agora, preciso colocar esse rastreador de valores aqui. Vou dizer número, que é como nomeei o rastreador de valor. E depois do ponto final, direi para obter valor de sublinhado e parênteses vazios O que acontecerá agora é que ele analisará qualquer que seja o número dos rastreadores de valor e colocará esse número Claro, esqueci o símbolo de vezes para fazer com que a função fosse igual ao meu número vezes x vezes x. Agora temos tudo configurado, mas se eu jogar isso, nada mudará porque esse número é igual a um E isso também não muda. Obtemos a mesma parábola inicial, mas podemos animar essa Eu direi autoreprodução e, em seguida, animação numérica e ponto final. Porque eu quero animar essa mudança de número. E então eu direi definir valor de sublinhado. Dentro dos parênteses, posso escolher o valor que eu quiser. Eu vou dizer dois também. Eu direi que o tempo de sublinhado é igual a dois para que a animação aconteça ao longo de 2 segundos em vez de 1 segundo Agora, se eu jogar isso, ele deve desenhar a parábola. E a parábola deve ficar maior. Há a pabla inicial, e lá ela se estende Agora vamos esticá-lo novamente. Vou copiar isso, chegar a uma nova linha e definir o novo valor como algo como 0,1. E vamos ver o que acontece agora. Você deve desenhar a pabla original, esticá-la e depois esmagá-la novamente, Vamos copiar isso novamente e adicionar outro até 0,5. É assim que nossa animação final se parece Ela se estende, depois se comprime e depois se estica um pouco para cima 54. RECAP - Funções de animação em eixos: Novamente, o que fizemos aqui foi adicionar uma curva e adicionar um atualizador a essa curva Dissemos que sempre queremos redesenhar a curva, para que, ao animá-la aqui embaixo, sempre redesenhe a curva, sempre a atualize Então dissemos que queremos traçar essa curva no eixo do cão, que criamos aqui. Em seguida, precisávamos definir que tipo de função queríamos traçar no eixo. E eu disse que a função é igual a f de x igual qualquer número que seja vezes x vezes x, que significa f de x vezes nosso número aleatório vezes x ao quadrado É basicamente assim que nossa função se parece, F de x igual a um número que escolhemos vezes x ao quadrado É um Proabola, mas tem algum tipo de número na frente No começo, dissemos que esse número é igual a um. Não importa o que multiplicamos por um, ainda permanece o mesmo É por isso que a curva original permaneceu a mesma. E dissemos que a cor dessa curva é azul. E então aqui, mudamos esse número para outra coisa. No começo eu disse que era igual a dois, pois sempre há uma função de redesenho que sempre atualiza nosso Pbola conforme o número O probola também foi atualizado na tela, OK. 55. Axes 4 - Zoom em eixos: Vamos criar outro exemplo com o rastreador de valor. E desta vez vamos também animar o eixo, bem como a função dentro desses eixos Digamos que o eixo cinco da classe e o surdo do cólon construam a si mesmo. Temos a cena preparada. Eu direi que o eixo é igual ao eixo. Quero traçar a curva senoidal nesses eixos. Vou escolher o intervalo x para ser igual a menos oito a oito E então o intervalo y para ser igual a algo como menos um para um Eu direi que o comprimento X é igual a sete e o comprimento Y é igual a três. Também removerei as pontas desses eixos. Diga que dicas são iguais a falsas e também adicione coordenadas no final. Vamos ver como esses eixos se parecem. Jogo sozinho, certo? Eixo. Opa. Isso está reproduzindo nossa cena anterior, eixo três. Vou até o ícone da câmera e escolho o eixo número cinco, que atualizará a cena para ficar assim. A animação para muito rápido, então eu vou dizer que o peso próprio é de 3 segundos no final. E continuarei trabalhando nesses eixos. Eu disse que quero desenhar uma função senoidal aqui. Novamente, nomearei minha função de curva e direi que é igual ao eixo, seja qual for o nome dos eixos, plote seja qual for o nome dos eixos E então, dentro dos parênteses, eu tenho que definir a função que eu quero Eu vou dizer lambdx, o que essencialmente significa que y é igual a dois. E então P seno x, o que significa que y é igual ao seno x. E agora traçamos essa Para desenhar essa função, vou dizer self dot play, create and curve. Se eu jogar isso, ele também deve traçar a função seno aqui Sim, também direi que a cor dessa função é igual ao azul. Para que você possa diferenciá-lo melhor do eixo desta forma Agora temos o eixo e temos a função nesses eixos. Mas e se eu quiser ampliar esses eixos? Em outras palavras, e se eu quiser alterar o comprimento x desses eixos e animar, mudar. Eu quero ampliar esse ponto da curva. Preciso descobrir de alguma forma como animar o comprimento x de sete para algo como 30 E para isso eu posso usar um rastreador de valor. Vou deixar algum espaço aqui e depois dizer que meu rastreador de valor é igual a X. Vou criar o rastreador de valor e digamos que o comprimento inicial será Sete, vou dizer sete dentro do meu rastreador de valores. Agora eu quero substituir esses sete pelo meu rastreador de valor. Eu direi que quero que meu comprimento X seja o ponto X, obtenha o valor do sublinhado e os parênteses vazios Novamente, meu X é meu rastreador de valores. Para o meu comprimento x, estou basicamente obtendo o número, que estiver dentro desse rastreador de valor No momento, é igual a sete. O que significa que se eu executar novamente o código, a função e o eixo devem ter a mesma aparência. Sim, eles têm. Mas agora eu quero animar isso E isso significa que eu quero mudar o valor do x. Vou dizer self dot play. E então, dentro dos parênteses, vou dizer ponto x, ponto animado, definir valor ponto animado Digamos que 30. O que acontecerá agora é que ele animará o rastreador de valores a ser definido para o número 30 Mas em nossa tela, nada mudará porque esquecemos uma coisa, que é atualizar essa função Precisamos adicionar um atualizador à função para que ela sempre redesenhe a função quando algo estiver acontecendo aqui embaixo. Eu direi que sempre sublinhe, redesenhe, abra parênteses. Então, é claro, feche os parênteses no final. E também preciso incluir lambda e dois pontos para que funcione Agora, ele sempre redesenhará o eixo. Agora, se eu jogar isso, tudo deve aumentar o zoom. Obviamente, vai demorar um pouco mais para carregar porque ele precisa redesenhar o eixo de cada quadro da nossa animação Há o eixo, há a função e ela aumenta o zoom. Mas você notará que isso permaneceu em vigor porque nossa curva não está sendo atualizada. Também precisamos dizer sempre sublinhado, redesenhar lambda e depois fechar É claro que agora tudo deve ser ampliado, porque o eixo será redesenhado e a curva também será redesenhada Sim. Agora, tudo se aproxima e a função é exibida corretamente 56. Axes 4 - Como animar eixos e função: Digamos que eu também queira animar a mudança de função Eu quero ampliar os eixos. E então digamos que eu queira a função seno. Em vez de ter x dentro dos parênteses, eu quero ter algo como dez vezes x dentro Eu também quero animar isso. Criaremos outro rastreador de valor. Eu direi que esse número é igual ao meu rastreador de valores e o número inicial será um Porque eu quero exibir a função seno, como ela é por padrão no início, depois, dentro dos parênteses, quero incluir quero Vou vir aqui e dizer ponto final numérico, obter o valor do sublinhado e os parênteses vazios E então eu tenho que multiplicar esse número por x. Agora, dentro da nossa função seno, temos esse número que, qualquer que seja esse número, vezes x. No início, esse número será um Mas eu quero animá-lo, mudando de 1 a 10. Venha aqui, digamos, peso próprio, porque eu quero esperar um pouco . Depois que o zoom for concluído, adicionarei uma nova linha e direi self dot play numtanimate, porque quero animar esse número mudando para E então eu direi o valor do sublinhado definido pelo período. Vamos definir o valor para dez. Como já criamos essa função, sempre redesenhe, não precisa adicionar mais nada. Em teoria, deveria funcionar. Ele aumenta o zoom e, em seguida, a função muda muito bem. Depois de apertar essa função, posso dizer peso próprio para esperar mais um segundo e depois diminuir o zoom de tudo Vou copiar este porque ele controla o quanto aumentamos o zoom. E então, em vez de 30, vou dizer algo como cinco. Agora, o comprimento x aqui se tornará cinco. Lembre-se de que inicialmente eram sete, depois mudamos para 30 e agora estamos mudando para cinco. É assim que vai ficar. Aí está o eixo, há a função. Está fora. Ele muda a função e depois diminui o zoom. Linda. 57. Transforme formas de correspondência (animação legal): Eu também quero te mostrar algumas coisas legais que você pode fazer com, cara. O primeiro tem a ver com texto. Eu direi que A é igual ao texto, e digamos que o texto aqui seja um mamífero Em seguida, criarei outro texto e o chamarei de B em vez de parênteses e aspas. Eu vou dizer cara. E então, é claro, adicionarei um comando self dot weight de 3 segundos no final. E eu vou dizer self dot play. E vou colocar esses dois textos na tela. Eu vou dizer certo e depois certo. No momento, eles estarão no centro. Então, eu vou dizer que este é o próximo sublinhado dois A e o direito. Então, estará no lado direito do texto mamífero. O texto, o texto manim, estará ao lado do texto no lado direito Se eu jogar isso, é isso que obtemos. Mammal mani, ambos não estão no centro porque a palavra mamífero está no E este está logo ao lado da palavra mamífero. É por isso que eles não estão centralizados. Mas o legal que eu queria mostrar é se eu adicionar outro comando de autoreprodução e depois dizer transformar formas correspondentes. E então, dentro dos parênteses, eu quero transformar A e B. Devo ter escrito errado Transforme formas correspondentes. Aí estamos. Se eu jogar isso, veja o que acontece, opa. Mas o problema é que já tínhamos o texto escrito na tela. Se eu escrever apenas o texto A na tela e deixar invisível, o texto A se transformará em texto. Com uma animação muito legal. Aqui temos o texto e, em seguida, ele transforma o movimento das letras no texto Posso dizer que execute o tempo de sublinhado e defina o tempo como algo em torno de 3 segundos. Além disso, não preciso dos próximos dois comandos porque esse texto é invisível. Há a primeira palavra e depois as letras se transformam em outra palavra Isso é o que a transformação correspondente de formas faz. Qualquer que seja a letra que corresponda, elas simplesmente trocam de lugar e formam outra palavra Essa é uma animação muito legal. Mudamos esse texto para dizer algo como Babuíno. Essa. Esse é meu primeiro dia de trabalho. Vamos transformar tudo, do babuíno. Esse é meu primeiro dia de trabalho. Veja se as letras são iguais, elas simplesmente se movem para o lugar das letras correspondentes da segunda palavra E as outras letras que não combinam simplesmente desaparecem do nada Mas se eu trocar os dois, isso vai dizer Babuíno. E isso vai dizer, este é meu primeiro dia de trabalho. Se eu ler isso, a animação deve ficar melhor. Lá vamos nós. Essa é uma animação legal que eu queria mostrar. 58. Organizar vários elementos próximos com um grupo: Voltando ao problema que tínhamos antes, onde tínhamos mamíferos e manins Queríamos escrever esses dois trechos de texto na tela, mas o problema era que os dois textos não estavam centralizados na tela Eu disse a seguir o sublinhado dois e depois um à direita, o que fez com que o texto manim fosse para o lado direito desta em, foi isso que obtivemos Eles não estavam centralizados, como podemos centralizá-los na tela O que podemos fazer em vez de dizer os próximos dois é colocar os dois em um grupo V, eu vou dizer que é igual ao grupo V, dentro de parênteses, eu vou dizer A e B. Agora eu coloquei os dois em um Agora eu coloquei os dois em A razão pela qual fiz isso é porque posso organizar os elementos da maneira que eu quiser. Quando eles estão dentro de um grupo, eu vou criar uma nova linha aqui e dizer, qual é o meu grupo V. Então, digamos que, entre parênteses, eu posso definir como posso organizar Uma forma de organizá-los é dow, que significa que o texto B estará abaixo do texto, A manim estará abaixo da palavra mamífero Vamos ver o que acontece se eu jogar fora do grupo. Aqui estão os dois textos, mas agora eles estão alinhados no centro Se eu quiser alinhá-los à borda esquerda, posso dizer aqui que posso ver que o centro é igual ao verdadeiro Por padrão, posso dizer que centro é igual a falso. Agora, se eu jogar isso, ele deve se alinhar à borda esquerda. Não importa. O que aconteceu agora é que o mamífero de texto está exatamente no centro da moldura e o texto mutilado está abaixo dela Se eu adicionar um buffer grande, você poderá ver o que aconteceu Se eu jogar isso, o mamífero estará no centro. E o texto mutilado está em algum lugar aqui embaixo, em algum lugar fora da tela Se eu disser dois, provavelmente será em algum lugar por aqui. Sim. Se eu disser que centro é igual a falso, ele organizará o grupo V de forma que o primeiro objeto, o centro da moldura e, seguida, quaisquer outros objetos que estejam dentro do grupo sejam organizados em relação a onde este Mas não era isso que eu queria fazer. Se eu remover o centro aqui, o centro de ambos os objetos estará no centro. O texto mamífero deve estar em algum lugar aqui, e o texto manum deve estar em algum lugar Se eu jogar isso, você poderá ver que o mamífero de texto não está mais no centro da moldura, mas o centro de ambos os objetos agora está no centro da moldura Mas eu queria fazer outra coisa e isso é organizar esses dois textos na borda esquerda. O que posso dizer é que a borda do sublinhado alinhada é igual à esquerda Agora, ele deve alinhar esses dois textos à borda esquerda. Agora, se eu não quiser organizar o grupo V para baixo, posso organizá-lo à direita. É assim que parece agora. Provavelmente eu não quero deixar a borda alinhada aqui. Sim, agora ele alinhou esses dois objetos de texto um ao lado do outro e os dois estão no centro Se eu dissesse que centro é igual a falso , somente o texto mamífero estaria no centro e o texto manim estaria Porque agora o centro desses dois objetos não é o centro. O primeiro objeto é o centro da moldura. É assim que você pode organizar dois textos separados ou dois objetos separados um ao lado outro e colocá-los no centro da moldura. 59. Animação 3 - Alterando os parâmetros de forma: Vamos tentar replicar uma cena que ficará assim e pronto. Venha até aqui e crie nossa cena. Eu vou dizer demonstração de classe três. Cena, é claro, adicione parênteses e surdos constroem a si mesmo. Como sempre, agora temos nossa cena. Vamos ver essa animação mais uma vez e explorar o que aconteceu aqui. Primeiro, há essa forma que é criada. Depois, há um pedaço de texto colorido em laranja ou dourado. E depois há outro pedaço de texto em outra cor ao lado desse texto. Depois, há um retângulo desenhado ao redor do segundo texto E então o retângulo pega esse texto e o move até Enquanto isso acontece, esse marcador ou essa forma também se move para lá Em seguida, o quadrado se expandirá e todos esses três elementos se moverão bem próximos um do outro desta forma Então, a partir daqui, tudo se transforma em um pequeno ponto. O ponto se expande e fica preto. Vamos tentar criar essa animação primeiro. Vamos começar com isso. Aqui, como você pode ver, há um círculo e seguida, um retângulo ao redor desse círculo Primeiro criarei o círculo. Eu direi que C é igual ao meu círculo. E então, dentro dos parênteses, na verdade, não vou colocar nada dentro dos parênteses, mas vamos ver o tamanho do círculo. Desde o início, direi self dot play e depois criarei o Também virei aqui e direi autopeso por 3 segundos para que, quando cada animação for reproduzida, haja uma pausa de três segundos No final, eu virei aqui e direi Executar arquivo Python. E a partir da extensão de visão lateral do manium, poderei escolher a cena de demonstração Vou clicar nele e ele será gerado. Neste momento, o círculo é tão grande, é colorido. O que queremos é que o círculo seja muito pequeno. Eu virei aqui depois do círculo, digamos, escala de período. E eu vou escalá-lo para algo como 0,1 Agora o círculo será muito pequeno, mas esse círculo também tem uma cor de preenchimento. E a cor de preenchimento é branca. Posso vir aqui dizer que o período é meu círculo. E eu direi que defina o sublinhado aqui. Eu posso definir a cor que eu quero. Eu direi que a cor do preenchimento será branca. Depois, posso adicionar uma vírgula e escolher a opacidade. Eu direi que a opacidade é igual a um, 100%. O branco no centro do círculo será Vamos ver o que obtemos. Esse é o círculo, mas o contorno da animação que queremos criar, o contorno do Isso aqui é um pouco mais grosso. Também posso aumentar a espessura do contorno. Eu direi que o ponto define o traçado de sublinhado, que definirá o traçado desse círculo porque eu o nomeei Então, dentro dos parênteses, posso dizer qual cor eu quero para E aqui está vermelho. Eu vou dizer vermelho, mesmo que o círculo já esteja vermelho. E então eu quero escolher a largura do traço. Eu quero torná-lo mais grosso. Vamos ver se há uma opção para isso. Há um atributo chamado largura. Vou dizer que a largura é igual, vou configurá-la para algo como sete, acredito que, por padrão, ela está definida Vamos ver se o círculo é o mesmo. Sim, o círculo parece praticamente desativado. 60. Animação 3 - Criando o retângulo ao redor: Em seguida, quero que esse retângulo com cantos arredondados que circunda o círculo crie um retângulo ao redor Vou atribuir o retângulo ao redor à letra e dizer que é igual ao retângulo ao redor dentro dos Eu tenho que dizer o que eu queria cercar. Nesse caso, eu queria cercar o círculo, que é a letra C para mim. É por isso que vou colocar C aqui. Então eu vou adicionar um coma. E digamos que a cor desse retângulo deva ser vermelha porque, por padrão, a cor amarela é igual a vermelho. E então eu quero os cantos arredondados. Lembre-se de que o atributo para cantos arredondados é o raio do sublinhado e ele o preenche imediatamente Então, clicarei em Tab e direi que é igual a 0,1 Agora temos o círculo e o retângulo ao redor que circunda esse Mas eu ainda não disse ao VS code para colocar o retângulo ao redor na tela Vou entrar no comando self dot play com uma vírgula aqui. E eu direi que quero escrever o retângulo ao redor , bem como o círculo Agora, se eu jogar tudo, essas duas formas aparecerão na tela. Mas na animação que queremos recriar, essas formas aparecem de maneiras diferentes Se olharmos de perto, o retângulo gira a partir do centro Em vez de usar o comando certo para animar essas formas na tela, usarei o comando grow from center para o círculo E vou usar o comando spin in from nothing para o retângulo ao redor E isso é o que obtemos. exatamente o mesmo que nesta animação. 61. Animação 3 - Organizando objetos: Podemos ver que existem duas palavras, olá. Vamos criar essas palavras. Vou atribuir meu texto à variável e dizer que o texto é igual a olá. Agora, essas duas partes do texto têm cores diferentes, que significa que você pode usar texto em vez de texto e depois usar látex para formatar esse texto Mas eu vou te mostrar como fazer isso usando apenas o comando de texto. Mas primeiro, na animação que queremos fazer, o texto está próximo a essa forma. Se eu colocasse esse texto na tela, ele simplesmente apareceria no centro sobreposto à Eu quero colocá-lo ao lado da forma. Em seguida, direi o sublinhado dois para o texto porque atribuí minha letra ao meu texto e quero que ela fique ao lado da forma que é o círculo ou o retângulo ao redor. Isso realmente não importa. Vou dizer o círculo e colocar uma vírgula e dizer em qual direção eu quero que o texto vá Eu queria ir para a direita. Quero que meu texto fique ao lado do círculo e do lado direito. Em seguida, direi self dot play. Corrigir meu texto para também colocar o texto na tela. E aí está. Mas o texto realmente não tem a mesma aparência da nossa animação. A fonte é um pouco grande demais e também está tudo descentralizado. Primeiro, vou diminuir o tamanho da fonte. Não tenho certeza de qual é o tamanho padrão da fonte por padrão, mas direi que o tamanho do sublinhado da fonte é igual a 32 e que o texto deve ficar menor Sim, em seguida, quero mover tudo aqui para o centro do quadro, porque agora essa forma está no centro e o texto está à direita. O que podemos fazer é colocar todos esses objetos em um grupo e depois alinhar esse grupo para ficar no centro Eu virei aqui e colocarei tudo em um grupo. Vou chamar esse grupo de um. Haverá vários grupos. Eu vou dizer grupo e, dentro de parênteses, vou colocar tudo o que eu quero nesse Agora, se eu colocar todos os objetos que criei para o círculo, para o retângulo ao redor e para o texto, alinharei todos eles em uma única linha Porque primeiro colocará o círculo, depois colocará o retângulo ao redor e depois colocará o texto Mas eu quero que o círculo e o retângulo ao redor permaneçam juntos É por isso que vou colocá-los em um grupo separado para que, quando o segundo grupo se alinhar, esse grupo conte como apenas um objeto Digamos que o segundo grupo seja igual ao grupo V e, em seguida, colocarei o primeiro grupo dentro do segundo grupo, assim como meu texto. E então eu vou dizer dois, que é o segundo grupo. E então pontue e organize , o que significa que eu quero organizar o segundo grupo. Agora, aqui eu posso definir em qual direção eu quero que ele seja organizado, mas a direção padrão é para o lado direito. Eu realmente não preciso dizer direito, posso simplesmente deixar parênteses vazios Além disso, posso definir o valor do bônus, mas, nesse caso, vou deixar tudo como padrão Agora, se eu jogar isso, tudo deve estar no centro do quadro. Sim, mas ele se teletransportou. E isso é porque eu primeiro disse jogo sozinho. Coloque essas duas formas na tela , colocando-as no centro. E então eu organizei os grupos, que significa que primeiro preciso organizar todos os grupos e criar o texto. E só então coloque tudo na tela para que ele já reproduza o que foi arranjado. Primeiro, organizamos os grupos e depois tocamos as coisas na tela. Porque se fizéssemos isso do outro lado, primeiro ele coloca o que está na tela, depois organiza esses objetos e depois tenta reproduzi-los, e é por isso que eles se teletransportam Agora, se eu jogar isso, tudo deve aparecer bem no centro. 62. Animação 3 - Alterando as cores de várias palavras em um objeto de texto: A próxima coisa que podemos ver aqui é que o texto tem cores diferentes e até mesmo uma fonte diferente. Vamos começar primeiro com a cor. Vou colocar um pouco de espaço aqui. Lembre-se de que você pode separar o texto usando o comando text em vez do texto que formata seu texto em latex que basicamente significa que cada pedaço de texto que você cria, então um texto dentro das aspas e, se eu colocar outro texto dentro das aspas, conta como um objeto separado Se eu disser self dot play, certo? E depois dois, que é esse texto para mim. E então, dentro dos colchetes, posso definir qual objeto eu quero mostrar Esse é o objeto número zero e esse é o objeto número um. Se eu disser apenas autoreprodução correta, objeto número zero, ele só colocará olá na tela. Não será colocado lá na tela. Vou mover isso ao lado meu texto para baixo para que apareça ali. Se eu jogar isso, dirá que o objeto não tem nenhum atributo ao lado de eu o colocar no lugar errado. Eu deveria ter dito que está aqui ao lado da minha mensagem. Aqui, é digitada apenas a palavra olá. Mas quando você está usando texto normal, texto como esse com um texto que não é texto, você realmente não pode criar várias aspas com texto dentro delas. Vamos ver o que acontece se eu fizer isso. Se eu disser cachorro aqui e tentar tocar isso, dirá que não foi possível converter string em cachorro flutuante, o que significa que só posso colocar uma aspa dentro do comando de texto, mas ainda podemos colorir esse texto separadamente Neste caso, cada letra terá seu próprio número dentro da matriz. A letra H será o número zero. O número E será o número um. A letra L será o número dois. Outra letra L será a número três. A letra será a número quatro. Se eu quisesse escrever apenas a palavra olá e não lá, colocaria colchetes ao lado da letra, porque é nosso texto. Dentro dos colchetes, eu poderia definir quais elementos dessa matriz eu queria imprimir Começa do zero, então eu vou dizer zero. Em seguida, adicionarei dois pontos. E lembre-se de que o último número que você coloca aqui na verdade não é escrito. Se o número do último elemento, a letra, for o número quatro, então eu tenho que colocar o número cinco aqui novamente, 01234 Se eu colocar cinco, o quinto elemento, que é esse espaço aqui, não será colocado na tela. E tudo, do número zero ao número quatro, será colocado na tela. Agora, se eu jogar isso, somente a palavra olá deve aparecer. Da mesma forma que eu posso colorir cada um desses trechos de texto, eu diria. Em seguida, adicione colchetes de 0 a 5 , que é a palavra olá. Vou dizer ponto final, definir a cor do sublinhado e quero que seja dourado Eu vou dizer que a cor será dourada. E então o restante do texto estará entre colchetes. E então, do número cinco até o final, tenho que definir o último número se eu colocar dois pontos e nada mais depois dele, ele entende isso Quero dizer, do número cinco até tudo o que resta. Vou dizer ponto final, definir a cor e quero que a cor seja alta. Dentro dos parênteses, vou dizer tal. Agora, essas duas partes do texto terão cores diferentes. Dentro do comando self play, esqueci de remover os colchetes para que ele reproduza o texto completo aqui Hello está em uma cor e existe em 63. Animação 3 - Mudando a fonte do objeto Text: Em seguida, comparando essas duas partes do texto, é óbvio que essa tem uma fonte diferente. Em comparação com isso, você também pode definir uma fonte. Agora, dentro do Cues, você pode encontrar o nome da fonte que deseja usar e que instalou dentro de um aplicativo chamado Font Book Abra o livro de fontes, poderei ver todas as fontes disponíveis. E se eu quiser usar a fonte Georgia, por exemplo, terei que lembrar o nome dela. Nesse caso, quero usar uma fonte chamada Sentient. Só preciso descobrir que tipo de fonte eu instalei e qual é o nome da fonte. Vou ver minha mensagem, adicionar outro coma. E eu posso ver que um dos parâmetros é a fonte. Eu direi que a fonte é igual a e, dentro das aspas, vou dizer o nome da Para mim, é senciente. Agora, a fonte desse texto deve se tornar sensível. Sim, a fonte é diferente e recriamos com sucesso o início dessa animação 64. RECAP - Primeira metade da animação 3: Vamos fazer uma pausa rápida e analisar o que fizemos até agora Primeiro, fizemos um círculo. Dissemos que nosso círculo é igual à letra C e é esse círculo aqui no centro. Então dissemos que queremos que a cor de preenchimento do círculo seja branca e a opacidade dessa cor seja uma O que significa 100% que colocam essa cor branca dentro do nosso círculo. Como a opacidade é igual a um, essa cor é visível em 100%. Também dissemos que queremos que nosso círculo tenha um traçado, que é a linha vermelha fora do Queremos que a linha seja vermelha e que a largura dessa linha seja sete, por isso é um pouco mais grossa Em seguida, criamos um retângulo circundante que circunda esse círculo Circunda o círculo porque colocamos C aqui. Dissemos para ele cercar o círculo. Então dissemos que a cor desse retângulo é vermelha e que o raio do canto é 0,1, o que criou esses cantos arredondados Em seguida, queríamos colocar o texto Hello ao lado dessa forma. Primeiro fizemos o texto. Dissemos que o texto é igual ao texto Olá, que é o mesmo texto que está aqui. O tamanho da fonte é igual a 32. E então escolhemos uma fonte que já instalamos em nosso computador, descobrimos o nome dessa fonte e dissemos que a fonte desse texto seria igual a essa fonte. Em seguida, colocamos esse texto ao lado do nosso círculo, ao lado da letra C, que é o círculo, e ao lado direito, é por isso que nosso texto está no lado direito do círculo. Em seguida, dissemos que queremos colorir os primeiros quatro objetos do nosso texto. E eu digo quatro porque o quinto não é afetado. Tudo, do objeto zero ao objeto quatro, ficou dourado. E cada letra neste texto é um objeto separado. A letra H é o número zero, depois 1234, cada letra da palavra olá tem a cor dourada Então dissemos que queremos que cada objeto do objeto cinco em diante seja colorido e que o espaço seja o quinto objeto Tudo a partir do espaço ficou azul colorido. É por isso que o texto Hello é dourado e o texto ali é tal. Obviamente, o espaço não tem uma cor porque é apenas um espaço vazio. Em seguida, queríamos organizar tudo de forma que tudo ficasse no centro da nossa moldura e não no lado direito. Primeiro, criamos um grupo chamado G one. E colocamos C, que é o círculo, que é o retângulo circundante, em um grupo Agora, tanto o círculo quanto o retângulo ao redor contam como um objeto Então criamos outro grupo e colocamos esse objeto, G um, que é o círculo, e o retângulo ao redor, que agora é um objeto, esse grupo, e também colocamos texto nesse grupo Dentro do segundo grupo, temos essa forma como o primeiro objeto e o texto como o segundo objeto. E então dissemos que queremos organizar o segundo grupo com os parâmetros padrão , que estão no lado direito e no centro do quadro. É por isso que tudo está no centro. E então eu disse que quero jogar e mostrar tudo o que aconteceu na tela. Isso é tudo o que fizemos até agora. Vamos continuar criando o resto dessa animação. 65. Animação 3 - Mudando as coisas por números decimais: Vamos continuar criando essa animação. Isso é o que temos agora. Temos a forma giratória e depois as duas palavras, olá Agora, a próxima coisa que queremos é um retângulo ao redor da palavra ali Agora, há algumas maneiras de fazer isso, e a mais fácil seria criar um retângulo ao redor desse texto aqui, em torno cinco para tudo o que significa em torno dessa palavra Mas vou fazer isso da maneira mais difícil para te mostrar uma coisinha. Em vez de criar um retângulo ao redor, criarei apenas um quadrado Direi que meu quadrado é igual ao quadrado e, dentro dos parênteses, posso escolher o comprimento do E eu vou dizer que o comprimento do meu lado é igual a 1,2 E agora eu quero colocar o quadrado na tela para ver onde ele cai. Então eu posso ajustá-lo e colocá-lo sobre a palavra ali. Venha aqui e diga self dot play, quadrado direito. E vamos executar isso e ver o que isso nos dá. Diz que tem uma palavra-chave, argumento ou tamanho lateral inesperados , o que significa que eu escrevi incorretamente o tamanho da Mais uma vez, vou dizer comprimento e deve funcionar. Sim, estamos bem. Agora temos o texto e, em seguida, o quadrado está no centro. Eu quero deslocar o quadrado aqui para que fique sobre a palavra ali. Agora, também há algumas maneiras de fazer isso. Uma é obter o centro desse objeto. Mas desta vez eu também vou fazer isso da maneira mais difícil, da maneira manual. E vou tentar descobrir exatamente por quanto preciso deslocar o quadrado para a direita. Agora. Felizmente, eu já fiz isso antes, quando estava me preparando para esse turno de aula na hora certa E então essa é a razão pela qual eu queria colocar o quadrado aqui. Eu queria te mostrar que você não precisa necessariamente mudar algo em números inteiros. Lembre-se de que a cena em manim é composta por oito por 14 quadrados e, por um tempo, pensei que eram pequenos E se eu quiser mais quadrados? Bem, acontece que, obviamente, você pode mudar algo não por um quadrado inteiro, mas por uma fração de um quadrado. Então eu posso mudar algo em 0,5 ou 0,005 ou 0,42 069 ou É por isso que fiz isso com um quadrado e não com um retângulo ao redor Só para mostrar que você pode mudar algo 0,955 e isso acabará exatamente acima da palavra Lembre-se de que você não precisa mudar algo por quadrados inteiros ou coordenadas inteiras, números inteiros Se eu dissesse mover sublinhado dois e depois adicionasse uma coordenada aqui, não preciso dizer que y é igual a Eu poderia dizer que y é igual a 1,42 = 0,69 ou algo assim. E isso o mudará para essa coordenada? Deve ser transferido para algum lugar aqui no topo. Sim, ali. Isso é o que eu queria te lembrar. Mas como já temos o quadrado, vamos continuar animando com o quadrado em vez de um retângulo ao redor 66. Animação 3 - Reposicionando objetos.mp4: A próxima coisa que acontece é esse quadrado pega esse texto e, em seguida, tanto ele quanto o texto se movem para cá Essa forma se move daqui para cima da palavra olá. Vamos primeiro trabalhar no retângulo e no texto. É claro que, para movê-los juntos, vamos criar um grupo desses dois objetos, o quadrado e o texto. Eu já tenho dois grupos. Eu direi que este é o grupo número três igual ao grupo V. E vou colocar meu quadrado tão bem quanto eu quiser que esse pedaço de texto acabe dentro também. Lembre-se de que posso separar esse texto em dois com esse tipo de sintaxe Ele dirá que eu quero meu texto, então a letra é 01234566, então eu direi Ou, na verdade, eu também posso incluir o espaço, porque isso realmente não importa. Então, vou dizer cinco e dois pontos, o que significa que, além de incluir a quinta coisa nessa matriz, que é o espaço Também quero incluir tudo o que vem depois, a palavra inteira. Agora, isso está dentro de um grupo. Agora vamos mover o grupo. Eu direi que o grupo três de autobrincadeira, que é o grupo que acabamos de criar nos próximos dois. Então eu quero colocá-lo ao lado deste texto aqui, ao lado do texto olá. E abaixo do texto hello está o colchete de zero a cinco. Então eu quero dizer que depois de colocar um, ele colocará meu grupo, que é esse retângulo aqui E a palavra ao lado da palavra olá e abaixo, deve acabar aqui. Vamos executar isso e ver se isso acontece. Olá, aí. Sim, ele se move para o local correto. Mas, ao mesmo tempo em que isso está acontecendo, eu também quero colocar essa forma em cima da palavra olá. Vou adicionar uma vírgula dentro da animação de reprodução da célula. E eu quero encontrar o grupo onde eu agrupei essas duas formas E eu acho que esse é o grupo número um, C. E C é meu círculo e é meu retângulo circundante Esse é o grupo um. Eu direi G, um período animado, período Mova o sublinhado dois para dentro dos colchetes. Tenho que dizer para onde quero movê-lo novamente, quero movê-lo em cima da palavra olá. Novamente, essa é a palavra olá. Vou copiar isso e colar. Eu vou dizer que sim, porque desta vez eu quero acabar no topo da palavra olá. E se eu executar isso, essas duas formas devem se mover para seus lugares ao mesmo tempo, não importa. É muito estranho que isso tenha acontecido, algum comportamento inesperado Eu disse, eu quero mover G one, que é esse grupo. Em vez dos próximos dois, eu acidentalmente disse movimento dois Eu deveria ter dito o próximo sublinhado dois. Se eu executar isso, tudo deve ficar bem. Olá, lá, se move aqui, e a forma se move para lá. Perfeito. 67. Animação 3 - Escala e movimento de objetos: Vamos ver o que acontece a seguir. Agora o quadrado fica maior à medida que esse texto se aproxima da palavra olá. Deixe-me jogar isso de novo. O quadrado fica maior. Este texto se aproxima e parece que tudo se realinha no centro Cada forma aqui se move ligeiramente para o centro da moldura. Sim, primeiro vamos aumentar o quadrado e fazer com que ele se mova para o centro da moldura. Vou vir aqui e adicionar outro comando de autoreprodução. E agora eu quero animar o quadrado, que eu chamei de quadrado Eu vou dizer que o período quadrado é animado. E eu quero torná-lo maior. Eu vou dizer couve. E dentro dos parênteses, tenho que dizer o quanto eu quero escalá-lo Eu vou dizer três, o que significa três vezes. Depois, também quero mover o quadrado para o centro da moldura. Vou dizer ponto final, mova o sublinhado dois. Dentro dos parênteses, direi origem. Origem significa basicamente o centro de alguma coisa. Nesse caso, é o centro do quadro de toda a nossa animação. O quadrado vai se alinhar exatamente no centro. Vamos jogar e ver o que acontece. Há um quadrado e, sim, parece que está no centro, mas todas essas coisas ainda não estão no centro. Vamos primeiro mover esses dois para o centro, a forma e a palavra olá. Também na animação, tudo acontece ao mesmo tempo. Isso significa que eu tenho que usar um comando de autoreprodução. Adicione uma vírgula aqui. E agora eu quero animar essas duas formas, mudando para a origem ou para o Felizmente para mim, eu já coloquei essas duas formas em um grupo chamado G two Não preciso criar outro grupo para reuni-los. Animação de dois períodos, movimento dois e origem, que moverá esses dois para a origem Se eu jogar isso, tanto o quadrado quanto esses objetos estão agora no centro. Resta uma coisa, que é a palavra na animação que queremos recriar, a palavra que está ao lado da palavra olá e abaixo Vamos movê-lo daqui para lá. Eu quero mover apenas a palavra para lá, que é essa palavra aqui. O que significa, novamente, que preciso especificar que não quero incluir a palavra olá. Eu direi, e dentro dos colchetes, direi que quero tudo do quinto objeto em diante, cinco e dois pontos Em seguida, adicionarei um ponto final. Eu direi animar o ponto final, mover o sublinhado dois e a origem, que também moverá esse texto, a Deveria acabar em algum lugar lá, mas não estará abaixo desse texto. Vamos ver o que aconteceu de qualquer maneira, para entender o quanto precisamos reduzi-lo. Sim, esses dois textos agora se sobrepõem. O que posso fazer agora é adicionar outro comando. Além de movê-lo para a origem, posso adicionar outro ponto e dizer deslocar esse objeto para baixo em algo como 0,3. Se eu jogar isso, o texto deve terminar bem abaixo da palavra olá Aí está. Recriamos tudo até agora. 68. RECAP - Escala e movimento de objetos: Lembre o que aconteceu aqui. Primeiro, dissemos que queremos animar o quadrado na escala número três e também queremos movê-lo para a origem É por isso que o quadrado se torna maior e também se move para o centro. Então dissemos que queremos animar o grupo G two, que para mim, é esse grupo que abriga o primeiro grupo e meu texto O primeiro grupo tem essencialmente essa forma e o texto é olá. Isso significa que eu quero mover essa forma e a palavra olá para algum lugar. onde eu o movi para a origem , ou seja, para o centro da moldura. Finalmente, eu queria mover o texto para lá ao lado da palavra olá. Mas, no final das contas, primeiro eu disse que estava mirando no quinto elemento Para mim é meu texto e o espaço é o quinto elemento. Eu estava mirando em tudo, desde o espaço em diante, o espaço e a palavra lá Em seguida, eu disse que queria mover esse texto para a origem, novamente para o centro, pois havia alguma sobreposição entre a palavra olá E aí eu também mudei essa palavra um pouco para baixo para que ela ficasse bem abaixo da palavra olá 69. Animação 3 - Criando um ponto e desaparecendo: Vamos ver o que acontece a seguir. Então, tudo se transforma em um pequeno ponto, e o ponto se expande em uma cor branca e depois Vamos criar o ponto. Vou chamá-lo de ponto. Então eu direi que é igual a ponto e a cor é igual a branco. Agora, como o ponto era bem pequeno, também vou adicionar um atributo de escala e dizer que sua escala é 0,5 ou 50%. Temos nosso ponto. Agora queremos que tudo na tela se funda nesse ponto O que isso significa é que queremos que tudo o que está na tela seja contado como um objeto. Para fazer isso, podemos, é claro, dizer quatro, que é o grupo quatro para mim, grupo. Agora, dentro dos parênteses, posso colocar cada objeto que criei ou usar grupos que eu também já criei Eu tenho um grupo para o texto. E essa forma, eu vou usar esse grupo dentro do grupo. E então deixa apenas o quadrado. Vou colocar o quadrado também. E então, para transformar tudo em ponto, direi self dot play transform. Aqui eu tenho que colocar do que para quê? Do grupo quatro, que é cada objeto na tela, ao meu ponto, que é o ponto. Vamos ver se isso acontece. Sim, tudo se transformou em um pequeno ponto. Agora, na animação que queremos recriar, esse ponto fica super grande e branco e depois fica preto Então, vamos fazer isso a seguir. Após o último comando self dot play. Também incluirei o peso próprio por 1 segundo para que o ponto permaneça na tela por um tempo. Então eu vou dizer self dot play. Dentro dos parênteses, direi ponto final, período animado, escala. E digamos algo como 300. Então, eu quero escalar esse ponto em 300 vezes. E, finalmente, quero colorir o ponto de preto. Ele fica preto. Eu vou dizer ponto, ponto, ponto animado Defina a cor do sublinhado. E vamos configurá-lo para preto. E vamos ver o que acontece. Então, recriamos essa animação com sucesso. 70. Criando um arquivo de configuração de Manim: Enquanto criávamos todas essas animações aqui. cada cena que criamos e executamos com o Python foi claro que cada cena que criamos e executamos com o Python foi salva em nosso computador na mesma direção em que salvamos esse arquivo de demonstração nim Então, para mim, está no desktop e na demonstração do curso. E se eu for para o meu desktop, encontrarei a demonstração do meu curso. E dentro dela eu vou encontrar a pasta de mídia. Se eu entrar na pasta de mídia, então vídeos, Nim demo e ADP . Todas as cenas que eu criei ao longo deste curso estarão nesta pasta em dez resoluções ADP Mas e se eu quiser que cada cena tenha quatro K em vez de dez ADP Bem, nesse caso, posso criar um arquivo de configuração Im ou um arquivo de configuração Quero que esse arquivo de configuração fique no mesmo local do meu arquivo Python, onde escrevi todo o código para minhas Para mim, está dentro do desktop e da demonstração do curso. Agora posso criar esse arquivo manualmente, mas uma maneira mais fácil de fazer isso seria por meio do código VS. Vou acessar meu código VS, ir até o arquivo e escolher um novo arquivo de texto. Ou eu posso clicar em comando ou Controle no meu teclado, novo arquivo. E então eu pressionarei o comando no meu teclado ou controle no Windows para salvar esse arquivo como um arquivo de conflito, como um arquivo CFG, direi o comando S porque estou no Mac E então eu tenho que ter certeza de que estou no mesmo diretório do meu arquivo manim O arquivo onde eu escrevi todas as animações. E, por padrão, ele deve levar você a esse local. Se você não vê seu arquivo Python nessa pasta, você precisa encontrá-lo e salvá-lo ao lado Outra coisa importante é o nome. Diga o nome, manimtfg. Não esqueça essa parte do CFG. Também é importante, se eu disser seguro, agora criei meu arquivo CFG com sucesso Você verá que o ícone desse arquivo se transformou em um ícone de engrenagem. E o que podemos fazer com esse arquivo CFG é definir várias configurações diferentes para nosso manimfile, ou como o manim ou Uma coisa que podemos fazer é definir a qualidade. 71. Como definir a qualidade de saída 4K: Para alterar a qualidade da saída de dez ADP para quatro K. Terei que adicionar esses dois colchetes e Em seguida, clique em Enter e diga Qualidade é igual a quatro K Underscore Quality Essa é a sintaxe que você precisa usar. Não sei por que eles fizeram com qualidade de sublinhado de quatro K em vez de apenas quatro K, mas você tem que dizer qualidade de quatro K. E também é necessário colocar a CLI dentro dos colchetes na parte superior Agora, se eu salvar esse arquivo com comando ou controle S no Windows, volte para o meu num demo, que é o arquivo onde está todo o meu código para as animações e, em seguida, execute novamente uma das Por exemplo, demonstração número três. Agora ele o renderizará em qualidade de quatro K em vez de dez EDP, qualidade quatro vezes melhor Claro, vai demorar um pouco mais, mas agora, se eu entrar na minha área de trabalho e entrar na pasta de demonstração do curso, vá para a mídia. Vou ver aqui que há uma nova resolução disponível, e essa é de quatro K. Se eu expandir essa pasta, encontrarei minha cena que acabei de executar E esta é a mesma cena de demonstração, qualidade de dez DP. Então, com o arquivo CFG, acabamos de configurá-lo para cada cena que executamos a partir deste ponto Cada um deles terá quatro K Quality em vez de dez ADP, o que é muito bom 72. Outras configurações no arquivo cfg do Manim: Claro, há muitas coisas que você pode colocar dentro do arquivo CFG, mas para descobrir o que você pode colocar dentro do arquivo CFG, você pode colocar dentro do arquivo CFG, vir aqui dentro do terminal e dizer ManimCFG, certo, e depois menos, o e dizer ManimCFG, certo, e depois menos, que criará um arquivo CFG no lugar do seu arquivo CFG seu E se eu clicar em Enter, aqui estão todos os comandos disponíveis dentro do conflito numérico. Então, vou fechar minha visão lateral. E isso aí embaixo e aqui estão todas as coisas que você pode configurar. Por exemplo, você pode alterar o formato do vídeo. Você pode escolher a cor de fundo, que por padrão é preta. Digamos algo como laranja. Então, se eu salvar isso e executar novamente uma das minhas cenas, digamos que a mesma cena, ela deve ter um fundo laranja em vez de preto Ele disse que o arquivo de saída previsto não existe no local. Vamos ver o que aconteceu lá. Vamos entrar nessa pasta. E, por algum motivo, ele não entendeu esse arquivo. Mas já podemos ver que o fundo é laranja. Esta animação é reproduzida em um fundo laranja. Além disso, se a extensão principal da vista lateral não encontrar sua animação, você sempre poderá encontrá-la dentro desse local Onde quer que seu arquivo Python esteja, haverá uma pasta chamada mídia e, dentro dessa mídia, você entra nos vídeos, entra na demonstração principal e escolhe a resolução na qual renderiza e o vídeo estará lá a resolução na qual renderiza e o vídeo estará Agora, o fundo é laranja, é claro. Parece muito ruim, então vou mudar para preto. Pode mudar muitas coisas diferentes aqui que eu não vou abordar e que não revisei no passado porque simplesmente não precisava. Quando eu faço vídeos com Nim. Eu só deixo uma opção aqui, que é essa qualidade igual a quatro K. O que eu geralmente faço é excluir tudo exceto a qualidade igual a quatro K, e deixar apenas a CLI e a qualidade é igual a quatro K, o que renderiza todas as minhas animações com uma qualidade de quatro K nítida , exceto a qualidade igual a quatro K, e deixar apenas a CLI e a qualidade é igual a quatro K, o que renderiza todas as minhas animações com uma qualidade de quatro K nítida e agradável. Se você quiser alterá-la de volta para dez ADP em vez de quatro K, você pode dizer alta qualidade de sublinhado, que acredito que mudará de volta para dez Se eu jogar isso, ele deve gerar essa animação com resolução de dez ADP. Sim, se eu clicar nessa seta ao lado de Detalhes na visualização lateral do num, poderei ver o arquivo de saída. E eu posso ver que está abaixo de dez DP, que significa que a alta qualidade é dez ADP e a qualidade de quatro K é a qualidade de quatro K. Vou mudar de ideia para a qualidade de quatro K. Além disso, você pode criar um arquivo CFG para cada arquivo Python com o qual estiver trabalhando Você não precisa dizer que todos os seus projetos no futuro terão quatro K Quality ou algum tipo de configuração. Dentro do arquivo num CFG. Você pode criar um novo arquivo CFG com cada arquivo Python criado no seu computador 73. Conclusão: Esse é o fim deste curso. Examinamos todos os fundamentos e a maioria dos conceitos necessários para começar a criar lindas animações de manim Se há uma coisa que espero que você entenda é que você realmente precisa sujar as mãos. Experimente o código e tente criar algo sozinho para aprender e reter melhor as informações. É isso que estou encorajando você a fazer. Instale o Nim, configure por meio de código e crie código. Aprenda. A melhor maneira de aprender é fazendo você mesmo. A descarga de dopamina que você tem quando encontra um erro Em seguida, pesquise em todo o Google, leia, stack overflow ou no site da comunidade manim para saber como corrigi-lo E você finalmente descobre isso reunindo três comentários encontrados em três sites diferentes A sensação é incrível e incentiva você a criar animações melhores e mais bonitas Pelo menos é assim que funciona para mim. Então, obrigado novamente por embarcar nessa jornada comigo e espero ver você em um dos meus outros cursos