Как изображать твердого революции графически с Пайтоном 3?

Я использовал Scilab, но сейчас нуждаюсь в инструменте, который позволял бы мне работать с символическим анализом также, и меняюсь Пайтону 3, нуждаюсь в том, чтобы изобразить проблему графически:

"Вычислять объем твердого революции, произведенного, отправив около оси x район, ограниченный параболойx^2+1 и прямойy=x+3"

Решение уже я получил ее (117pi/5это квадратные единицы) но: как мы изображаем твердого этой проблемы графически? он был бы благодарен за ответ, основанный в matplotlib, но если знают другой инструмент python 3, которые решали бы вопрос, благополучное прибытие.

3
задан 07.04.2016, 05:08
1 ответ

Работайте немного на этой проблеме, я сделал планирование следующих целей:

1. - Parametrizar кривая, закрывшая в плоскости x и и.

2. - Приносить кривую paramétrica в место 3D и с помощью полярных координат крутить это около оси x.

Только я смог выполнять первую цель, я надеюсь, что он помогает им для решения проблемы. Я это сделал в контексте matplotlib но возможно использовать sympy.plotting с plot_parametric.

Логика - следующая:

Имеются две прямые

y1 = x^2 + 1

y2 = x + 3

эти прямые intersectan в точках

a = (-1, 2)

b = (2, 5)

следовательно должны писаться две пары уравнений paramétricas, одна для yi.

Я определяю в paramétro t таким образом что они подчиняются пересечение в, b. Если я начинаюсь в

t =-1 и я это помещаю в пересечении в

для стоимости t =-1, 0, 1, 2 он используется:

Пара уравнений для y1:

x = t

y1 = t ** 2 + 1

для стоимости t = 3, 4, 5, 6 он используется:

Пара уравнений для y2:

x =-t + 4

y2 =-t + 6

Которым получаются точки (x, y) точные от кривой, которая любит parametrizar, а именно; парабола, отрезанная прямой, фигурой, сходной в 'улыбку'.

import numpy as np
import matplotlib.pyplot as plt

# Se define el parámetro:
T = np.arange(-1,6,0.1)

# El 
x =[]
while len(x)<=len(T):
    for t in T:
        if t <=2:
            x.append(t)
        if t>2:
            x.append(4-t)
    #print(x)
    break

y =[]
while len(y)<=len(T):
    for t in T:
        if t <=2:
            y.append(t**2 +1)
        if t>2:
            y.append(7-t)
    #print(y)
    break        

fig = plt.figure(figsize=(8,5))

plt.xlim(-2, 3)
plt.ylim(0, 6)

plt.plot(x,y,'o')
plt.plot(x,y)

Следующее состоит в том, чтобы выполнять цель 2, о которых он упоминал бы в начало.

Я надеюсь, что он может подавать их, или что тебя подает приятель Хавьер Карденас, даже не могу комментировать прямо. Привет.

3
ответ дан 24.11.2019, 14:37

Теги

Похожие вопросы