Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <title></title>
- <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.16/p5.min.js"></script>
- <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.16/addons/p5.dom.min.js"></script>
- <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet"/>
- <style type="text/css">
- body{
- background-color:black;
- }
- canvas{
- position:absolute;
- margin-left:40%;
- }
- .inputDestaque{
- position:absolute;
- margin-left:5%;
- margin-top:10%;
- width:17%;
- background:white;
- }
- .inputFundo{
- position:absolute;
- margin-left:5%;
- margin-top:20%;
- width:17%;
- background:white;
- }
- .sliderSaturacao{
- -webkit-appearance:none;
- position:absolute;
- border:1px solid gray;
- margin-left:5%;
- margin-top:30%;
- height:4%;
- width:15%;
- }
- .sliderSaturacao::-webkit-slider-thumb{
- -webkit-appearance:none;
- border:1px solid black;
- height:40px;
- width:10%;
- background-color:black;
- }
- .tituloDestaque{
- position:absolute;
- font-family:'Roboto';
- font-size:1.5em;
- margin-left:5%;
- margin-top:8%;
- color:white;
- }
- .tituloFundo{
- position:absolute;
- font-family:'Roboto';
- font-size:1.5em;
- margin-left:5%;
- margin-top:18%;
- color:white;
- }
- .tituloSatFundo{
- position:absolute;
- font-family:'Roboto';
- font-size:1.5em;
- margin-left:5%;
- margin-top:28%;
- color:white;
- }
- .tituloOrientacao{
- position:absolute;
- margin-left:51%;
- margin-top:45%;
- color:white;
- font-size:1.2em;
- font-family:'Roboto';
- }
- </style>
- </head>
- <body>
- <script type="text/javascript">
- //variáveis NÃO modificaveis
- var xFinal;
- var xDireita;
- var yFinal;
- var xInicial;
- var yInicial;
- var ponto=0;
- var linhaVerticalD;
- var linhaVerticalE;
- var linhaHorizontal;
- var razaoEspessura;
- var corFundo = [200,50,72];
- var tituloCorDestaque;
- var tituloCorFundo;
- var tituloSatFundo
- var tituloOrientacao;
- var inputCorFundo;
- var inputCorDestaque;
- var sliderSaturacaoFundo;
- //variáveis modificáveis
- var corDestaque = 0; // varia de 0 a 360
- var orientacao = 1; // pode ser 1 para orientação a direita ou 0 para orientação a esquerda
- var matizFundo = 300; // varia de 0 a 360
- var saturacaoFundo = 30; // varia de 0 a 100
- function setup(){
- desenhaInterface();
- createCanvas(900,900);
- xFinal = width;
- yFinal = height;
- xInicial = 0;
- yInicial = 0;
- razaoEspessura = 1.25;
- linhaHorizontal = 12.5;
- colorMode(HSB);
- }
- function draw(){
- background(0);
- htmlFundo = hue(inputCorFundo.value());
- ponto=0;
- xDireita = xFinal;
- xEsquerda = 0;
- corFundo[0] = htmlFundo;
- corFundo[1] = sliderSaturacaoFundo.value();
- corDestaque = hue(inputCorDestaque.value());
- if(orientacao==1){
- linhaVerticalE = 0;
- linhaVerticalD = 23;
- }
- else{
- linhaVerticalE=23;
- linhaVerticalD=0;
- }
- for(let i=0; i<18; i++){
- desenhaQuadrados(i,orientacao);
- }
- xDireita = xFinal;
- xEsquerda = 0;
- if(orientacao==1){
- linhaVerticalE = 0;
- linhaVerticalD = 23;
- }
- else{
- linhaVerticalE=23;
- linhaVerticalD=0;
- }
- for(let i=0; i<18; i++){
- desenhaFundo(i,orientacao);
- }
- if(orientacao==1){
- fill(coloracao(corDestaque,17));
- rect(xDireita-linhaVerticalE-razaoEspessura,yInicial+2*linhaHorizontal*17.5,linhaVerticalE+razaoEspessura,2*linhaHorizontal);
- }
- else{
- fill(coloracao(corDestaque,17));
- rect(xEsquerda,yInicial+2*linhaHorizontal*17.5,linhaVerticalD+razaoEspessura*4,2*linhaHorizontal);
- }
- }
- function desenhaQuadrados(numero,orientacao){
- proporcoes(orientacao);
- strokeCap(SQUARE);
- strokeWeight(linhaHorizontal);
- stroke(coloracao(corDestaque,numero));
- //cima
- line(xEsquerda,yInicial+2*linhaHorizontal*numero,xDireita,yInicial+2*linhaHorizontal*numero);
- //baixo
- //stroke(corDestaque[0],corDestaque[1],corDestaque[2]);
- line(xEsquerda,yFinal-2*linhaHorizontal*numero,xDireita,yFinal-2*linhaHorizontal*numero);
- //esquerda
- strokeWeight(linhaVerticalE);
- //stroke(corDestaque[0],corDestaque[1],corDestaque[2]);
- line(xEsquerda+linhaVerticalE/2,yInicial+2*linhaHorizontal*numero,xEsquerda+linhaVerticalE/2,yFinal-2*linhaHorizontal*numero);
- //direita
- strokeWeight(linhaVerticalD);
- //stroke(corDestaque[0],corDestaque[1],corDestaque[2]);
- line(xDireita-linhaVerticalD/2,yInicial+2*linhaHorizontal*numero,xDireita-linhaVerticalD/2,yFinal-2*linhaHorizontal*numero);
- strokeWeight(0);
- }
- function desenhaFundo(numero,orientacao){
- proporcoes(orientacao);
- if (numero<9){
- //corFundo[1] += 12;
- corFundo[2] -= 10;
- }
- else{
- //corFundo[1] -= 12;
- corFundo[2]+=10;
- }
- stroke(corFundo[0],corFundo[1],corFundo[2]);
- //cima
- strokeWeight(linhaHorizontal);
- line(xEsquerda+linhaVerticalE-razaoEspessura,yInicial+(2*linhaHorizontal*numero)+linhaHorizontal,xDireita-linhaVerticalD,yInicial+(2*linhaHorizontal*numero)+linhaHorizontal);
- //baixo
- strokeWeight(linhaHorizontal);
- line(xEsquerda+linhaVerticalE-razaoEspessura,yFinal-(2*linhaHorizontal*numero)-linhaHorizontal,xDireita-linhaVerticalD,yFinal-(2*linhaHorizontal*numero)-linhaHorizontal);
- //esquerda
- if(orientacao==1){
- strokeWeight(linhaVerticalE+2*razaoEspessura);
- }
- else{
- strokeWeight(linhaVerticalE+razaoEspessura);
- }
- line(xEsquerda+(linhaVerticalE/2)+linhaVerticalE+razaoEspessura,yInicial+(2*linhaHorizontal*numero)+linhaHorizontal,xEsquerda+(linhaVerticalE/2)+linhaVerticalE+razaoEspessura,yFinal-(2*linhaHorizontal*numero)-linhaHorizontal);
- //direita
- if(orientacao==1){
- strokeWeight(linhaVerticalD);
- }
- else{
- strokeWeight(linhaVerticalD+2*razaoEspessura);
- }
- line(xDireita-(linhaVerticalD/2)-linhaVerticalD+razaoEspessura,yInicial+(2*linhaHorizontal*numero)+linhaHorizontal,xDireita-(linhaVerticalD/2)-linhaVerticalD+razaoEspessura,yFinal-(2*linhaHorizontal*numero)-linhaHorizontal);
- strokeWeight(0);
- }
- function coloracao(h,numero){
- let brilhoDestaque = [2,3,6,11,17,26,38,52,67];
- let saturacaoDestaque = [51,67,75,75,82,87,90,88,91];
- if (numero<9){
- let brilho = brilhoDestaque[ponto];
- let saturacao = saturacaoDestaque[ponto];
- ponto++;
- return color(h,saturacao,brilho);
- }
- else{
- let brilho = brilhoDestaque[ponto];
- let saturacao = saturacaoDestaque[ponto];
- ponto--;
- return color(h,saturacao,brilho);
- }
- }
- function proporcoes(orientacao){
- if (orientacao==1){
- linhaVerticalD = linhaVerticalD - razaoEspessura;
- linhaVerticalE += razaoEspessura;
- xEsquerda += linhaVerticalE+linhaVerticalE-razaoEspessura;
- xDireita -= linhaVerticalD+linhaVerticalD+razaoEspessura;
- }
- else{
- linhaVerticalD+=razaoEspessura;
- linhaVerticalE-=razaoEspessura;
- xEsquerda+=linhaVerticalE+linhaVerticalE+razaoEspessura;
- xDireita-=linhaVerticalD+linhaVerticalD-razaoEspessura;
- }
- }
- function desenhaInterface(){
- tituloCorDestaque = createSpan("Matiz dos Quadrados Destacados");
- tituloCorDestaque.addClass("tituloDestaque");
- inputCorDestaque = createInput(200,'color');
- inputCorDestaque.addClass('inputDestaque');
- tituloOrientacao = createSpan("Clique no quadro para mudar a orientação");
- tituloOrientacao.addClass("tituloOrientacao");
- inputCorFundo = createInput(100,'color');
- inputCorFundo.addClass('inputFundo');
- tituloCorFundo = createSpan('Matiz do Fundo');
- tituloCorFundo.addClass('tituloFundo');
- sliderSaturacaoFundo = createSlider(0,100,0);
- sliderSaturacaoFundo.addClass('sliderSaturacao');
- tituloSatFundo = createSpan('Saturação do Fundo');
- tituloSatFundo.addClass('tituloSatFundo');
- }
- function mousePressed(){
- if((mouseX>0 && mouseX<900)&&(mouseY>0 && mouseY<900))
- mudaOrientacao();
- }
- function mudaOrientacao(){
- if(orientacao==1){
- orientacao=0;
- }
- else{
- orientacao=1;
- }
- }
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement