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