import numpy as np import csv # Параметры трапеции height = 200000 # Высота трапеции top_width = 8 # Ширина верхней стороны bottom_width = 12 # Ширина нижней стороны depth = 8 # Глубина трапеции # Функция для вычисления температуры в зависимости от высоты z def calculate_temperature(z): # Температура изменяется от 0°C у основания до 100°C на вершине return 100 * (z / height) # Имя файла для сохранения данных filename = "trapezoid_cubes_data.csv" # Открываем файл для записи with open(filename, mode='w', newline='') as file: writer = csv.writer(file) # Записываем заголовки столбцов writer.writerow(["x", "y", "z", "temperature"]) # Заполняем трапецию кубиками 1x1x1 см for z in range(height): # Линейная интерполяция для ширины на каждом уровне высоты width = top_width + (bottom_width - top_width) * (height - z) / height x_min = (bottom_width - width) / 2 x_max = x_min + width temperature = calculate_temperature(z) for x in range(int(x_min), int(x_max)): for y in range(depth): # Записываем координаты центра кубика и его температуру writer.writerow([x + 0.5, y + 0.5, z + 0.5, temperature]) print(f"Данные успешно сохранены в файл {filename}")