added all files reserch
This commit is contained in:
37
9.py
Normal file
37
9.py
Normal file
@@ -0,0 +1,37 @@
|
||||
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}")
|
||||
Reference in New Issue
Block a user