Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 30.10.2020
Сообщений: 7

Найти объем пирамиды ABCD по заданным пользователем точкам в трехмерном пространстве

28.04.2021, 21:58. Показов 3897. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо найти объем пирамиды ABCD по заданным пользователем точкам в трехмерном пространстве. Больше в задании ничего не указывалось, помогите...
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.04.2021, 21:58
Ответы с готовыми решениями:

Найти площадь пирамиды ABCD по заданным пользователем точкам в трехмерном пространстве
Найти площадь пирамиды ABCD по заданным пользователем точкам в трехмерном пространстве, больше ничего не указано

Найти высоту пирамиды ABCD, опущенную из вершины А по заданным пользователем точкам в трехмерном пространстве
Найти высоту пирамиды ABCD, опущенную из вершины А по заданным пользователем точкам в трехмерном пространстве. Напишите на питоне пожалуйста

Найти площадь основания ABC пирамиды ABCD по заданным пользователем точкам в трехмерном пространстве на python
если напишите объяснение буду очень благодарен!

12
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
28.04.2021, 22:15
Лучший ответ Сообщение было отмечено blessedmeow как решение

Решение

blessedmeow,
Python
1
2
3
4
5
6
7
8
9
10
11
ax, ay, az = map(float, input().split())
bx, by, bz = map(float, input().split())
cx, cy, cz = map(float, input().split())
dx, dy, dz = map(float, input().split())
x1, y1, z1 = bx-ax, by-ay, bz-az
x2, y2, z2 = cx-ax, cy-ay, cz-az
x3, y3, z3 = dx-ax, dy-ay, dz-az
xyz = (x1*(y2*z3 - z2*y3) -
            x2*(y1*z3 - z1*y3) +
            x3*(y1*z2 - z1*y2))
print(abs(xyz)/6)
3
0 / 0 / 0
Регистрация: 30.10.2020
Сообщений: 7
28.04.2021, 22:34  [ТС]
Gdez,
Traceback (most recent call last):
File "E:\Python Saves\OS.py", line 1, in <module>
ax, ay, az = map(float, input().split())
ValueError: not enough values to unpack (expected 3, got 1)

Такая ошибка выходит, мб я что-то сделал, но я просто скопировал твой код...
0
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
28.04.2021, 22:46
blessedmeow, Вводится с новой строки по три координаты каждой точки через пробел

Добавлено через 2 минуты
blessedmeow, тестировщик просит каждую координату с новой строчки
Перепиши соответственно на 12 строчек типа
Python
1
2
3
4
5
ax = float(input())
ay = float(input())
...
...
dz = float(input())
все координаты
1
0 / 0 / 0
Регистрация: 30.10.2020
Сообщений: 7
28.04.2021, 22:50  [ТС]
Gdez,
Спасибо!
0
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
28.04.2021, 22:52
Или так
Python
1
2
xyz = [float(input()) for _ in range(12)]
ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz = xyz
1
0 / 0 / 0
Регистрация: 25.04.2021
Сообщений: 4
29.04.2021, 20:37
Gdez, а как найти высоту пирамиды ABCD, опущенную из вершины А по заданным пользователем точкам в трехмерном пространстве? Такой же код?
0
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
29.04.2021, 21:54
pro100temech, все вместе вроде так
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
def strian(coor_bcd):
    bx,by,bz,cx,cy,cz,dx,dy,dz = coor
    bcx, bcy,bcz = cx-bx, cy-by, cz-bz 
    bdx, bdy,bdz = dx-bx, dy-by, dz-bz 
    bcdx = bcy*bdz - bcz*bdy
    bcdy = bcx*bdz - bcz*bdx
    bcdz = bcx*bdy - bcy*bdx
    return (bcdx**2 + bcdy**2 + bcdz**2) ** 0.5 / 2
 
def v_abcd(coor):
    ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz = xyz
    x1, y1, z1 = bx-ax, by-ay, bz-az
    x2, y2, z2 = cx-ax, cy-ay, cz-az
    x3, y3, z3 = dx-ax, dy-ay, dz-az
    xyz = (x1*(y2*z3 - z2*y3) -
                x2*(y1*z3 - z1*y3) +
                x3*(y1*z2 - z1*y2))
    return abs(xyz)/6
    
xyz = [float(input()) for _ in range(12)]
v = v_abcd(xyz)
print(v)
sbcd = strian(xyz[3:])
ha = 3*v / sbcd
print(ha)
0
0 / 0 / 0
Регистрация: 25.04.2021
Сообщений: 4
29.04.2021, 22:14
спасибо

Добавлено через 20 минут
Gdez, вылазит ошибка, File "E:\Python Saves\block2.py", line 8
return (bcdx2 + bcdy2 + bcdz2) 0.5 / 2
^
SyntaxError: invalid syntax.
0
0 / 0 / 0
Регистрация: 29.04.2021
Сообщений: 2
29.04.2021, 22:31
Gdez, а что писать перед этим кодом ?
0
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
29.04.2021, 22:47
pro100temech, исправь
Python
1
bx,by,bz,cx,cy,cz,dx,dy,dz = coor
на
Python
1
bx,by,bz,cx,cy,cz,dx,dy,dz = coor_bcd
И в 11-й строке вместо xyz нужно coor
0
0 / 0 / 0
Регистрация: 25.04.2021
Сообщений: 4
29.04.2021, 23:01
Gdez, Traceback (most recent call last):
File "C:/Users/artem/PycharmProjects/pythonProject/main.py", line 23, in <module>
v = v_abcd(xyz)
File "C:/Users/artem/PycharmProjects/pythonProject/main.py", line 12, in v_abcd
ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz = xyz
UnboundLocalError: local variable 'xyz' referenced before assignment
ошибка
0
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
29.04.2021, 23:04
pro100temech, написал выше - исправь xyz на coor

Добавлено через 1 минуту
pro100temech,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
def strian(coor_bcd):
    bx,by,bz,cx,cy,cz,dx,dy,dz = coor_bcd
    bcx, bcy,bcz = cx-bx, cy-by, cz-bz 
    bdx, bdy,bdz = dx-bx, dy-by, dz-bz 
    bcdx = bcy*bdz - bcz*bdy
    bcdy = bcx*bdz - bcz*bdx
    bcdz = bcx*bdy - bcy*bdx
    return (bcdx**2 + bcdy**2 + bcdz**2) ** 0.5 / 2
 
def v_abcd(coor):
    ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz = coor
    x1, y1, z1 = bx-ax, by-ay, bz-az
    x2, y2, z2 = cx-ax, cy-ay, cz-az
    x3, y3, z3 = dx-ax, dy-ay, dz-az
    xyz = (x1*(y2*z3 - z2*y3) -
                x2*(y1*z3 - z1*y3) +
                x3*(y1*z2 - z1*y2))
    return abs(xyz)/6
    
xyz = [float(input()) for _ in range(12)]
v = v_abcd(xyz)
print(v)
sbcd = strian(xyz[3:])
ha = 3*v / sbcd
print(ha)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.04.2021, 23:04
Помогаю со студенческими работами здесь

Найти грань и объем пирамиды в трехмерном пространстве
Задача найти площадь грани АВС и объем пирамиды НА ВСЕ), вершины которой содержатся в точках: А(2; -2; 0), В {5; 3; 2), С(-3; -2; 0),...

Найти грань и объем пирамиды в трехмерном пространстве
Задача найти площадь грани АВС и объем пирамиды НА ВСЕ), вершины которой содержатся в точках: А(2; -2; 0), В {5; 3; 2), С(-3; -2; 0),...

По заданным вершинам найти объем пирамиды
Дана задача: Даны 5 точек в трехмерном пространстве, которые являются вершинами пирамиды. Рассчитать объем пирамиды.

Заданы вершины треугольной пирамиды ABCD. Найти высоту пирамиды
Всем доброго времени суток. Нужна помощь с заданиями. Сам не могу сделать, потому что нет возможности работать на Си. Заранее премного...

Составить программу которая считает: a) Объем правильной треугольной пирамиды; b) Найти объем правильной пирамиды; c) Ра
Составить программу которая считает: a) Объем правильной треугольной пирамиды; b) Найти объем правильной пирамиды; c) Расчет объема...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru