Import Matplotlib

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

import matplotlib.

pyplot as plt

import numpy as np

from mpl_toolkits.mplot3d import Axes3D

# Función para graficar vectores en 2D

def plot_vectors_2d(vectors, colors):

fig, ax = plt.subplots()

ax.quiver(*zip(*vectors), angles='xy', scale_units='xy', scale=1, color=colors)

ax.set_xlim([-1, 1])

ax.set_ylim([-1, 1])

ax.set_aspect('equal')

ax.grid(True)

plt.show()

# Función para realizar una transformación lineal en 3D

def linear_transformation_3d(matrix, vectors):

transformed_vectors = np.dot(matrix, vectors)

return transformed_vectors

# Vectores en 2D

vectors_2d = np.array([[1, 0], [0, 1], [-1, -1]])

colors_2d = ['r', 'b', 'g']

# Graficar vectores en 2D

plot_vectors_2d(vectors_2d, colors_2d)

# Matriz de transformación lineal en 3D

matrix_3d = np.array([[1, 2, 1],

[0, 1, 2],

[-1, 0, 1]])
# Vectores en 3D

vectors_3d = np.array([[1, 0, 0],

[0, 1, 0],

[0, 0, 1]])

# Aplicar transformación lineal en 3D

transformed_vectors_3d = linear_transformation_3d(matrix_3d, vectors_3d)

# Graficar vectores en 3D antes y después de la transformación

fig = plt.figure()

ax = fig.add_subplot(121, projection='3d')

ax.quiver(0, 0, 0, *vectors_3d[:, 0], color='r', label='Original')

ax.quiver(0, 0, 0, *vectors_3d[:, 1], color='b')

ax.quiver(0, 0, 0, *vectors_3d[:, 2], color='g')

ax.set_xlim([0, 1])

ax.set_ylim([0, 1])

ax.set_zlim([0, 1])

ax.set_xlabel('X')

ax.set_ylabel('Y')

ax.set_zlabel('Z')

ax.set_title('Vectores en 3D (Original)')

ax.legend()

ax = fig.add_subplot(122, projection='3d')

ax.quiver(0, 0, 0, *transformed_vectors_3d[:, 0], color='r', label='Transformado')

ax.quiver(0, 0, 0, *transformed_vectors_3d[:, 1], color='b')

ax.quiver (0, 0, 0, *transformed_vectors_3d[:, 2], color='g')

ax.set_xlim([0, 3])

ax.set_ylim([0, 3])

ax.set_zlim([0, 3])

ax.set_xlabel('X')
ax.set_ylabel('Y')

ax.set_zlabel('Z')

ax.set_title('Vectores en 3D (Transformado)')

ax.legend()

plt.show()

You might also like