diff --git a/images/projects/arcade/arcade.png b/images/projects/arcade/arcade.png new file mode 100755 index 0000000..b10d872 Binary files /dev/null and b/images/projects/arcade/arcade.png differ diff --git a/images/projects/building-a-keyboard/keyboard-cover.png b/images/projects/building-a-keyboard/keyboard-cover.png new file mode 100644 index 0000000..4ec89d3 Binary files /dev/null and b/images/projects/building-a-keyboard/keyboard-cover.png differ diff --git a/images/projects/exploring-camera-matching-with-blender-and-fspy/background-min.jpg b/images/projects/exploring-camera-matching-with-blender-and-fspy/background-min.jpg new file mode 100755 index 0000000..9218fda Binary files /dev/null and b/images/projects/exploring-camera-matching-with-blender-and-fspy/background-min.jpg differ diff --git a/images/projects/exploring-camera-matching-with-blender-and-fspy/pikmin-final-edit.webp b/images/projects/exploring-camera-matching-with-blender-and-fspy/pikmin-final-edit.webp new file mode 100755 index 0000000..7675c42 Binary files /dev/null and b/images/projects/exploring-camera-matching-with-blender-and-fspy/pikmin-final-edit.webp differ diff --git a/images/projects/exploring-camera-matching-with-blender-and-fspy/render-output.png b/images/projects/exploring-camera-matching-with-blender-and-fspy/render-output.png new file mode 100755 index 0000000..6a74233 Binary files /dev/null and b/images/projects/exploring-camera-matching-with-blender-and-fspy/render-output.png differ diff --git a/images/projects/exploring-camera-matching-with-blender-and-fspy/tracking-plane-min.jpg b/images/projects/exploring-camera-matching-with-blender-and-fspy/tracking-plane-min.jpg new file mode 100755 index 0000000..a171c91 Binary files /dev/null and b/images/projects/exploring-camera-matching-with-blender-and-fspy/tracking-plane-min.jpg differ diff --git a/images/projects/exploring-camera-matching-with-blender-and-fspy/viewport.webp b/images/projects/exploring-camera-matching-with-blender-and-fspy/viewport.webp new file mode 100755 index 0000000..4c108ac Binary files /dev/null and b/images/projects/exploring-camera-matching-with-blender-and-fspy/viewport.webp differ diff --git a/images/projects/scout-webapp/cover-webapp.png b/images/projects/scout-webapp/cover-webapp.png new file mode 100644 index 0000000..dff1e33 Binary files /dev/null and b/images/projects/scout-webapp/cover-webapp.png differ diff --git a/images/projects/volibear-wallpapers/ultimate-viewport-min.webp b/images/projects/volibear-wallpapers/ultimate-viewport-min.webp new file mode 100755 index 0000000..8b7cdd7 Binary files /dev/null and b/images/projects/volibear-wallpapers/ultimate-viewport-min.webp differ diff --git a/images/projects/volibear-wallpapers/volibear-sky-splitter-min.png b/images/projects/volibear-wallpapers/volibear-sky-splitter-min.png new file mode 100755 index 0000000..2a17a7d Binary files /dev/null and b/images/projects/volibear-wallpapers/volibear-sky-splitter-min.png differ diff --git a/images/projects/volibear-wallpapers/volibear-ultimate-min.png b/images/projects/volibear-wallpapers/volibear-ultimate-min.png new file mode 100755 index 0000000..43647e2 Binary files /dev/null and b/images/projects/volibear-wallpapers/volibear-ultimate-min.png differ diff --git a/images/teste-1.png b/images/teste-1.png old mode 100644 new mode 100755 diff --git a/images/viniciusalucas-qr-code.ico b/images/viniciusalucas-qr-code.ico old mode 100644 new mode 100755 diff --git a/index.html b/index.html old mode 100644 new mode 100755 index 4466720..a5f62f7 --- a/index.html +++ b/index.html @@ -26,7 +26,10 @@
- +
+ +

06/2025

+

Um webapp de análise de competições de robótica

+ +
+ - - - - +

Próximos projetos

- - - + -

About me

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. - Iure odit temporibus corporis tempora recusandae omnis. In - velit quas porro dicta magnam obcaecati. Dicta libero - perspiciatis esse excepturi at inventore quos! -

+ diff --git a/projects/exploring-camera-matching-with-blender-and-fspy.html b/projects/exploring-camera-matching-with-blender-and-fspy.html old mode 100644 new mode 100755 index 182b21c..175becf --- a/projects/exploring-camera-matching-with-blender-and-fspy.html +++ b/projects/exploring-camera-matching-with-blender-and-fspy.html @@ -22,40 +22,93 @@
- -

Title

-

Tags | 00/00/0000

+ Capa da pagina, exibindo o viewport 3D do Blender, contendo uma pré-visualização do projeto gráfico +

Explorando camera matching usando o Blender e Fspy

+

10/2023

- You were not supposed to be reading this, but it is kinda - funny that you found the base index.html that I use to write - these posts! Send me a screenshot of here to me using this - address: + Uma fas formas mais interessantes de produção gráfica + fazendo o uso de recursos digitais é o camera matching. + Neste processo, uma fotografia tem a sua perspectiva + analisada e reconstruída digitalmente para que novos + elementos sejam adicionados na pós-produção, de maneira fiel + e presente ao ambiente da imagem. +

+ +

+ O Blender é um software open-source, feito para a + manipulação geral de objetos 3D, e inclui múltiplas + funcionalidades para modelagem, animação e composição, sendo + uma ferramente extremamente poderosa e flexível para + diversos processos de criação gráfica e simulação + tridimensional. +

+ +

+ Assim como o Blender, o Fspy também é um programa de código + aberto, mas este possui um propósito mais específico. Ao + importar uma imagem no Fspy, ele permite que as linhas de + perspectiva da imagem sejam manualmente traçadas pelo + usuário, com o objetivo de exportar ao Blender as + configurações de ângulo, posição e distância focal. Ao + importar as configurações da câmera, o ambiente 3D se alinha + perfeitamente com a fotografia original, permitindo os + efeitos de composição de elementos. +

+ +

+ Um dos primeiros testes que fiz consiste em uma fan-art do + Pikmin, um jogo desenvolvido e lançado pela Nintendo para o + Gamecube, que fiz tentando replicar o estilo da capa do + disco jogo. +

+ +

+ Cada uma das imagens representa uma etapa, e na sequência, + elas representam a fotografia original, a tag de referência + de alinhamento, o ambiente 3D e a renderização final:

- - - - - + Fotografia original utilizada no projeto, consiste em uma foto de um pequeno canteiro de plantas coberto, com a perspectiva rente ao chão e em direção ao toldo do local + Fotografia do mesmo local, mas com a pequena de tag de referência de ângulo ao chão + Imagem do projeto 3D rodando dentro do Blender, exibindo a interface do programa, assim como a pré-visualização dos modelos em cena + Saída da imagem gerada pelo Blender, sem tratamentos adicionais

- You were not supposed to be reading this, but it is kinda - funny that you found the base index.html that I use to write - these posts! Send me a screenshot of here to me using this - address: + Ao processar todas estas imagens e editá-las, este foi o + resultado

+ +
diff --git a/projects/webapp-for-scouting.html b/projects/webapp-for-scouting.html new file mode 100755 index 0000000..5f67a29 --- /dev/null +++ b/projects/webapp-for-scouting.html @@ -0,0 +1,79 @@ + + + + + + + + + + + + Webapp for scouting | Vinícius Alexandre Lucas + + + +
+
+ +

+ Criando um webapp para análise de partidas em competições de + robótica +

+

06/2025

+
+ +
+

+ Dentro de competições de robótica realizadas pela FIRST + envolvem centenas de equipes em todas as temporadas, com o + objetivo de ver quem consegue ter a melhor estratégia para + os desafios impostos aos robôs. O principal valor dentro das + competições é o "Gracious Professionalism", que induz o + respeito e a colaboração entre as equipes, mesmo que estejam + competindo entre si. +

+ +

+ Cada time permanece em uma rotação entre cada lado da arena, + dividida entre a aliança vermelha e azul. As equipes são + sorteadas préviamente e inseridas nestas áreas para as + partidas, com o intuito de cooperar com as demais equipes do + seu lado. Periodicamente, equipes opostas podem ser suas + aliadas em uma próxima partida, e por isso o respeito é tão + importante. +

+ +

+ Ao considerar que nas finais é necessário formar uma aliança + fixa, é crucial entender de maneira extensiva as capacidades + e limites da própria equipe, assim como os potenciais de + todas as outras. A proposta do webapp é criar um ambiente + unificado para a coleta e visualização dos dados objetivos + de todas as equipes em cada uma destas partidas, permitindo + que estes sejam compilados e comparados para ajudar na + decisão de formação de alianças. +

+ +

+ O sistema contém 4 páginas principais, a home, que exibe o + histórico de envios de análises recentes, o compositor de + regras, que permite a criação dos formulários a serem + respondidos, o escritor, que exibe o formulário em si a ser + respondido, e a página de análise, que exibe os dados + registrados pelas análises. +

+
+ + +
+ + diff --git a/styles/fonts.css b/styles/fonts.css old mode 100644 new mode 100755 index f76cd4d..6c82193 --- a/styles/fonts.css +++ b/styles/fonts.css @@ -1,9 +1,10 @@ @import url("https://fonts.googleapis.com/css2?family=Funnel+Display:wght@300..800&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Host+Grotesk:ital,wght@0,300..800;1,300..800&display=swap"); h1, h2, h3, -p, +h4, button { font-family: "Funnel Display", @@ -24,3 +25,24 @@ button { line-height: 100%; color: var(--icone-texto); } + +p { + font-family: + "Host Grotesk", + system-ui, + -apple-system, + BlinkMacSystemFont, + "Segoe UI", + Roboto, + Oxygen, + Ubuntu, + Cantarell, + "Open Sans", + "Helvetica Neue", + sans-serif; + font-style: normal; + font-weight: 400; + margin: 0; + line-height: 130%; + color: var(--icone-texto); +} diff --git a/styles/main.css b/styles/main.css old mode 100644 new mode 100755 index 90990c5..3b9088c --- a/styles/main.css +++ b/styles/main.css @@ -58,10 +58,20 @@ section { h2 { font-size: 2.5rem; font-weight: 300; + background-color: var(--background); + color: var(--icone-texto); + padding: 0.25rem 0.5rem; + border-radius: 0.25rem; + width: fit-content; } h3 { font-size: 1.5rem; + background-color: var(--background); + color: var(--icone-texto); + padding: 0.125rem 0.375rem; + border-radius: 0.25rem; + width: fit-content; } &:hover { @@ -78,6 +88,14 @@ section { transform: scale(0.95); } } + + h4 { + font-size: 4rem; + } + + p { + font-size: 2rem; + } } } @@ -176,13 +194,31 @@ header { padding: 1.5rem; h2 { - font-size: 2rem; + font-size: 1.5rem; + background-color: var(--background); + color: var(--icone-texto); + padding: 0.25rem 0.5rem; + border-radius: 0.25rem; + width: fit-content; } h3 { - font-size: 1.25rem; + font-size: 1rem; + background-color: var(--background); + color: var(--icone-texto); + padding: 0.125rem 0.375rem; + border-radius: 0.25rem; + width: fit-content; } } + + h4 { + font-size: 3rem; + } + + p { + font-size: 1.625rem; + } } } diff --git a/styles/projects.css b/styles/projects.css old mode 100644 new mode 100755 index 7fbe5e2..fed0007 --- a/styles/projects.css +++ b/styles/projects.css @@ -25,21 +25,38 @@ section { width: 60%; h1 { - font-size: 4rem; + font-size: 2.5rem; } h2 { - font-size: 2.5rem; + font-size: 2rem; + } + + p { + font-size: 1.5rem; + margin-bottom: 1rem; + } +} + +header { + img { + width: 100%; + height: auto; + aspect-ratio: 4/3; } } img { width: 100%; - aspect-ratio: 4/3; + height: auto; + align-self: center; border-radius: 1.25rem; background-color: var(--card); border: solid 0.125rem #20202040; box-sizing: border-box; + + object-fit: cover; + object-position: center; } div { @@ -53,9 +70,10 @@ div { scroll-padding: 20%; img { + width: auto; + height: 42rem; flex-shrink: 0; - width: 60%; - aspect-ratio: 4/3; + scroll-snap-align: start; scroll-snap-stop: always; @@ -132,13 +150,18 @@ footer { h2 { font-size: 2rem; } + + p { + font-size: 1.25rem; + margin-bottom: 1rem; + } } div { scroll-padding: 1rem; img { - width: calc(100% - 2rem); - flex-shrink: 0; + width: 80%; + height: auto; &:first-child { margin-left: 1rem; diff --git a/styles/reset.css b/styles/reset.css old mode 100644 new mode 100755 diff --git a/styles/root.css b/styles/root.css old mode 100644 new mode 100755