App inventor 2 en español
Cómo programar los teléfonos móviles con Android
mediante App inventor 2 - Juan Antonio Villalpando
-- Tutorial de iniciación de App Inventor 2 en español --
Volver al índice del tutorial
_________________________________________________
78G.- Vector 3D. Módulo. Ángulos. Distancia entre vectores 3D. Color medio.
p78G_vector3D.aia
- Tenemos tres vectores como indica la figura, con estos valores:
R = 84
G = 234
B = 158
- Calcula el Módulo del vector resultante M y los ángulos que forma con cada eje.
- Consulta, observa los dibujos finales: https://aga.frba.utn.edu.ar/vectores-en-r3
____________________________________
- Diseño.
____________________________________
- Bloques.
_________________________________________________
2.- Distancia entre vectores 3D. Porcentaje. Método RGB.
p78G_vector3D_distancia.aia
- Tenemos dos vectores:
R = 84
G = 234
B = 158
R = 98
G = 164
B = 128
- Calcula la distancia entre ellos.
Porcentaje :
d / sqrt((255)^2+(255)^2+(255)^2) = d / 4,417
____________________________________
- Diseño.
____________________________________
- Bloques.
_________________________________________________
3.- Distancia entre vectores 3D. Porcentaje. Método colourDistance.
p78G_vector3D_colourDistance.aia
https://stackoverflow.com/questions/9018016/how-to-compare-two-colors-for-similarity-difference
public double colourDistance(int red1,int green1, int blue1, int red2, int green2, int blue2)
{
double rmean = ( red1 + red2 )/2;
int r = red1 - red2;
int g = green1 - green2;
int b = blue1 - blue2;
double weightR = 2 + rmean/256;
double weightG = 4.0;
double weightB = 2 + (255-rmean)/256;
return Math.sqrt(weightR*r*r + weightG*g*g + weightB*b*b);
}
double maxColDist = 764.8339663572415;
double d1 = colourDistance(red1,green1,blue1,red2,green2,blue2);
String s1 = (int) Math.round(((maxColDist-d1)/maxColDist)*100) + "% match";
____________________________________
- Diseño.
____________________________________
- Bloques.
_________________________________________________
4.- Porcentaje de parecido con diversos colores.
p78G_vector3D_colourDistance_comp.aia
- Disponemos de 15 colores indicativos de una escala PH.
- Mediante tres Deslizadores creamos un color.
- Obtendremos el porcentaje de ese color con cada uno de los colores de la tabla anterior.
- Utilizaré el método colourDistance visto en el apartado anterior.
____________________________________
- Diseño.
____________________________________
- Bloques.
_________________________________________________
5.- Obtener el color medio de una imagen.
p78G_color_medio.aia
- Tenemos una imagen y queremos obtener su componente media R, V y A para dibujar su color medio.
- En la figura siguiente el color medio valdrá R = 182, V = 90 y A = 163
- Lo obtendremos mediante dos métodos.
- El método "Start Manual", tocaremos la imagen varias veces, se irá obteniendo el color de cada toque y se irá calculando el color medio.
- En el método "Random Automatic", se tomarán 200 valores x, y aleatorios de la imagen y se obtendrá el color medio de esos valores.
____________________________________
- Diseño.
____________________________________
- Bloques.
_________________________________________________
6.- Pixelar una imagen.
p78G_pixelar.aia
- Tenemos una imagen y la vamos a pixelar mediante puntos (redondos).
- Utilizaremos el siguiente método, mediante bucles, dividimos la imagen del Lienzo1 en rectángulos.
- En cada rectángulo tomamos 4 puntos aleatorios, obtenemos el color de cada punto y luego el color medio de esos puntos, de forma parecida a la que hemos visto en el apartado anterior.
- En el Lienzo2 dibujamos un punto del color medio en la posición correspondiente al rectángulo.
- Es un proceso lento, tarda como 20 segundos en obtener la imagen.
____________________________________
- Diseño.
____________________________________
- Bloques.
- https://pinetools.com/es/efecto-pixelado-imagen
____________________________________
- Propuesta.
__________________________________
|