# crie uma matriz 8 x 8 com valores em forma de xadrez 0,1
import numpy as np

print (matriz)
print ()
print (matriz2   )  

"""
Explanation: Exercício 01: Uma matriz xadrez segue o seguinte padrão:
[[0,1]
[1,0]]
Construa uma matriz 8x8 na variável matriz com esse padrão.
Faça uma variável matriz2, também 8x8, sem utilizar o comando for.
End of explanation
"""


# normalize uma matriz
matriz = np.array( [[3.,2.,1.,5.,1.],[2.,1.,4.,5.,1.],[5.,2.,1.,5.,3.] ] )



print (matriz)

"""
Explanation: Exercício 02: Uma matriz normalizada é definda por:
$$
n_{ij} = \frac{a_{ij} - min(A)}{max(A)-min(A)}
$$
Normalize a matriz abaixo.
End of explanation
"""


# converter matriz N x 2 representando coordenadas cartesianas em polares
Z = np.array([[10.,2.],[5.,3.5],[1.2,4.1],[3.2,3.14]])
Z2 = np.zeros_like(Z)
Z3 = np.zeros_like(Z)



print (Z2)
print ()
print (Z3)

"""
Explanation: Exercício 03: A matriz Z representa uma matriz com coordenadas cartesianas, converta cada linha para coordenada polar, dado que:
$$
X, Y -> \rho, \theta \
\rho = \sqrt(X^2 + Y^2) \
\theta = arctan2(Y,X)
$$
Faça utilizando laço for (em Z2) e sem usar laços (Z3).
End of explanation
"""


# função que substitui o maior valor por 0 e retorna o maior valor
Z = np.array([1.,2.,3.,4.,5.,6.])
print (Z.max())


"""
Explanation: Exercício 04: Substitua o maior valor da matriz Z por 0 e mostre o novo maior valor
End of explanation
"""


# calcule a distância euclidiana entre x e uma matriz de pontos Y
X = np.array([ 0.17, 0.59, 0.75, 0.78,0.47, 0.10, 0.06,0.37,0.66,0.10])
Y = np.array( [[ 0.82,  0.96,  0.53,  0.61,  0.76,  0.3,   0.95,  0.81,  0.53,  0.84],
 [ 0.7,   0.49,  0.07,  0.12,  0.87,  0.73,  0.73,  0.39,  0.46,  0.37],
 [ 0.54,  0.79,  0.66,  0.27,  0.79,  0.33,  0.36,  0.83,  0.22,  0.17],
 [ 0.96,  0.63,  0.5 ,  0.88,  0.45,  0.9,   0.12,  0.92,  0.7 ,  0.79],
 [ 0.6 ,  0.02,  0.39,  0.29,  0.33,  0.07,  0.35,  0.31,  0.38,  0.84]])


print (D)

"""
Explanation: Exercício 05: Dado um vetor X e uma matriz Y, construa um vetor D em que cada elemento i é a distância Euclidiana entre X e o i-ésimo elemento de Y.
End of explanation
"""


# encontre o ponto mais próximo do exercicio anterior


"""
Explanation: Exercício 06: Mostre o elemento com a menor distância de X e qual é essa distância.
End of explanation
"""


# antes de tentar esse exercício, digite no prompt de comando: conda install scikit-image e reinicie o notebook
%matplotlib inline
import matplotlib.pyplot as plt
from skimage import data, io, filters

mario = io.imread('mario.gif')
plt.figure(figsize=(4, 4))
plt.imshow(mario)
plt.axis('on')
plt.grid(True)
plt.show()

"""
Explanation: Exercício 07:  Esse é o Mario, personagem famoso da Nintendo:
End of explanation
"""


plt.figure(figsize=(4, 4))
plt.imshow(mario)
plt.axis('off')
plt.show()

"""
Explanation: Ele é representado por uma matriz tridimensional de dimensões $133 \times 100 \times 3$, representando a altura, largura e as cores. A dimensão das cores representa a intensidade das cores Vermelho, Verde e Azul, respectivamente, com um valorde 0 a 255.
Exemplo:
mario[0,0,:] = [255, 255, 255]
Temos intensidade máxima nas três cores, que forma a cor branca.
Faça um algoritmo que percorra a imagem do Mario e, toda vez que encontrar um pixel de cor (112, 104, 0), troque ele para azul ([0,0,255]) ou preto ([0,0,0]) dependendo da altura desse pixel (o cabelo, bigode e sapato devem ser pretos, a blusa deve ser azul).
End of explanation
"""


