O-/𖣠⚪ᕤᕦ𖥞ИN𖥞ꖴ𖥞ᙏ𖥞ᗩ𖥞ᴥ𖥞ᕤᕦ𖥞Ⓞ𖥞ᴥ𖥞ߦ𖣓𖡼𖥞𖡼𖥞𖡼𖥞𖡼⚪🞋⚪𖡼𖥞𖡼𖥞𖡼𖥞𖡼𖣓ߦ𖥞ᴥ𖥞Ⓞ𖥞ᕤᕦ𖥞ᴥ𖥞ᗩ𖥞ᙏ𖥞ꖴ𖥞ИN𖥞ᕤᕦ⚪𖣠/⚪ИN⚪Ⓞ⚪옷⚪✤⚪人⚪ߦ⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪ߦ⚪人⚪✤⚪옷⚪Ⓞ⚪ИN⚪/⚪ᴥ⚪ᗱᗴ⚪✤⚪人⚪ߦ⚪ᑎ⚪ᒍᒐ⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪ᒍᒐ⚪ᑎ⚪ߦ⚪人⚪✤⚪ᗱᗴ⚪ᴥ⚪/YP..⚪ᴥ⚪ᗱᗴ⚪✤⚪Ⓞ⚪ᙁ⚪ߦ⚪◯⚪ᗱᗴ⚪ᗯ⚪ᴥ⚪ᑎ⚪ᑐᑕ⚪◯⚪ИN⚪Ⓞ⚪ꖴ⚪✤⚪ᑐᑕ⚪ᑎ⚪ꗳ⚪◯⚪ᗱᗴ⚪ᴥ⚪ᑎ⚪✤⚪ᗩ⚪ᗯ⚪ᴥ⚪ᑎ⚪ᑐᑕ⚪◯⚪ᗝ⚪ᗱᗴ⚪ꖴ⚪ꗳ⚪ꖴ⚪ᑐᑕ⚪ᗱᗴ⚪ߦ⚪ᔓᔕ⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪ᔓᔕ⚪ߦ⚪ᗱᗴ⚪ᑐᑕ⚪ꖴ⚪ꗳ⚪ꖴ⚪ᗱᗴ⚪ᗝ⚪◯⚪ᑐᑕ⚪ᑎ⚪ᴥ⚪ᗯ⚪ᗩ⚪✤⚪ᑎ⚪ᴥ⚪ᗱᗴ⚪◯⚪ꗳ⚪ᑎ⚪ᑐᑕ⚪✤⚪ꖴ⚪Ⓞ⚪ИN⚪◯⚪ᑐᑕ⚪ᑎ⚪ᴥ⚪ᗯ⚪ᗱᗴ⚪◯⚪ߦ⚪ᙁ⚪Ⓞ⚪✤⚪ᗱᗴ⚪ᴥ⚪..PY
2024-02-17 17:18:56 +00:00

67 lines
17 KiB
Python
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import numpy as ⵙ人ߦᙏᑎИNⵙⵙИNᑎᙏߦ人ⵙ
import plotly.graph_objects as ⵙᔓᔕ𖧷ᑐᑕᗱᗴᒐ8O옷ߦᗩᴥᕤᕦⵙⵙᕤᕦᴥᗩߦ옷O8ᒐᗱᗴᑐᑕ𖧷ᔓᔕⵙ
from math import *
import mpmath
from ipywidgets import interact,widgets,Text,Layout
from plotly.subplots import make_subplots
ⵙᗩᙁᑎᙏᴥOꗳⵙⵙꗳOᴥᙏᑎᙁᗩⵙ=widgets.Text(value='(1-cos(((4)/2)*x))/2',layout=widgets.Layout(width='100%'),description='⚪ᗩ⚪ᙁ⚪ᑎ⚪ᙏ⚪ᴥ⚪Ⓞ⚪ꗳ⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪ꗳ⚪Ⓞ⚪ᴥ⚪ᙏ⚪ᑎ⚪ᙁ⚪ᗩ⚪')
ⵙᴥᗱᗴᗝꖴᙁᔓᔕ𖧷ᴥᗩ𖧷ᔓᔕᗱᗴᕤᕦИNᗩᴥⵙⵙᴥᗩИNᕤᕦᗱᗴᔓᔕ𖧷ᗩᴥ𖧷ᔓᔕᙁꖴᗝᗱᗴᴥⵙ=widgets.FloatSlider(min=-4*(4*atan(1)),max=4*(4*atan(1)),value=-2*(4*atan(1)),step=(4*atan(1))/4,layout=widgets.Layout(width='100%'),readout_format='.256f',description='⚪ᙏ⚪Ⓞ⚪ᴥ⚪ꗳ⚪◯⚪ᗱᗴ⚪ᕤᕦ⚪ИN⚪ᗩ⚪ᴥ⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪ᴥ⚪ᗩ⚪ИN⚪ᕤᕦ⚪ᗱᗴ⚪◯⚪ꗳ⚪ᴥ⚪Ⓞ⚪ᙏ⚪')
ⵙᴥᗱᗴᗝꖴᙁᔓᔕᗝИNᗱᗴᗱᗴᕤᕦИNᗩᴥⵙⵙᴥᗩИNᕤᕦᗱᗴᗱᗴИNᗝᔓᔕᙁꖴᗝᗱᗴᴥⵙ=widgets.FloatSlider(min=-4*(4*atan(1)),max=4*(4*atan(1)),value=2*(4*atan(1)),step=(4*atan(1))/4,layout=widgets.Layout(width='100%'),readout_format='.256f',description='⚪Ⓞ⚪✤⚪◯⚪ᗱᗴ⚪ᕤᕦ⚪ИN⚪ᗩ⚪ᴥ⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪ᴥ⚪ᗩ⚪ИN⚪ᕤᕦ⚪ᗱᗴ⚪◯⚪✤⚪Ⓞ⚪')
ⵙᴥᗱᗴᗝꖴᙁᔓᔕᴥᗱᗴᗯOߦ人𖧷ꖴ𖧷ИNᗩᑎꄍ𖧷ИNꖴOߦⵙߦOꖴИN𖧷ꄍᑎᗩИN𖧷ꖴ𖧷人ߦOᗯᗱᗴᴥᔓᔕᙁꖴᗝᗱᗴᴥⵙ=widgets.IntSlider(min=1,max=16,value=8,layout=widgets.Layout(width='100%'),readout_format='.256f',description='⚪ᴥ⚪ᗱᗴ⚪ᗯ⚪Ⓞ⚪ߦ⚪◯⚪ᴥ⚪ᗱᗴ⚪⚭⚪ᙏ⚪ᑎ⚪ИN⚪◯⚪✤⚪ИN⚪ꖴ⚪Ⓞ⚪ߦ⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪ߦ⚪Ⓞ⚪ꖴ⚪ИN⚪✤⚪◯⚪ИN⚪ᑎ⚪ᙏ⚪⚭⚪ᗱᗴ⚪ᴥ⚪◯⚪ߦ⚪Ⓞ⚪ᗯ⚪ᗱᗴ⚪ᴥ⚪')
ⵙᴥᗱᗴᗝꖴᙁᔓᔕⵔ·ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ·ⵔᔓᔕᙁꖴᗝᗱᗴᴥⵙ=widgets.FloatSlider(min=-2,max=2,value=1,step=1/256,layout=widgets.Layout(width='100%'),readout_format='.256f',description='⚪·⚪◯⚪ᗱᗴ⚪ᙁ⚪⚭⚪ᗩ⚪ꖴ⚪ᴥ⚪ᗩ⚪ᗯ⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪ᗯ⚪ᗩ⚪ᴥ⚪ꖴ⚪ᗩ⚪⚭⚪ᙁ⚪ᗱᗴ⚪◯⚪·⚪')
ⵙᴥᗱᗴᗝꖴᙁᔓᔕ𑫰ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ𑫰ᔓᔕᙁꖴᗝᗱᗴᴥⵙ=widgets.FloatSlider(min=-2,max=2,value=1,step=1/256,layout=widgets.Layout(width='100%'),readout_format='.256f',description='⚪꞉⚪◯⚪ᗱᗴ⚪ᙁ⚪⚭⚪ᗩ⚪ꖴ⚪ᴥ⚪ᗩ⚪ᗯ⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪𖡼⚪ᗯ⚪ᗩ⚪ᴥ⚪ꖴ⚪ᗩ⚪⚭⚪ᙁ⚪ᗱᗴ⚪◯⚪꞉⚪')
def ⵙߦᙏᗩᙁᑐᑕⵙⵔⵙⵔⵙᑐᑕᙁᗩᙏߦⵙ(x):return max(min(1,x),-1)
def ⵙᗱᗴ𖧷ᑎߦᙏOᑐᑕⵙⵙᑐᑕOᙏߦᑎ𖧷ᗱᗴⵙ(ⵙᗩᙁᑎᙏᴥOꗳⵙⵙꗳOᴥᙏᑎᙁᗩⵙ,x,·ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ·,𑫰ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ𑫰):
ⵙ人ᴥᗩᙁᑎ8ᗩᑐᑕOᗯИNOꖴ𖧷ᑐᑕИNᑎꗳⵙⵙꗳᑎИNᑐᑕ𖧷ꖴOИNᗯOᑐᑕᗩ8ᑎᙁᗩᴥ人ⵙ={ⵙᔓᔕᗱᗴᙏᗩИNИNOꖴ𖧷ᑐᑕИNᑎꗳⵙⵙꗳᑎИNᑐᑕ𖧷ꖴOИNИNᗩᙏᗱᗴᔓᔕⵙ:eval(f'lambda*ⵙᔓᔕ𖧷ИNᗱᗴᙏᑎᕤᕦᴥᗩⵙⵙᗩᴥᕤᕦᑎᙏᗱᗴИN𖧷ᔓᔕⵙ:mpmath.{ⵙᔓᔕᗱᗴᙏᗩИNИNOꖴ𖧷ᑐᑕИNᑎꗳⵙⵙꗳᑎИNᑐᑕ𖧷ꖴOИNИNᗩᙏᗱᗴᔓᔕⵙ}(*ⵙᔓᔕ𖧷ИNᗱᗴᙏᑎᕤᕦᴥᗩⵙⵙᗩᴥᕤᕦᑎᙏᗱᗴИN𖧷ᔓᔕⵙ)') for ⵙᔓᔕᗱᗴᙏᗩИNИNOꖴ𖧷ᑐᑕИNᑎꗳⵙⵙꗳᑎИNᑐᑕ𖧷ꖴOИNИNᗩᙏᗱᗴᔓᔕⵙ in dir(mpmath)}
return float(eval(ⵙᗩᙁᑎᙏᴥOꗳⵙⵙꗳOᴥᙏᑎᙁᗩⵙ,{'x':x,'ⵙ·ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ·ⵙ':·ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ·,'ⵙ𑫰ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ𑫰ⵙ':𑫰ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ𑫰,'ⵙߦᙏᗩᙁᑐᑕⵙⵔⵙⵔⵙᑐᑕᙁᗩᙏߦⵙ':ⵙߦᙏᗩᙁᑐᑕⵙⵔⵙⵔⵙᑐᑕᙁᗩᙏߦⵙ,**ⵙ人ᴥᗩᙁᑎ8ᗩᑐᑕOᗯИNOꖴ𖧷ᑐᑕИNᑎꗳⵙⵙꗳᑎИNᑐᑕ𖧷ꖴOИNᗯOᑐᑕᗩ8ᑎᙁᗩᴥ人ⵙ}))
def ⵙ𖧷OᙁߦⵙⵙߦᙁO𖧷ⵙ(ⵙᗩᙁᑎᙏᴥOꗳⵙⵙꗳOᴥᙏᑎᙁᗩⵙ='1.4795/ⵙ𑫰ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ𑫰ⵙ-((x)/(4*atan(1)*ⵙ·ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ·ⵙ/2*ⵙ𑫰ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ𑫰ⵙ))*1.4795',ⵙ𖧷ᴥᗩ𖧷ᔓᔕᗱᗴᕤᕦИNᗩᴥⵙⵙᴥᗩИNᕤᕦᗱᗴᔓᔕ𖧷ᗩᴥ𖧷ⵙ=-2*(4*atan(1)),ⵙᗝИNᗱᗴᗱᗴᕤᕦИNᗩᴥⵙⵙᴥᗩИNᕤᕦᗱᗴᗱᗴИNᗝⵙ=2*(4*atan(1)),ⵙᴥᗱᗴᗯOߦ人𖧷ꖴ𖧷ИNᗩᑎꄍ𖧷ИNꖴOߦⵙߦOꖴИN𖧷ꄍᑎᗩИN𖧷ꖴ𖧷人ߦOᗯᗱᗴᴥⵙ=8,·ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ·=1,ⵙ𑫰ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ𑫰ⵙ=1):
ⵙ人𖧷ꖴ𖧷ИNᗩᑎꄍ𖧷ИNꖴOߦⵙߦOꖴИN𖧷ꄍᑎᗩИN𖧷ꖴ𖧷人ⵙ=1+2**ⵙᴥᗱᗴᗯOߦ人𖧷ꖴ𖧷ИNᗩᑎꄍ𖧷ИNꖴOߦⵙߦOꖴИN𖧷ꄍᑎᗩИN𖧷ꖴ𖧷人ߦOᗯᗱᗴᴥⵙ
ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔꕤⵙⵔⵙⵔⵙꕤⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ=ⵙ人ߦᙏᑎИNⵙⵙИNᑎᙏߦ人ⵙ.linspace(ⵙ𖧷ᴥᗩ𖧷ᔓᔕᗱᗴᕤᕦИNᗩᴥⵙⵙᴥᗩИNᕤᕦᗱᗴᔓᔕ𖧷ᗩᴥ𖧷ⵙ,ⵙᗝИNᗱᗴᗱᗴᕤᕦИNᗩᴥⵙⵙᴥᗩИNᕤᕦᗱᗴᗱᗴИNᗝⵙ,ⵙ人𖧷ꖴ𖧷ИNᗩᑎꄍ𖧷ИNꖴOߦⵙߦOꖴИN𖧷ꄍᑎᗩИN𖧷ꖴ𖧷人ⵙ)
ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔᗩߦᗩ𐊌ⵙⵔⵙⵔⵙ𐊌ᗩߦᗩⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ=ⵙ人ߦᙏᑎИNⵙⵙИNᑎᙏߦ人ⵙ.array([ⵙᗱᗴ𖧷ᑎߦᙏOᑐᑕⵙⵙᑐᑕOᙏߦᑎ𖧷ᗱᗴⵙ(ⵙᗩᙁᑎᙏᴥOꗳⵙⵙꗳOᴥᙏᑎᙁᗩⵙ,ⵙᗱᗴᑎᙁᗩᗯⵔᗩߦᗩ𐊌ⵙⵔⵙⵔⵙ𐊌ᗩߦᗩⵔᗯᗩᙁᑎᗱᗴⵙ,·ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ·,ⵙ𑫰ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ𑫰ⵙ) for ⵙᗱᗴᑎᙁᗩᗯⵔᗩߦᗩ𐊌ⵙⵔⵙⵔⵙ𐊌ᗩߦᗩⵔᗯᗩᙁᑎᗱᗴⵙ in ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔꕤⵙⵔⵙⵔⵙꕤⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ])
ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔᗩ𖧷ᗱᗴ옷𖧷ⵙⵔⵙⵔⵙ𖧷옷ᗱᗴ𖧷ᗩⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ=ⵙ人ߦᙏᑎИNⵙⵙИNᑎᙏߦ人ⵙ.cumsum(ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔᗩߦᗩ𐊌ⵙⵔⵙⵔⵙ𐊌ᗩߦᗩⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ)*(ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔꕤⵙⵔⵙⵔⵙꕤⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ[1]-ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔꕤⵙⵔⵙⵔⵙꕤⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ[0]) if ⵙ人𖧷ꖴ𖧷ИNᗩᑎꄍ𖧷ИNꖴOߦⵙߦOꖴИN𖧷ꄍᑎᗩИN𖧷ꖴ𖧷人ⵙ>1 else ⵙ人ߦᙏᑎИNⵙⵙИNᑎᙏߦ人ⵙ.array([0])
ᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕꕤⵙⵙꕤᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕ=ⵙ人ߦᙏᑎИNⵙⵙИNᑎᙏߦ人ⵙ.cumsum(ⵙ人ߦᙏᑎИNⵙⵙИNᑎᙏߦ人ⵙ.cos(ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔᗩ𖧷ᗱᗴ옷𖧷ⵙⵔⵙⵔⵙ𖧷옷ᗱᗴ𖧷ᗩⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ))*(ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔꕤⵙⵔⵙⵔⵙꕤⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ[1]-ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔꕤⵙⵔⵙⵔⵙꕤⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ[0]) if ⵙ人𖧷ꖴ𖧷ИNᗩᑎꄍ𖧷ИNꖴOߦⵙߦOꖴИN𖧷ꄍᑎᗩИN𖧷ꖴ𖧷人ⵙ>1 else ⵙ人ߦᙏᑎИNⵙⵙИNᑎᙏߦ人ⵙ.array([0])
ᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕ人ⵙⵙ人ᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕ=ⵙ人ߦᙏᑎИNⵙⵙИNᑎᙏߦ人ⵙ.cumsum(ⵙ人ߦᙏᑎИNⵙⵙИNᑎᙏߦ人ⵙ.sin(ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔᗩ𖧷ᗱᗴ옷𖧷ⵙⵔⵙⵔⵙ𖧷옷ᗱᗴ𖧷ᗩⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ))*(ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔꕤⵙⵔⵙⵔⵙꕤⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ[1]-ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔꕤⵙⵔⵙⵔⵙꕤⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ[0]) if ⵙ人𖧷ꖴ𖧷ИNᗩᑎꄍ𖧷ИNꖴOߦⵙߦOꖴИN𖧷ꄍᑎᗩИN𖧷ꖴ𖧷人ⵙ>1 else ⵙ人ߦᙏᑎИNⵙⵙИNᑎᙏߦ人ⵙ.array([0])
if ᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕꕤⵙⵙꕤᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕ[0] !=0 or ᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕ人ⵙⵙ人ᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕ[0] !=0:
ⵙᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕꕤⵙⵙꕤᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕⵙ=ⵙ人ߦᙏᑎИNⵙⵙИNᑎᙏߦ人ⵙ.insert(ᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕꕤⵙⵙꕤᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕ,0,0)
ⵙᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕ人ⵙⵙ人ᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕⵙ=ⵙ人ߦᙏᑎИNⵙⵙИNᑎᙏߦ人ⵙ.insert(ᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕ人ⵙⵙ人ᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕ,0,0)
else:
ⵙᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕꕤⵙⵙꕤᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕⵙ=ᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕꕤⵙⵙꕤᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕ
ⵙᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕ人ⵙⵙ人ᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕⵙ=ᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕ人ⵙⵙ人ᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕ
ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔ人ⵙⵔⵙⵔⵙ人ⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ=[ⵙᗱᗴ𖧷ᑎߦᙏOᑐᑕⵙⵙᑐᑕOᙏߦᑎ𖧷ᗱᗴⵙ(ⵙᗩᙁᑎᙏᴥOꗳⵙⵙꗳOᴥᙏᑎᙁᗩⵙ,ⵙᗱᗴᑎᙁᗩᗯⵔᗩߦᗩ𐊌ⵙⵔⵙⵔⵙ𐊌ᗩߦᗩⵔᗯᗩᙁᑎᗱᗴⵙ,·ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ·,ⵙ𑫰ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ𑫰ⵙ) for ⵙᗱᗴᑎᙁᗩᗯⵔᗩߦᗩ𐊌ⵙⵔⵙⵔⵙ𐊌ᗩߦᗩⵔᗯᗩᙁᑎᗱᗴⵙ in ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔꕤⵙⵔⵙⵔⵙꕤⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ]
ⵙᗱᗴᕤᕦИNᗩᴥᙏᑎᙏꖴИNꖴᙏⵙⵙᙏꖴИNꖴᙏᑎᙏᴥᗩИNᕤᕦᗱᗴⵙ=min(map(min,[ⵙᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕꕤⵙⵙꕤᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕⵙ,ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔꕤⵙⵔⵙⵔⵙꕤⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ]))
ⵙᗱᗴᕤᕦИNᗩᴥᙏᑎᙏꖴИNꖴᙏⵙⵙᙏꖴИNꖴᙏᑎᙏᴥᗩИNᕤᕦᗱᗴⵙ=min(map(min,[ⵙᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕ人ⵙⵙ人ᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕⵙ,ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔ人ⵙⵔⵙⵔⵙ人ⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ]))
ⵙᗱᗴᕤᕦИNᗩᴥᙏᑎᙏꖴꕤᗩᙏⵙⵙᙏᗩꕤꖴᙏᑎᙏᴥᗩИNᕤᕦᗱᗴⵙ=max(map(max,[ⵙᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕꕤⵙⵙꕤᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕⵙ,ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔꕤⵙⵔⵙⵔⵙꕤⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ]))
ⵙᗱᗴᕤᕦИNᗩᴥᙏᑎᙏꖴꕤᗩᙏⵙⵙᙏᗩꕤꖴᙏᑎᙏᴥᗩИNᕤᕦᗱᗴⵙ=max(map(max,[ⵙᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕ人ⵙⵙ人ᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕⵙ,ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔ人ⵙⵔⵙⵔⵙ人ⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ]))
·ⵔᗱᗴᴥᑎᕤᕦꖴꗳⵙⵔⵙⵔⵙꗳꖴᕤᕦᑎᴥᗱᗴⵔ·=ⵙᔓᔕ𖧷ᑐᑕᗱᗴᒐ8O옷ߦᗩᴥᕤᕦⵙⵙᕤᕦᴥᗩߦ옷O8ᒐᗱᗴᑐᑕ𖧷ᔓᔕⵙ.Figure()
·ⵔᗱᗴᴥᑎᕤᕦꖴꗳⵙⵔⵙⵔⵙꗳꖴᕤᕦᑎᴥᗱᗴⵔ·.add_trace(ⵙᔓᔕ𖧷ᑐᑕᗱᗴᒐ8O옷ߦᗩᴥᕤᕦⵙⵙᕤᕦᴥᗩߦ옷O8ᒐᗱᗴᑐᑕ𖧷ᔓᔕⵙ.Scatter(x=ⵙᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕꕤⵙⵙꕤᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕⵙ,y=ⵙᔓᔕᗱᗴ𖧷ᗩИNꖴᗝᴥOᑐᑕ人ⵙⵙ人ᑐᑕOᴥᗝꖴИNᗩ𖧷ᗱᗴᔓᔕⵙ,mode='lines',line=dict(color='#CECECE'),name='',hovertemplate='%{x:.256f}' + '<br>人 %{y:.256f}'))
·ⵔᗱᗴᴥᑎᕤᕦꖴꗳⵙⵔⵙⵔⵙꗳꖴᕤᕦᑎᴥᗱᗴⵔ·.update_layout(autosize=True,margin=dict(l=0,r=0,b=0,t=0,pad=0),
height=512,
xaxis=dict(scaleanchor='y',scaleratio=1,gridcolor='#CECECE',zeroline=True,zerolinecolor='#CECECE',tickfont=dict(color='#9C9C9C',size=16)),
yaxis=dict(gridcolor='#CECECE',zeroline=True,zerolinecolor='#CECECE',tickfont=dict(color='#9C9C9C',size=16)),
hoverlabel=dict(bgcolor="#FFFFFF",font_color='#9C9C9C',bordercolor="#CECECE",font_size=16),plot_bgcolor='#FFFFFF'
)
·ⵔᗱᗴᴥᑎᕤᕦꖴꗳⵙⵔⵙⵔⵙꗳꖴᕤᕦᑎᴥᗱᗴⵔ·.update_xaxes(range=[ⵙᗱᗴᕤᕦИNᗩᴥᙏᑎᙏꖴИNꖴᙏⵙⵙᙏꖴИNꖴᙏᑎᙏᴥᗩИNᕤᕦᗱᗴⵙ,ⵙᗱᗴᕤᕦИNᗩᴥᙏᑎᙏꖴꕤᗩᙏⵙⵙᙏᗩꕤꖴᙏᑎᙏᴥᗩИNᕤᕦᗱᗴⵙ])
·ⵔᗱᗴᴥᑎᕤᕦꖴꗳⵙⵔⵙⵔⵙꗳꖴᕤᕦᑎᴥᗱᗴⵔ·.update_yaxes(range=[ⵙᗱᗴᕤᕦИNᗩᴥᙏᑎᙏꖴИNꖴᙏⵙⵙᙏꖴИNꖴᙏᑎᙏᴥᗩИNᕤᕦᗱᗴⵙ,ⵙᗱᗴᕤᕦИNᗩᴥᙏᑎᙏꖴꕤᗩᙏⵙⵙᙏᗩꕤꖴᙏᑎᙏᴥᗩИNᕤᕦᗱᗴⵙ])
·ⵔᗱᗴᴥᑎᕤᕦꖴꗳⵙⵔⵙⵔⵙꗳꖴᕤᕦᑎᴥᗱᗴⵔ·.show()
ⵙ𑫰ⵔᗱᗴᴥᑎᕤᕦꖴꗳⵙⵔⵙⵔⵙꗳꖴᕤᕦᑎᴥᗱᗴⵔ𑫰ⵙ=ⵙᔓᔕ𖧷ᑐᑕᗱᗴᒐ8O옷ߦᗩᴥᕤᕦⵙⵙᕤᕦᴥᗩߦ옷O8ᒐᗱᗴᑐᑕ𖧷ᔓᔕⵙ.Figure()
ⵙ𑫰ⵔᗱᗴᴥᑎᕤᕦꖴꗳⵙⵔⵙⵔⵙꗳꖴᕤᕦᑎᴥᗱᗴⵔ𑫰ⵙ.add_trace(ⵙᔓᔕ𖧷ᑐᑕᗱᗴᒐ8O옷ߦᗩᴥᕤᕦⵙⵙᕤᕦᴥᗩߦ옷O8ᒐᗱᗴᑐᑕ𖧷ᔓᔕⵙ.Scatter(x=ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔꕤⵙⵔⵙⵔⵙꕤⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ,y=ⵙᔓᔕᗱᗴᑎᙁᗩᗯⵔ人ⵙⵔⵙⵔⵙ人ⵔᗯᗩᙁᑎᗱᗴᔓᔕⵙ,mode='lines',line=dict(color='#CECECE'),name='',hovertemplate='%{x:.256f}' + '<br>人 %{y:.256f}'))
ⵙ𑫰ⵔᗱᗴᴥᑎᕤᕦꖴꗳⵙⵔⵙⵔⵙꗳꖴᕤᕦᑎᴥᗱᗴⵔ𑫰ⵙ.update_layout(autosize=True,margin=dict(l=0,r=0,b=0,t=0,pad=0),
height=512,
xaxis=dict(scaleanchor='y',scaleratio=1,gridcolor='#CECECE',zeroline=True,zerolinecolor='#CECECE',tickfont=dict(color='#9C9C9C',size=16)),
yaxis=dict(gridcolor='#CECECE',zeroline=True,zerolinecolor='#CECECE',tickfont=dict(color='#9C9C9C',size=16)),
hoverlabel=dict(bgcolor="#FFFFFF",font_color='#9C9C9C',bordercolor="#CECECE",font_size=16),plot_bgcolor='#FFFFFF'
)
ⵙ𑫰ⵔᗱᗴᴥᑎᕤᕦꖴꗳⵙⵔⵙⵔⵙꗳꖴᕤᕦᑎᴥᗱᗴⵔ𑫰ⵙ.update_xaxes(range=[ⵙᗱᗴᕤᕦИNᗩᴥᙏᑎᙏꖴИNꖴᙏⵙⵙᙏꖴИNꖴᙏᑎᙏᴥᗩИNᕤᕦᗱᗴⵙ,ⵙᗱᗴᕤᕦИNᗩᴥᙏᑎᙏꖴꕤᗩᙏⵙⵙᙏᗩꕤꖴᙏᑎᙏᴥᗩИNᕤᕦᗱᗴⵙ])
ⵙ𑫰ⵔᗱᗴᴥᑎᕤᕦꖴꗳⵙⵔⵙⵔⵙꗳꖴᕤᕦᑎᴥᗱᗴⵔ𑫰ⵙ.update_yaxes(range=[ⵙᗱᗴᕤᕦИNᗩᴥᙏᑎᙏꖴИNꖴᙏⵙⵙᙏꖴИNꖴᙏᑎᙏᴥᗩИNᕤᕦᗱᗴⵙ,ⵙᗱᗴᕤᕦИNᗩᴥᙏᑎᙏꖴꕤᗩᙏⵙⵙᙏᗩꕤꖴᙏᑎᙏᴥᗩИNᕤᕦᗱᗴⵙ])
ⵙ𑫰ⵔᗱᗴᴥᑎᕤᕦꖴꗳⵙⵔⵙⵔⵙꗳꖴᕤᕦᑎᴥᗱᗴⵔ𑫰ⵙ.show()
interact(ⵙ𖧷OᙁߦⵙⵙߦᙁO𖧷ⵙ,ⵙᗩᙁᑎᙏᴥOꗳⵙⵙꗳOᴥᙏᑎᙁᗩⵙ=ⵙᗩᙁᑎᙏᴥOꗳⵙⵙꗳOᴥᙏᑎᙁᗩⵙ,ⵙ𖧷ᴥᗩ𖧷ᔓᔕᗱᗴᕤᕦИNᗩᴥⵙⵙᴥᗩИNᕤᕦᗱᗴᔓᔕ𖧷ᗩᴥ𖧷ⵙ=ⵙᴥᗱᗴᗝꖴᙁᔓᔕ𖧷ᴥᗩ𖧷ᔓᔕᗱᗴᕤᕦИNᗩᴥⵙⵙᴥᗩИNᕤᕦᗱᗴᔓᔕ𖧷ᗩᴥ𖧷ᔓᔕᙁꖴᗝᗱᗴᴥⵙ,ⵙᗝИNᗱᗴᗱᗴᕤᕦИNᗩᴥⵙⵙᴥᗩИNᕤᕦᗱᗴᗱᗴИNᗝⵙ=ⵙᴥᗱᗴᗝꖴᙁᔓᔕᗝИNᗱᗴᗱᗴᕤᕦИNᗩᴥⵙⵙᴥᗩИNᕤᕦᗱᗴᗱᗴИNᗝᔓᔕᙁꖴᗝᗱᗴᴥⵙ,ⵙᴥᗱᗴᗯOߦ人𖧷ꖴ𖧷ИNᗩᑎꄍ𖧷ИNꖴOߦⵙߦOꖴИN𖧷ꄍᑎᗩИN𖧷ꖴ𖧷人ߦOᗯᗱᗴᴥⵙ=ⵙᴥᗱᗴᗝꖴᙁᔓᔕᴥᗱᗴᗯOߦ人𖧷ꖴ𖧷ИNᗩᑎꄍ𖧷ИNꖴOߦⵙߦOꖴИN𖧷ꄍᑎᗩИN𖧷ꖴ𖧷人ߦOᗯᗱᗴᴥᔓᔕᙁꖴᗝᗱᗴᴥⵙ,·ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ·=ⵙᴥᗱᗴᗝꖴᙁᔓᔕⵔ·ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ·ⵔᔓᔕᙁꖴᗝᗱᗴᴥⵙ,ⵙ𑫰ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ𑫰ⵙ=ⵙᴥᗱᗴᗝꖴᙁᔓᔕ𑫰ᗱᗴᙁ8ᗩꖴᴥᗩᗯⵙⵙᗯᗩᴥꖴᗩ8ᙁᗱᗴ𑫰ᔓᔕᙁꖴᗝᗱᗴᴥⵙ);