A princípio, para definir meus módulos e como era feito o logo, eu fui no site da google procurar algo sobre o logotipo.. porém eles não tem um "manual" propriamente dito de criação, eles apenas disponibilizam a logotipo em um arquivo editável. Curioso com a forma de criação da logo, eu resolvi tentar me comunicar com a criadora original, a russa Irina Blok, que junto com a equipe de design da google, foi a responsável principal da criação do logo. Então mandei um e-mail para ela perguntando se ela havia usado formas geométricas e matemática na criação do logo... sem muitas esperanças, porém um tempo depois ela me respondeu.
![]() |
| Primeiro e-mail trocado com a criadora da logo. |
![]() |
| Segundo e-mail trocado com a criadora da logo. |
Então ela me diz que não usou matemática nenhuma para fazer a logo, que as decisões foram feitas visualmente. O que faz com que as medidas da logo tenham valores não muito simétricos, porém não significa que as formas não podem se ligar de alguma maneira.
Utilizando basicamente, círculos e retângulos na figura original, eu consegui achar outras figuras geométricas que se formavam na junção das duas formas principais... consegui estabelecer alguns trapézios e triângulos. Foi usado também diagonal do retângulo para estabelecer o tamanho das antenas.. etc.
Por exemplo:
o retângulo que forma o braço é a base menor de um trapézio retângulo (lado AD), que é igual a: lado AD = R*4;
a distância entre o braço e a esfera da cintura pode ser utilizada a fórmula da distância entre dois pontos:
DC = (AB)² - (BC - AD)³
a distância entre os braços e a cintura e a cintura e a cabeça é o valor do r (raio do olho).
a distância entre as duas extremidades dos olhos define o meio do desenho e o outro lado são basicamente as mesmas formas, só irá mudar o valor das coordenadas.
As coordenadas (x e y) de cada ponto vão ajudar a você estabelecer essas distâncias entre pontos das figuras... após a figura ser divida em módulos.
Para essa divisão de módulos, eu escolhi criar um tela 800x800 e dividir ela igualmente em 15 módulos de valor 50. Após isso eu escolhi meu ponto inicial... e determinei os módulos de cada parte da imagem.. isso vai me ajudar no desenvolvimento do aplicativo que é de recriar o logotipo da Android sem utilizar números específicos, assim se a pessoa quiser criar um logotipo em qualquer coordenada, ou de qualquer tamanho, será possível.
O código:
para a criação do código eu usei apenas as funçoes rect(), arc(), line() e ellipse() e assim criei todas as partes que juntas, formariam o desenho do robô.
int mod = 50; void setup(){ size(800,800); } void draw(){ background(0); desenhaCorpo(250,307,mod); antenas(250,307, mod); } void desenhaCorpo (float x, float y, float modulo){ //cabeça noStroke(); fill(151,199,24); arc(x + 3.07*modulo, y - 0.2*modulo, 6.14*modulo, 6.14*modulo, PI, 2*PI, OPEN); //olhos fill(255); ellipse(x + 1.66*modulo, y - 1.62*modulo, 0.52*modulo, 0.52*modulo); ellipse(x + 4.48*modulo, y - 1.62*modulo, 0.52*modulo, 0.52*modulo); //pontas das antenas fill(151,199,24); ellipse(x + 1.12*modulo, y - 3.64*modulo, 0.16*modulo, 0.16*modulo); ellipse(x + 5.02*modulo, y - 3.64*modulo, 0.16*modulo, 0.16*modulo); //braço esquerdo fill(151,199,24); ellipse(x + 7.1*modulo, y + 0.58*modulo, 1.4*modulo, 1.4*modulo); ellipse(x + 7.1*modulo, y + 3.42*modulo, 1.4*modulo, 1.4*modulo); rect(x + 6.4*modulo, y + 0.58*modulo, 1.4*modulo, 2.8*modulo); //cintura rect(x, y, 6.14*modulo, 4.52*modulo); ellipse(x + 0.7*modulo, y + 4.5*modulo,1.4*modulo, 1.4*modulo); ellipse(x + 5.44*modulo, y + 4.5*modulo, 1.4*modulo, 1.4*modulo); rect(x + 0.7*modulo, y + 4.5*modulo, 4.74*modulo, 0.7*modulo); //braço direito ellipse(x - 0.96*modulo, y + 0.58*modulo, 1.4*modulo, 1.4*modulo); ellipse(x - 0.96*modulo, y + 3.42*modulo, 1.4*modulo, 1.4*modulo); rect(x - 1.66*modulo, y + 0.58*modulo, 1.4*modulo,2.8*modulo); //pernas rect(x + 1.22*modulo, y + 4.5*modulo, 1.4*modulo, 2.2*modulo); rect(x + 3.52*modulo, y + 4.5*modulo, 1.4*modulo, 2.2*modulo); ellipse( x + 1.92*modulo, y + 6.7*modulo, 1.4*modulo, 1.4*modulo); ellipse( x + 4.22*modulo, y + 6.7*modulo, 1.4*modulo, 1.4*modulo); } void antenas(float x, float y, float modulo){ strokeWeight(round(0.16*modulo)); stroke(151,199,24); line(x + 1.12*modulo, y - 3.64*modulo, x + 1.66*modulo, y - 2.74*modulo); line(x + 5.02*modulo, y - 3.64*modulo, x + 4.48*modulo, y - 2.74*modulo); }
Resultado Final:






Nenhum comentário:
Postar um comentário