第四单元 用python学习微积分(三十)极坐标和极坐标下的面积(下)--- 第四单元复习

本文内容来自于学习麻省理工学院公开课:单变量微积分-第四次考试复习-网易公开课

Bullseye:第四单元 用python学习微积分(二十九)参数曲线(二)和极坐标和极坐标下的面积

为何彗星拥有如此独特的轨道,是一个拉长的椭圆形?_太阳系_离心力_运行

开普勒三大定律?_百度知道

目录

一、极坐标下的面积(polar coordinate)

1、基本公式

(1)从图形中心画等角度间隔射线。

(2)中心,射线与图形的边缘组成一个个的类扇形图形,有些图形比扇形少一块,有些则多一块,剩下的和扇形重合。

(3)我们知道当这个间隔角度趋近于0时,所切分的图形面积趋近扇形的面积,并可以通过扇形面积公式计算其面积。 ​编辑

(4)总面积

2、例1 ​编辑

3、例2 画图

4、例3 ​编辑

(1)画图

(2)把​编辑切换回直角坐标系

5、开普勒第二定律

6、例4 复习习题


一、极坐标下的面积(polar coordinate)

1、基本公式

import numpy as np 
from sympy import *
import matplotlib.pyplot as plt 
figure, ax= plt.subplots( 1 ) 
ax.set_aspect( 1 ) 

def DrawXY(tFrom,tTo,steps,exprX,exprY, color,label,plt, arrow =False):
    xarr = []
    yarr = []
    tarr = np.linspace(tFrom ,tTo, steps) 
    for tval in tarr:
        xval = exprX.subs(t,tval)
        xarr.append(xval)
        yval = exprY.subs(t,tval)
        yarr.append(yval)
    y_nparr = np.array(yarr) 
    x_nparr = np.array(xarr) 
    length = len (xarr)
    
    plt.plot(x_nparr, y_nparr, c=color, label=label)  
    if(arrow and steps > 2):
        plt.arrow(float(x_nparr[0]),float( y_nparr[0]),float( x_nparr[2]-x_nparr[0]),float( y_nparr[2]-y_nparr[0]), width=.02, color = color) 



a = 1
t = symbols('t')
exprX = a*cos(t)
exprY = a*sin(t)
DrawXY( 0,2*np.pi,50,exprX,exprY,color='c', label='circle radius=1',plt = plt, arrow = True)

exprX = a*cos(t)
exprY = a*sin(t)
DrawXY( 0,np.pi/4,50,exprX,exprY,color='r', label='pie in the circle theta = pi/4',plt = plt)
plt.plot([0,a*cos(0)],[0, a*sin(0)], c='r')  
plt.plot([0,a*cos(np.pi/4)],[0, a*sin(np.pi/4)], c='r')  

print('area of circle = r**2*pi is ' , a**2*pi)
print('area of pie which theta is pi/4 = r**2*pi* ((pi/4) / (2*pi)) is ' ,  a**2*pi* ((pi/4) / (2*pi)))

plt.legend(loc='upper left')
plt.show()

添加图片注释,不超过 140 字(可选)

⚪的半径 = a;

面积(A) = \pi a^2

扇形面积 = \frac{\Delta \theta}{2\pi}\pi a^2 = \frac{a^2\Delta \theta }{2}

复杂图形的面积

(1)从图形中心画等角度间隔射线。

(2)中心,射线与图形的边缘组成一个个的类扇形图形,有些图形比扇形少一块,有些则多一块,剩下的和扇形重合。

(3)我们知道当这个间隔角度趋近于0时,所切分的图形面积趋近扇形的面积,并可以通过扇形面积公式计算其面积。 dA = \frac{r^2 d\theta }{2}

(4)总面积

A = \int_{\theta1}^{\theta2} \frac{1}{2}r^2d\theta ....... ( r= r(\theta) )

2、例1 r = 2acos(\theta)

由上章例5可知上式 同 (x-a)^2 +y^2 =a^2

figure, ax= plt.subplots( 1 ) 
ax.set_aspect( 1 ) 
a = 2
t = symbols('t')
r = 2*a*cos(t)
exprX = r*cos(t)
exprY = r*sin(t)
DrawXY( -np.pi/2,np.pi/2,50,exprX,exprY,color='c', label='r = 2*a*cos(t)',plt = plt,arrow=True)

plt.text(x=2*a,#文本x轴坐标 
         y=0, #文本y轴坐标
         s='(2a,0)', #文本内容
         rotation=0,#文字旋转
         ha='left',#x=2.2是文字的左端位置,可选'center', 'right', 'left'
         va='baseline',#y=8是文字的低端位置,可选'center', 'top', 'bottom', 'baseline', 'center_baseline'
         fontdict=dict(fontsize=12, color='black',
                       family='monospace',#字体,可选'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'
                       weight='bold',#磅值,可选'light', 'normal', 'medium', 'semibold', 'bold', 'heavy', 'black'
                      
                      )#字体属性设置
        )
plt.legend(loc='upper left')
plt.show()

添加图片注释,不超过 140 字(可选)

-\frac{\pi}{2}<\theta<\frac{\pi}{2}, cos(\frac{\pi}{2}) = 0

A = \int_{\theta1}^{\theta2} \frac{1}{2}r^2d\thetar = 2acos(\theta)

A = \int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} \frac{1}{2}(2acos(\theta))^2d\theta = 2a^2\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} cos^2(\theta)d\theta

cos^2(\theta) =\frac{cos(2\theta)+1}{2}

A = 2a^2\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} \frac{cos(2\theta )+1}{2} d\theta = a^2(sin(2\theta) + \theta)|_{\frac{-\pi}{2}}^{\frac{\pi}{2}} = \frac{\pi}{2}a^2 + \frac{\pi}{2}a^2 = \pi a^2

注意:当 \theta 取值在 \frac{\pi}{2}<\theta<\frac{3\pi}{2}时,r = 2acos(\theta)取值为负与角度相反,取值还是在上图那个⚪上

把上面代码下面这一行改改,可以看到结果画出了同样的⚪。

DrawXY( np.pi/2,3*np.pi/2,50,exprX,exprY,color='c', label='r = 2*a*cos(t)',plt = plt,arrow=True)

3、例2 画图

r = sin(2\theta)

figure, ax= plt.subplots( 1 ) 
ax.set_aspect( 1 ) 
t = symbols('t')
r = sin(2*t)
exprX = r*cos(t)
exprY = r*sin(t)
DrawXY( 0,np.pi/2,100,exprX,exprY,color='c', label='4-leaf rose 0-pi/2',plt = plt,arrow = true)
DrawXY( np.pi/2,np.pi,100,exprX,exprY,color='g', label='pi/2-pi',plt = plt,arrow =true)
DrawXY( np.pi,3*np.pi/2,100,exprX,exprY,color='black', label='pi-3/2pi',plt = plt,arrow = true)
DrawXY( 3*np.pi/2,2*np.pi,100,exprX,exprY,color='r', label='3/2pi-2pi',plt = plt,arrow = true)

plt.legend(loc='upper left')
plt.show()

添加图片注释,不超过 140 字(可选)

r = sin(2\theta)

x = rcos(\theta)

y = rsin(\theta)

\theta = 0 , r = 0, x = 0 , y = 0

\theta =\frac{ \pi}{4} , r = 1, x =\frac{ \sqrt{2}}{2} , y = \frac{\sqrt{2}}{2}

\theta =\frac{ \pi}{2} , r = 0, x = 0 , y = 0

...

4、例3 r = \frac{1}{1+2cos(\theta)}

x = rcos(\theta)

y = rsin(\theta)

(1)画图

\theta =\frac{ -\pi}{2} , r = 1, x = 0 , y = -1

\theta = 0 , r = 1/3, x = 1/3 , y = 0

\theta =\frac{ \pi}{2} , r = 1, x = 0 , y = 1

figure, ax= plt.subplots( 1 ) 
ax.set_aspect( 1 ) 
t = symbols('t')
r = 1/(1+2*cos(t))
exprX = r*cos(t)
exprY = r*sin(t)

tval = -pi/2 - 0.5
print ('theta=',tval, 'r = ', r.subs(t,tval), ', x = ',r.subs(t,tval)*cos(tval),', y=', r.subs(t,tval)*sin(tval))
tval = -pi/2
print ('theta=',tval, 'r = ', r.subs(t,tval), ', x = ',r.subs(t,tval)*cos(tval),', y=', r.subs(t,tval)*sin(tval))
tval = 0
print ('theta=',tval, 'r = ', r.subs(t,tval), ', x = ',r.subs(t,tval)*cos(tval),', y=', r.subs(t,tval)*sin(tval))
tval = pi/2
print ('theta=',tval, 'r = ', r.subs(t,tval), ', x = ',r.subs(t,tval)*cos(tval),', y=', r.subs(t,tval)*sin(tval))
tval = pi/2 + 0.5
print ('theta=',tval, 'r = ', r.subs(t,tval), ', x = ',r.subs(t,tval)*cos(tval),', y=', r.subs(t,tval)*sin(tval))

DrawXY( -np.pi/2,np.pi/2,100,exprX,exprY,color='c', label='r = 1/(1+2*cos(t))',plt = plt,arrow = true)

plt.scatter([0], [0], color="red", label='sun')

plt.legend(loc='upper left')
plt.show()

(2)把r = \frac{1}{1+2cos(\theta)}切换回直角坐标系

r = \frac{1}{1+2cos(\theta)}

r + 2rcos(\theta) = 1

x = rcos(\theta)

y = rsin(\theta)

r = 1-2rcos(\theta) = 1-2x

r^2 =x^2+y^2 = (1-2x)^2 =1-4x+4x^2

y^2 = 1-4x+3x^2 ( y =\pm \sqrt{1-4x+3x^2} )

1-4x+3x^2 - y^2 = 0(这个是双曲线 'hyperbola' 的形式, 老师说这个其实是彗星的轨道)

def DrawXY1(xFrom,xTo,steps,expr,color,label,plt, arrow =False):
    yarr = []
    xarr = np.linspace(xFrom ,xTo, steps) 
    for xval in xarr:
        #print(expr.subs(x,xval), xval)
        yval = expr.subs(x,xval)
        yarr.append(yval)
    y_nparr = np.array(yarr) 
    x_nparr = np.array(xarr) 
    length = len (xarr)
    
    plt.plot(x_nparr, y_nparr, c=color, label=label)  
    if(arrow and steps > 2):
        plt.arrow(float(x_nparr[0]),float( y_nparr[0]),float( x_nparr[2]-x_nparr[0]),float( y_nparr[2]-y_nparr[0]), width=.02, color = color) 
        

figure, ax= plt.subplots( 1 ) 
ax.set_aspect( 1 ) 
x = symbols('x')
expr = (1-4*x+3*x**2)**0.5
DrawXY1(-1,0.3333,100,expr,color='b',label='+/-(1-4*x+3*x**2)**0.5',plt=plt,arrow=true) 
expr = -(1-4*x+3*x**2)**0.5
DrawXY1(-1,0.3333,100,expr,color='b',label='',plt=plt,arrow=true) 


expr = (1-4*x+3*x**2)**0.5
DrawXY1(1,2.3,100,expr,color='b',label='',plt=plt,arrow=true) 
expr = -(1-4*x+3*x**2)**0.5
DrawXY1(1,2.3,100,expr,color='b',label='',plt=plt,arrow=true) 

plt.scatter([0], [0], color="red", label='sun')

plt.legend(loc='upper left')
plt.show()

​双曲线: 1-4x+3x^2 - y^2 = 0

老师语 r = \frac{1}{1+2cos(\theta)}, r = 0 是双曲线 (彗星的轨道) 的焦点, 它其实就是太阳的位置!当你想要让重力中心在图形中心的话,这是正确的表达方式。

老师语 r = \frac{1}{1+\frac{1}{2}cos(\theta)},这个轨道会变成行星或小行星的轨道,形状则是椭圆。r = 0 的情况是一致的,是这个轨道的焦点。

(向心力是太阳的引力,离心力是由彗星绕太阳公转形成的切向速度产生的,当彗星的离心力大于向心力时,在经过近日点之后它的轨道就会变成抛物线或双曲线.....)

figure, ax= plt.subplots( 1 ) 
ax.set_aspect( 1 ) 
t = symbols('t')
r = 1/(1+0.5*cos(t))
exprX = r*cos(t)
exprY = r*sin(t)

tval = -pi/2 - 0.5
print ('theta=',tval, 'r = ', r.subs(t,tval), ', x = ',r.subs(t,tval)*cos(tval),', y=', r.subs(t,tval)*sin(tval))
tval = -pi/2
print ('theta=',tval, 'r = ', r.subs(t,tval), ', x = ',r.subs(t,tval)*cos(tval),', y=', r.subs(t,tval)*sin(tval))
tval = 0
print ('theta=',tval, 'r = ', r.subs(t,tval), ', x = ',r.subs(t,tval)*cos(tval),', y=', r.subs(t,tval)*sin(tval))
tval = pi/2
print ('theta=',tval, 'r = ', r.subs(t,tval), ', x = ',r.subs(t,tval)*cos(tval),', y=', r.subs(t,tval)*sin(tval))
tval = pi/2 + 0.5
print ('theta=',tval, 'r = ', r.subs(t,tval), ', x = ',r.subs(t,tval)*cos(tval),', y=', r.subs(t,tval)*sin(tval))

DrawXY( 0,2*np.pi,100,exprX,exprY,color='c', label='r = 1/(1+2*cos(t))',plt = plt,arrow = true)

plt.scatter([0], [0], color="red", label='sun')

plt.legend(loc='upper left')
plt.show()

5、开普勒第二定律

\frac{dA}{dt} = const:行星和太阳相连的直线扫过的面积的变换率是恒定的,它取决于中心的质量,也就是取决于太阳。当彗星绕着太阳转的时候,它的速度是不断在变化的,变化的规律即是这个式子。

由上面基本公式推导得到的扇形面积公式:dA = \frac{r^2 d\theta }{2}

\frac{dA}{dt} = \frac{1}{2}r^2\frac{d\theta}{dt} = const

由上式得到 r^2\frac{d\theta}{dt} = const ( 角动量守恒 )

6、例4 复习习题

\int x tan^{-1}(x)dx

设: u = tan^{-1}(x) , v' = x

由公式:

\int uv'dx = uv - \int u'vdx

\int x tan^{-1}(x)dx = \frac{1}{2} x^2tan^{-1}(x) +\frac{1}{2}\int (tan^{-1}x)'x^2dx = \frac{1}{2} x^2tan^{-1}(x) +\frac{1}{2}\int \frac{x^2}{x^2+1}dx

= \frac{1}{2} x^2tan^{-1}(x) +\frac{1}{2}\int \frac{x^2+1-1}{x^2+1}dx = \frac{1}{2} x^2tan^{-1}(x) +\frac{1}{2}\int (\frac{1}{x^2+1} -1)dx

= \frac{1}{2} x^2tan^{-1}(x) +\frac{1}{2}\int \frac{1}{x^2+1}dx -\frac{x}{2}+c

=\frac{1}{2} x^2tan^{-1}(x) +\frac{1}{2}tan^{-1}(x) -\frac{x}{2} +c

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bullseye

您的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值