added all files reserch
This commit is contained in:
47
7.py
Normal file
47
7.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
# Define the dimensions of the trapezoid
|
||||
base1 = 5
|
||||
base2 = 3
|
||||
height = 4
|
||||
|
||||
# Calculate the width of the rectangle that can be cut from each side of the trapezoid
|
||||
rect_width = (base1 + base2) / 2
|
||||
|
||||
# Cut off two rectangles from the trapezoid
|
||||
trap_points = np.array([[0, 0], [base1, 0], [base1, height], [0, height]])
|
||||
rect_points = np.array([[0, 0], [rect_width, 0], [rect_width, height], [0, height]])
|
||||
trap_cut_points = np.array([[rect_width, 0], [base2, 0], [base2, height], [rect_width, height]])
|
||||
|
||||
# Plot the original trapezoid and cut off rectangles
|
||||
plt.fill(trap_points[:, 0], trap_points[:, 1], color='gray')
|
||||
plt.fill(rect_points[:, 0], rect_points[:, 1], color='blue')
|
||||
plt.fill(trap_cut_points[:, 0], trap_cut_points[:, 1], color='blue')
|
||||
|
||||
# Calculate the size of the remaining triangle
|
||||
triangle_width = base2 - rect_width
|
||||
triangle_height = (base2 * height) / base1
|
||||
|
||||
# Cut off the triangle from the trapezoid
|
||||
tri_points = np.array([[rect_width, 0], [base2, 0], [(base2 + rect_width) / 2, height]])
|
||||
tri_cut_points = np.array([[(base2 + rect_width) / 2, 0], [(base2 + rect_width) / 2, triangle_height], [rect_width, triangle_height]])
|
||||
|
||||
# Plot the remaining triangle and cut off triangles
|
||||
plt.fill(tri_points[:, 0], tri_points[:, 1], color='green')
|
||||
plt.fill(tri_cut_points[:, 0], tri_cut_points[:, 1], color='green')
|
||||
|
||||
# Calculate the size of the small squares
|
||||
small_square_size = min(rect_width, triangle_height) / 2
|
||||
|
||||
# Cut off the small squares from the rectangle and triangle
|
||||
rect_small_squares_points = np.array([[0, 0], [small_square_size, 0], [small_square_size, small_square_size], [0, small_square_size]])
|
||||
tri_small_squares_points = np.array([[(base2 + rect_width) / 2 - small_square_size, small_square_size], [(base2 + rect_width) / 2, 0], [(base2 + rect_width) / 2 - small_square_size, 0]])
|
||||
|
||||
# Plot the small squares
|
||||
plt.fill(rect_small_squares_points[:, 0], rect_small_squares_points[:, 1], color='red')
|
||||
plt.fill(tri_small_squares_points[:, 0], tri_small_squares_points[:, 1], color='red')
|
||||
|
||||
# Show the plot
|
||||
plt.axis('scaled')
|
||||
plt.show()
|
||||
Reference in New Issue
Block a user