quinta-feira, 16 de maio de 2019

Construindo a caneca perfeita!

Que tal modelar uma caneca personalizada no TinkerCad, mas que nela possam ser colocados exatos 300 mililitros de líquido e que possua exatos 10 centímetros de altura, pois se ela tiver uma altura maior, não conseguirei guardar ela na prateleira. Vamos resolver esse desafio?
Para resolver esse problema precisaremos usar um pouco de Matemática para poder calcular o volume interno da caneca que iremos modelar. Sabemos que 1 m³ equivale a 1000 litros, logo calculando a regra de três, saberemos que 300 ml equivale a 0,0003 m³.


Agora, vamos utilizar a fórmula do calculo de volume do cilindro (afinal uma caneca tem o formato de um cilindro) para encontrar o valor do diâmetro que utilizaremos na modelagem 3D. Atenção para o detalhe, que a fórmula do volume vai nos trazer o valor do raio (que é a metade do diâmetro) e em metros, e precisaremos fazer algumas transformações de medidas para obter o valor em milímetros que é a unidade usada no TinkerCad:


Perceba, que caso você tivesse um valor de raio (ou diâmetro) e quisesse encontrar a altura da caneca também seria possível, apenas faria as substituições necessárias na fórmula de calculo de volume do cilindro. Agora é só aplicar esses valores na construção de um cilindro (com retirada de volume) no TinkerCad e construir um cilindro maior ao redor e os adereços para deixar a caneca bem estilosa.


Por hoje foi isso. Deixe nos cometários abaixo as fotos das suas canecas estilizadas e até a próxima!

segunda-feira, 6 de maio de 2019

Construindo um personagem para o seu jogo de tabuleiro.

Criar personagens para jogos ou histórias pode ser feito de diversas formas: 2D (como se fossem fichas) ou 3D (bonecos), dentre outras possibilidades. Hoje vamos utilizar  as planificações de cubos e paralelepípedos para construir um personagem (que carinhosamente chamei de Mathkito) em 3D para utilizar um um jogo de tabuleiro.


Para construir o Mathkito (que se encontra disponível em: https://drive.google.com/drive/folders/13zEiHEqQLMxv_W5Hz4nO9c_ehq0AZQxH?usp=sharing) foi utilizado o software de desenho vetorial 2D Inkscape. Usando a opção Extensões/Renderizar/Caixa Dobrável, você pode construir cubos e paralelepípedos com as dimensões de altura, largura e profundidade escolhidas por você: 


Além disso, é possível desenhar detalhes, pintar e até mesmo usar recorte de outras imagens, tudo isso no próprio Inkscape. No meu caso, coloquei detalhes mínimos e deixei para desenhar as expressões faciais posteriormente.
Mas e o que aprendemos de Matemática? Com a utilização desse recurso, aprendemos sobre a planificação de cubos e paralelepípedos e uso de medidas de comprimento. Infelizmente o Inkscape não constrói outros sólidos regulares, mas caso você queira pode construir eles manualmente de modo a complementar suas criações:


Por hoje foi isso. Deixe nos comentários as fotos dos seus personagens construídos e suas aprendizagens fabricando eles. Até a próxima! 

quinta-feira, 2 de maio de 2019

Um objeto 3D que é formado por placas 2D? A magia do fatiamento.

Você já ouviu falar das curvas de nível? Elas podem ser entendidas como linhas imaginárias que unem todos os pontos de igual altitude de uma região representada. Mas porque estamos falando disso? Porque existe uma incrível Matemática presente nessa estrutura e que vamos aplicar seu uso para todo e qualquer objeto 3D e que iremos denominar como fatiamento (slicer em inglês).


Como podemos ver acima, utilizamos um arquivo STL (uma esfínge) carregado no Slic3r e foi modificado o valor de Layer para 3 mm que é o tamanho da chapa em MDF, que será utilizada no corte e também precisou ser modificado o tamanho de extrusão do Nozzle de modo a "permitir" que esse objeto seja impresso cortado com camadas de 3 mm (está destacado as alterações na figura abaixo em verde). Esse truque é necessário para você possa usar a opção "Slice for SVG ..." (destacado em vermelho) que está em "File" que exporta um arquivo SVG necessário para o corte a laser com as camadas fatiadas.


Agora com o arquivo em SVG, vamos usar o InkScape para tratar as imagens fatiadas que irão compor  um arquivo final em SVG (como o abaixo) que poderá ser cortado em uma laser ou na tesoura mesmo (usar papelão):


Para chegar nesse resultado (que você pode baixar o arquivo do seguinte link: https://drive.google.com/drive/folders/142SJ2foL4frzVeYBQ8BGDGLt8SWgXNtS?usp=sharing) será necessário você aplicar um contorno (aperte Shift + Ctrl + F para ativar a opção) pois todos os fatiamentos vem sem nenhum contorno ou coloração e você pode aplicar tudo de uma só vez, basta selecionar todas as imagens. Em seguida, você vai separando as imagens que vem uma em cima da outra e as distribuindo dentro da área de desenho (lembrando que ela deve ser igual ao tamanho da sua chapa de MDF ou papelão). Recomendo fortemente a deixar elas sequenciadas para corte ou se precisar aproveitar a área de corte, que deixe indicações para não perder a sequência das imagens de fatiamento.
Agora falando um pouco da Matemática presente nessa construção. Lembra do seu professor de Matemática comentando sobre corte de secção em objetos 3D? Pois bem, fizemos isso hoje, só que foram vários cortes sequenciados com a mesma espessura e em objetos tridimensionais mais complexos do que os simples sólidos que são trabalhados em sala de aula:


Por meio desse corte de secção temos as mais diferentes aplicações usadas em engenharia (cortes estruturais presentes em plantas de prédio e casas), medicina (cortes anatômicos) e conforme já mencionado na Geologia (topografia de terrenos). Incrível, não é mesmo? E você, que tipos de figuras você gostaria de fatiar para conhecer melhor sua estrutura e propriedades? Deixe nos comentários suas produções e nos vemos na próxima atividade.

terça-feira, 16 de abril de 2019

Construindo o seu RPG de Mesa: equilíbrio em valores de batalha.

Continuando a série de posts sobre como Construir um RPG de Mesa (https://vemfazermatematicaegames.blogspot.com/2019/04/construindo-seu-rpg-de-mesa-elaborando.html) vamos problematizar em como construir um RPG de mesa com equilíbrio em valores de batalhas.
Imagine você um player extremamente azarado que tira muito mais valores de 5 a 9 do que valores altos como 15 ou 20 no dado D20, tentando sobreviver na floresta. E você foi justamente o premiado a catar lenha, sendo que depois de 5 dados que rolaram respectivamente 5, 9, 1, 14 e 10 e você morreu de cansaço porque sua estamina é de no máximo 10 e você perdeu 11 de estamina. Super legal, só que não!
Quando você cria uma missão precisa levar em conta situações em que o resultado dos dados pode ferrar ou facilitar sua vida (se quiser saber mais, acesse o link que fala sobre probabilidade: https://mundoeducacao.bol.uol.com.br/matematica/definicoes-basicas-probabilidade.htm) e fazer uma correlação dos poderes do personagem contra o que é cobrado na missão e seus resultados, conforme o esquema abaixo:


Uma saída mostrada acima é trabalhar todos os desafios como valores de X (valores generalizados que não importa o valor dado ao personagem, os demais desafios irão respeitar as regras matemáticas impostas), no qual sempre vai ser levado em conta o valor X da vida do jogador e uma fração do mesmo é retirada ou bonificada de acordo com o que saí no dado D20 (caso você use outro tipo de dado precisa fazer relação das faixas de valores do dado). 
Note que podemos ter duas abordagens, considerar o valor de X sempre como a vida inicial do jogador, que inclusive permite que o jogador morra mesmo sem ter valores nos dados relacionados as penalidades (considere o caso da missão fácil e 10 vezes seguidas obter um valor de dado entre 5 e 12), ou o segundo caso, em que o X vai ser a nova vida do jogador logo antes do combate e isso gera uma situação infinita (pesquise sobre o que é a definição de limite: https://mundoeducacao.bol.uol.com.br/matematica/limite-1.htm e você entenderá o contexto desse "infinito") na qual só é possível morrer com valores de dados relacionados diretamente as penalidades.
Esses cálculos de batalha podem ser anotados em uma ficha personalizada como a mostrada abaixo ou ainda, você pode construir um aplicativo que faça esses cálculos (conforme o post: https://vemfazermatematicaegames.blogspot.com/2018/11/a-matematica-em-uma-batalha-de-rpg.html):

Finalizando, construir um RPG de mesa pode extrapolar o que foi proposto aqui, podendo ter mais ou menos opções, mas a grande satisfação em construir o seu RPG de mesa é inigualável. Agora é com você! Construa seu RPG de Mesa e jogue com seus amigos. Não esqueça de deixar o link do seu projeto nos comentários abaixo para que mais pessoas possam jogar ele também. Até a próxima!

segunda-feira, 15 de abril de 2019

Construindo seu RPG de Mesa: elaborando as possibilidades no roteiro e regras.

No post anterior (https://vemfazermatematicaegames.blogspot.com/2019/04/construindo-o-seu-rpg-de-mesa-o.html) trabalhamos na construção do tabuleiro do nosso RPG de Mesa. Hoje iremos avançar na roteirização e quais regras estarão atreladas as escolhas do jogador. Em primeiro lugar é interessante construir o fluxograma de eventos que podem acontecer no seu RPG de Mesa. Lembrando que estamos continuando a construção a partir do tablado desenvolvido no post anterior, do qual os arquivos se encontram em: https://drive.google.com/drive/folders/1wymj4-RzBQaZpHAdxcLCBsuRFWeP3yAG?usp=sharing.


Com base nesse fluxograma, existem diversas possibilidades (encontros) que podemos ter uma noção abaixo:
  • Vila Inicial: ponto inicial onde os heróis começam e devem decidir seus atributos e qual caminho irão seguir. Trabalho em equipe sempre é crucial. Também é apresentada a missão de derrotar o Rei que rouba dos ricos e dos pobres e fica ainda mais rico! É uma questão de honra derrotá-lo e iniciar uma nova era de esperança para o povo.
  • Sobrevivendo na Floresta: andar por uma floresta sempre é complicado, agora passar uma noite é pior ainda. Diversos desafios o aguardam.
  • Atravessando o rio: rios apresentam inúmeros perigos, correnteza, são extremamente fundos e podem ter uns peixinhos famintos!? Será possível construir uma jangada para superar esses desafios?
  • Pela estrada a fora: dizem que entre escolher o certo ou o duvidoso, o bom negócio é ir pela estrada limpa, porém longa e exaustiva. Você está preparado?
  • Animais Selvagens e a força da natureza: se uma floresta já não bastasse como desafio, que tal o sobreviver a uma alcateia faminta de lobos ou aqueles falcões só esperando pela oportunidade perfeita.
  • Piratas? E agora?: se você achou sua jornada difícil até agora, uma surpresa desagradável o espera: Piratas! E eles são conhecidos como os Loucos do Riozinho!
  • Montanhas desafiadoras: chega uma hora da sua jornada que você decide tomar um ar mais fresco e ter uma visão privilegiada do que está por vir. As montanhas Descanso Eterno vai ser uma escolha que vai transformar sua jornada.
  • Outra noite na floresta: todo o percurso da jornada está fazendo você ficar mais cansado, porém mais experiente. Será que essa experiência será um fator decisivo ao passar uma outra noite em uma floresta?
  • A ilha perdida: durante a sua navegação você vê no horizonte uma ilha não listada no mapa. Teria ela algum tesouro ou um desafio do qual você nunca mais volte? (bônus secreto contra guarda da luz)
  • O pico do mundo: tanto tempo se passou desde que decidiu subir as montanhas Descanso Eterno, mas que a visão privilegiada e uma situação inusitada irão compensar tudo. (bônus secreto contra guarda da luz)
  • Construindo uma ponte: você vagou pela floresta e finalmente ao sair dela se deparou com um estreitamento do rio. Valeria a pena construir uma ponte e estar mais perto do grande objetivo?
  • Uma chuva de pedras: se quando você decidiu ir pela estrada achou que seria seguro do começo ao fim, se enganou redondamente: uma avalanche de pedras vinda do topo das Montanhas Descanso Eterno. Hora de sobreviver a esse teste! 
  • Mortos-vivos!? E agora?: parecia ser apenas mais um cemitério normal, mas aqueles monstros saindo da tumba já anunciaram a catástrofe: hora de se defender de mortos-vivos! (bônus secreto contra guarda morto-vivo)
  • A vila dos ladinos: ao redor do castelo está a vila replena de... patifes! Você mal pisou e já teve algo roubado, agora é hora de recuperar o que foi perdido ou tentar não ser roubado de novo! 
  • Quanto mais longo, pior!: Disseram que a estrada era segura? Só esqueceram de dizer que é impossível de completar ela sem recursos e você literalmente indo pra cova. Como sobreviver a esse extremo?
  • A guarda-imperial: entrar no castelo não é uma tarefa fácil, principalmente porque na porta de entrada está os dois guardiões do Rei: o  morto-vivo Laiter e o paladino da luz Trevis. Embora eles não se gostem muito, atacam como se fossem a melhor dupla do mundo. Vai ser preciso uma grande experiência e talvez uma carta na manga para poder derrotá-los. (uso dos bônus adquiridos)
  • O Rei: conhecido apenas por poucos e com habilidades misteriosas que o mantiveram no poder até agora. Existem lendas que ele pode ler pensamentos e esquivar de ataques. Será que você é capaz de terminar a sua jornada e se consagrar como O Herói!?
Cada um desses encontros pode ser melhor detalhado, conforme um exemplo de carta, que é mostrado abaixo:


Na primeira carta (mais a esquerda) apresenta-se a situação geral de um encontro que está listado no fluxograma descrito acima. Nessa carta irá constar missões necessárias para poder passar para o próximo encontro. Na carta ao lado (mais a direita), está descrita uma das missões e o que acontece quando é rolado o dado D20 em intervalos de valor. Note que vai ser muito importante estruturar os números de vida, poder e de combates com um bom balanceamento para evitar que os heróis fiquem fortes ou fracos demais até chegar ao fim da jornada (esse balanceamento iremos ver alguns detalhes no próximo post) e sua relação com os resultados obtidos com os dados D20. Note como o uso da probabilidade e de noções de equilíbrio numérico serão fortemente usadas. A partir desses modelos é possível construir todas as outras cartas (os exemplos em SVG estão no link listado acima) e imaginar situações, que claro vai ficar por sua conta. No próximo post, vamos falar sobre valores de batalha e como o dado D20 influencia na progressão do jogo. Até a próxima!

sexta-feira, 12 de abril de 2019

Construindo o seu RPG de mesa: o tabuleiro.

Um RPG de mesa pode ser considerado um game de interpretações cuja as escolhas e acontecimentos podem estar vinculados ao uso de dados (D20 na maioria das situações). Nos registros oficiais, o primeiro RPG lançado foi o Dungeons & Dragons (masmorras e Dragões), em 1974. Ele deu origem a diversos outros games nessa perspectiva e inclusive ao famoso desenho Caverna do Dragão. 


Agora, construir o seu próprio RPG de mesa é algo único e especial, que apresenta diversos desafios e que claro, tem muita Matemática. E é isso que será abordado nessa série de posts. Hoje em especial, a criação e caracterização do tablado com a presença dos heróis e vilões.
Quando se começa do zero, é importante ter uma ferramenta de desenho vetorial (aqui usaremos o InkScape) para que possa-se fazer posteriores alterações e melhoramentos (paint tá proibido, viu!). O tablado deve possuir um começo para os heróis, uma série de desafios e um grande objetivo final. Na imagem abaixo, você pode conferir alguns desses elementos:


Os heróis iniciam no vilarejo no canto inferior esquerdo e devem seguir sua jornada até chegar no castelo onde existe o chefão que devem derrotar. Pelo caminho, podem encontrar diversos desafios como: sobreviver em uma floresta, lutar contra piratas, escalar montanhas, atravessar rios, dentre outros. Esse tablado acima mostrado se encontra disponível no seguinte link com alguns outros arquivos de uso 2D e 3D: https://drive.google.com/drive/folders/1wymj4-RzBQaZpHAdxcLCBsuRFWeP3yAG?usp=sharing. Ele foi totalmente desenhado no InkScape exigindo alguns conhecimentos geométricos, mas ele pode ainda ser construído de uma maneira diferente: mesclando o 2D e o 3D.
Para a construção usando o 2D, que pode ser usada uma cortada a laser ou mesmo papelão ou EVA, além do próprio tablado, pode ser construído casas, castelos, árvores, montanhas (com cortes de nivelamento), dentre outras possibilidades. Ao modelar em 2D, além da Geometria Plana, tem as unidades de medida e a possibilidade de transformação do 2D para o 3D. No site do Thingiverse (https://www.thingiverse.com/) se você colocar as palavras chaves em inglês com o termo "lasercut" irá encontrar diversas possibilidades.


Para a construção usando o 3D, uma das únicas alternativas é o uso da impressora 3D, modelar personagens, vilões, animais selvagens, casas, castelos, dentre outros. Ao modelar em 3D você estará aprendendo diversos conceitos da Geometria Espacial e unidades de medida. Caso você não queira modelar em 3D usando o TinkerCad ou o OpenScad, use o site do Thingiverse com as palavras chaves em inglês e irá encontrar diversas opções diferentes.


Por hora é isso. No próximo post iremos abordar as diferentes possibilidades de um enredo e sua estrutura lógica de construção, bem como possíveis regras para que um RPG de mesa funcione corretamente. Até a próxima!

quarta-feira, 10 de abril de 2019

Pygame: Colisão entre objetos - Parte: 02

Conforme o post anterior (https://vemfazermatematicaegames.blogspot.com/2019/04/pygame-colisao-entre-objetos-parte-01.html) iniciamos uma programação para colisão de dois personagens. Entendemos como funciona a programação que utiliza os conceitos de distância entre dois círculos (Geometria Analítica), mas agora iremos entender como é realizado esse cálculo com um personagem que se movimenta pela tela.
Primeiramente observe a programação destacada abaixo:



Como podemos ver, temos a construção das variáveis "xmario" e "ymario"como a soma da posição em X e Y respectivamente mais o valor do raio (lembre que na distância foi utilizado uma "média para os valores de 45 e 65 com o valor de 50 e, isso ocorre por conta de uma circunferência que envolve o Mário que é uma forma mais elipsoide). Também temos a definição do "xcogumelo" e "ycogumelo" para a soma de valores de posição do cogumelo (500, 300) mais o valor de raio 128 (note que nesse caso não foi diferenciado valores para X e Y pois a própria forma do cogumelo se assemelha a uma circunferência).


Com o calculo da distância vamos comparar ponto a ponto os X e Y do Mário em relação ao Cogumelo e os casos que foram apresentados no post anterior serão verificados pela definição "colisão" (que nada mais é do que o cálculo de distância entre pontos quando ela fica menor do que 128 + 50):



Perceba que foi usado um "if" (se) para o caso em que existe colisão dos personagens (circunferências) em que se for exatamente em apenas um ponto (tangência entre as duas circunferências) irá ser desenhada na tela a posição atual do personagem, caso contrário (else ou senão), onde temos o personagem avançando mais do que deveria dentro do outro personagem (circunferências secantes ou mesmo internas) irá ser desenhado a posição do personagem anterior. Esse último acaba acontecendo pois como em X e Y nos movimentamos com valores de 5 em 5, a chance de termos uma tangência entre personagens (circunferências) é pequena e isso acaba dando a ilusão de que o personagem está batendo no outro, sem nunca avançar mais do que deveria.
Incrível o uso de toda essa Matemática só para descrever a colisão entre dois personagens, não é mesmo? Que tal adicionar umas ações para quando os personagens se colidem, ou até mesmo criar um game em que os dois personagens se movimentam pela tela e que o objetivo é um caçar o outro como se fosse um polícia e ladrão (que tal ser multiplayer)? Agora é com você e está nas suas mãos em ir ainda mais longe. Até a próxima!

Como não perder nenhum compromisso: Meu App Agenda

No nosso dia a dia a agenda é um instrumento de grande importância que as pessoas utilizam para fazer anotações de compromissos ou informaçõ...