Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2021, 19:13   #1
Alexander333
Пользователь
 
Регистрация: 06.10.2020
Сообщений: 19
По умолчанию Изобразить круг образованный пересечением сферы с плоскостью

Помогите, пожалуйста, правильно вписать уравнения в код. Проблема в том, что программа выводит неправильную фигуру. А еще нужно сделать так, чтобы фигуры обоих уравнений были выведены вместе на одном изображении.

Выражены уравнения:

Код:
z = -2*x + 2*y + 7

z = sqrt((-x**2 + 4*x - y**2 + 221)) + 5
z = 5 - sqrt((-x**2 + 4*x - y**2 + 221))


Код:
import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
import numpy as np


fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.arange(-5, 5, 0.005)
y = np.arange(-5, 5, 0.005)
x, y = np.meshgrid(x, y)
z = -2*x + 2*y + 7

#оси x, y, z
ax.plot([0,0], [0,14], [0,0], '>-r')
ax.plot([0,0], [-14,0], [0,0], '-r')
ax.plot([0,14], [0,0], [0,0], '>-r')
ax.plot([-14,0], [0,0], [0,0], '-r')
ax.plot([0,0], [0,0], [0,1.8], '^-r')
ax.plot([0,0], [0,0], [-1.3,0], '-r')


surf = ax.plot_surface(x, y, z / 2, linewidth=0, antialiased=True, color='blue')

ax.set_title('Task 2')

plt.show()
Изображения
Тип файла: png task 2.png (4.6 Кб, 15 просмотров)
Alexander333 вне форума Ответить с цитированием
Старый 23.09.2021, 19:35   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

чего, делай три оси. X - горизонтально вправо. Z - вертикально вверх. Y - вниз влево под углом 45`.
рисуемая тобой точка на плоскости будет иметь 2 координаты, которые надо получить из трёх Xt = (X)-(Y*cos(45)) и Yt = (Z)-(Y*sin(45))

и при помощи цикла рисуй плоскость. затем при помощи цикла рисуй сферу. У тебя на плоском экране должна получиться кривая пересечение, напоминающая эллипс. а если плоскость будет полностью параллельна экрану - то окружность. а если только в одной точке касается сферы - то точка.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 24.09.2021 в 07:46.
NetSpace вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить файл g, образованный из файла f заменой всех его прописных букв одноименными строчными Swaxi123 Общие вопросы C/C++ 0 28.12.2017 21:10
Треугольники, образованные пересечением N>3 линий на плоскости sidestep Общие вопросы C/C++ 1 10.03.2012 19:39
в какой координатной четверти расположен треугольник, образованный прямой, заданной уравнением y=ax+b, и осями координат VASGENOG Паскаль, Turbo Pascal, PascalABC.NET 11 02.01.2012 09:25
Нахождение площади треугольника, образуемого пересечением прямых valis Помощь студентам 3 03.02.2010 09:21