نگاشت موبیوس

15 بهمن 1402 - خواندن 3 دقیقه - 333 بازدید

نگاشت موبیوس یک نمونه جالب از تبدیلات ریاضی است که یک نوار دو بعدی را به یک سطح با یک لبه واحد تبدیل می کند. این سطح یک خاصیت منحصر به فرد دارد: اگر شما روی سطح آن حرکت کنید، بدون اینکه لبه هایش را قطع کنید، می توانید از یک طرف به طرف دیگر بروید. بیایید یک مثال از نگاشت موبیوس را با استفاده از Python و کتابخانه matplotlib برای ترسیم آن ایجاد کنیم.


ما ابتدا مختصات u , v را در فضای پارامتری تعریف می کنیم، که در آن u در بازه [0,2π)و v در بازه [0.5,0.5] قرار دارد. سپس ما از این پارامترها برای تعریف سطح موبیوس استفاده می کنیم. فرمول ریاضی برای تعریف یک نگاشت موبیوس به صورت زیر است:


x(u,v)=(1+v.cos⁡(u/2) ).cos⁡(u)

y(u,v)=(1+v.cos⁡(u/2) ).sin⁡(u)

z(u,v)=v.sin(u/2)


که در آن x , y , z مختصات در فضای سه بعدی هستند. اکنون بیایید این تعریف را در پایتون پیاده سازی کنیم و سطح موبیوس را ترسیم کنیم.


در تصویر بالا، سطح یک نوار موبیوس را مشاهده می کنید که با استفاده از Python و کتابخانه matplotlib ترسیم شده است. این سطح با استفاده از معادلاتی که مختصات x , y , z را بر حسب پارامترهای u , v تعریف می کنند، ایجاد شده است. نوار موبیوس دارای خصوصیت منحصر به فردی است که فقط یک سطح و یک لبه دارد، که این خصوصیت از طریق حرکت در امتداد سطح آن قابل مشاهده است. این مثال نشان دهنده یکی از جالب ترین شکل های ریاضی است که در هندسه و توپولوژی مورد بررسی قرار می گیرد.





کد برنامه Python رسم شکل :


import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D


# تعریف مختصات u و v

u = np.linspace(0, 2 * np.pi, 100)

v = np.linspace(-0.5, 0.5, 10)

u, v = np.meshgrid(u, v)


# محاسبه مختصات x, y, z برای نگاشت موبیوس

x = (1 + v * np.cos(u / 2)) * np.cos(u)

y = (1 + v * np.cos(u / 2)) * np.sin(u)

z = v * np.sin(u / 2)


# ترسیم سطح موبیوس

fig = plt.figure()

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

ax.plot_surface(x, y, z, color='b', edgecolor='r')


# تنظیمات نمایشی

ax.set_xlabel('X')

ax.set_ylabel('Y')

ax.set_zlabel('Z')

plt.title('Surface of Möbius Strip')

plt.show()

پایتونیوسف بهرام بیگینگاشتنگاشت موبیوسموبیوس