به محفل ریاضی ایرانیان خوش آمدید! لطفا برای استفاده از تمامی امکانات عضو شوید
سایت پرسش و پاسخ ریاضی
+4 امتیاز
567 بازدید
در دبیرستان توسط Elyas1 (3,994 امتیاز)

با سلام خدمت اساتید بزرگوار.

در هندسه اقلیدسی ابزار های مجاز برای ترسیم فقط خط کش و پرگار می باشند و نقاله شامل ابزار های تریسم هندسه اقلیدسی نیست. گاهی برای بعضی ترسیم های هندسی مانند کمان در خور نیاز به ایجاد یک زاویه می باشد.

چگونه می توان با استفاده از خط کش و پرگار زاویه ای به اندازه $a$ ایجاد کرد؟

1 پاسخ

+3 امتیاز
توسط AmirHosein (17,857 امتیاز)
ویرایش شده توسط AmirHosein
 
بهترین پاسخ

هندسهٔ اقلیدسی یعنی $\mathbb{R}^n$ به همراه چند اصل، مانند اصل توازی و غیره. مطمئن نیستم اجازهٔ استفاده از ابزار جزو اصل‌‌ها و تعریفِ هندسهٔ اقلیدسی باشد. ولی ترسیم‌پذیری که به صورت پیش‌فرض منظور ترسیم‌پذیری با خط‌کش و پرگار است و منظور از خط‌کش نیز، خط‌کش مدرج نیست، درست است.

به هر حال، یک روش برای انجام کاری که می‌خواهید انجام بدهید، می‌تواند کمک گرفتن از نیمسازکشی باشد. یعنی اگر با تقریب مشکلی ندارید و حتما نیازی نیست دقیقا خود مقدار زاویه ایجاد شود (مثلا تا دو رقم اعشار برایتان کافی است)، آنگاه ابتدا توجه کنید که یک جمع متناهی یکتای $\alpha\simeq k\pi+a_1\frac{\pi}{2}+\dots+a_n\frac{\pi}{2^n}$ که $k\in\mathbb{Z}$ و $n\in\mathbb{N}$ و $a_1,\dots,a_n\in\lbrace 0,1\rbrace$ و تفاضل دو طرف رابطه از مقدار دقتِ تقریب خواسته‌شده کمتر باشد، می‌توان یافت. اکنون هر یک از $\frac{\pi}{2^i}$ها برابر با نیمی از $\frac{\pi}{2^{i-1}}$ است که با نیمسازکشی می‌توان آن را بدست‌آورد و کشیدن نیمساز به کمک پرگار و خط‌کش شدنی‌است. جمع دو زاویهٔ رسم‌پذیر نیز با کمک خط‌کش و پرگار رسم‌پذیر است. یکی را بکشید و سپس دیگری را از خطِ انتهای زاویهٔ پیشین شروع به کشیدن کنید.

اگر یافتن مقدارهای $k$ و $a_i$ها برایتان روشن نیست، اینجا به صورت الگوریتمی برایتان یک روش یافتن آنها را قرار می‌دهم. اثبات یکتا بودن ضرایب با توجه به شرطی که گذاشتیم نباید برایتان سخت باشد. فرض کنید یک زاویهٔ $\alpha$ و یک مقدار برای دقت تقریب مانند $\epsilon$ به شما داده‌شده‌است. نخست بگذارید $k=[\frac{\alpha}{\pi}]$ و سپس حاصل عبارت تقریب که در حال حاضر همگی‌ِ $a_i$ها را صفر فرض کنید، را از $\alpha$ کم کنید و قرار دهید $a_1=[\frac{\alpha-k\pi}{\frac{\pi}{2}}]$ که چون تفاضل روی صورت نامنفی و کوچکتر اکید از $\pi$ است، حاصل تقسیم بزرگتریامساوی صفر و کوچکتر اکید از ۲ است، یعنی دست‌آوردِ جزءصحیح یا ۰ می‌شود یا ۱. همین اُلگو را ادامه دهید تا تفاضل ترکیب از $\alpha$ کوچکتر (اکید) از $\epsilon$ شود. در زیر برایتان برنامه‌ای با پایتون نوشته‌ام که تابع approximateAngle (به معنای تقریب‌بزن-زاویه) دو ورودی می‌گیرد (توجه کنید که بستهٔ math که جزو بسته‌های به‌طور پیش‌فرض همراه پایتون است باید فراخوانده‌شده‌باشد تا عدد پی، تابع جزءصحیح و قدرمطلق را دسترسی داشته باشید و نیاز به تعریف‌کردنِ دستی‌شان نباشد). خروجیِ این تابع، سه چیز هستند. نخست مقدار بدست‌آمده بوسیلهٔ ترکیب یعنی حاصلِ $k\pi+\sum_{i=1}^na_i\frac{\pi}{2^{i+1}}$، دوم، $k$ و سوم، بردارِ $a=(a_1,\dots,a_n)$. در برنامه‌نویسی با پایتون توجه کنید که اندیسِ $-1$ برای یک آرایهٔ یک‌بعدی (بردار) یعنی اندیسِ آخر.

# 2021.04.18
# Related to the link https://math.irancircle.com/22144

import math # we need things from this module such as pi constant, floor and fabs functions.

# a python function to find the closest sum of bisections of pi to a given angle.
def approximateAngle(alpha,epsilon):
    k = math.floor(alpha/math.pi)
    temporaryAnswer = k*math.pi
    a = []
    i = 0
    while math.fabs(alpha-temporaryAnswer)>=epsilon:
        i += 1
        a.append(math.floor((alpha-temporaryAnswer)/(math.pi/(2**i))))
        temporaryAnswer = temporaryAnswer+a[-1]*math.pi/(2**i)
    return(temporaryAnswer,k,a)

# Let's test our function with alpha=pi, pi/3 and pi/5 and epsilon=0.1
print(approximateAngle(math.pi,0.1))
print(approximateAngle(math.pi/3,0.1))
print(approximateAngle(math.pi/5,0.1))
# alpha=pi/5 and epsilon=0.01
print(approximateAngle(math.pi/5,0.01))

پس از تعریف تابع، برایتان روی چند ورودی آن را اثر داده‌ام که در جدول زیر نتیجه‌شان را گذاشته‌ام.

$$\begin{array}{l|r} \text{ ورودی } & \text{ خروجی }\\ \hline \begin{array}{l|l} \alpha & \epsilon\\ \hline \pi & 0.1\\ \frac{\pi}{3} & 0.1\\ \frac{\pi}{5} & 0.1\\ \frac{\pi}{5} & 0.01 \end{array} & \begin{array}{l} k\pi+\sum_{i=1}^na_i\frac{\pi}{2^{i+1}},k,[a_1,\dots,a_n]\\ \hline \texttt{(3.141592653589793, 1, [])}\\ \texttt{(0.9817477042468103, 0, [0, 1, 0, 1])}\\ \texttt{(0.5890486225480862, 0, [0, 0, 1, 1])}\\ \texttt{(0.6258641614573416, 0, [0, 0, 1, 1, 0, 0, 1, 1])} \end{array} \end{array}$$

توجه کنید که پایتون یک زبان برنامه‌نویسی است و نه نرم‌افزار ریاضی‌ای که با محاسبه‌های نمادین مانند میپل کار کند که حاصل را عبارت جبری‌ای از کسرهای $pi$دار نمایش دهد. به هر حال، برای نمونه تعبیر خروجی برای $\frac{\pi}{5}$ که در دیدگاه‌تان خواستید به این شکل می‌شود که $\frac{\pi}{5}\simeq\frac{\pi}{8}+\frac{\pi}{16}$ اگر تا $0.1$ تفاضل برایتان پذیرفتنی باشد و اگر بخواهید دقت را تا $0.01$ بالاتر ببرید دارید $\frac{\pi}{5}\simeq\frac{\pi}{8}+\frac{\pi}{16}+\frac{\pi}{128}+\frac{\pi}{256}$. خود مقدار عددیِ $\frac{\pi}{5}$ در پایتون 0.6283185307179586 زده می‌شود. که می‌توانید چک کنید که واقعا تفاضلش با دو ترکیب داده‌شده (مقدارهای عددی‌شان در جدول بالا هست) از دقت تقریب کمتر می‌شود.

توسط Elyas1 (3,994 امتیاز)
ویرایش شده توسط AmirHosein
+1
خیلی ممنونم.
ببخشید من زیاد متوجه نشدم. مثلاً اگر بخواهیم با روش شما زاویه $ \frac{π}{5}$ را رسم کنیم چگونه می شود؟
توسط amir7788 (2,503 امتیاز)
دو زاویه  pi/8  و pi/16 را رسم می کنیم مجموع این دو جواب مسئله با تقریب کمتر از 0/1  می باشذ

حمایت مالی

کانال تلگرام محفل ریاضی
امروز : تاریخ شمسی اینجا نمایش داده می‌شود
...