در این مطلب، ویدئو پروژه بزرگ پایتون – فراکتال ها در پایتون. سرخس بارنسلی با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:11:02
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,160 –> 00:00:02,080
در این ویدیو شما قصد دارید این فراکتال را بسازید
2
00:00:02,080 –> 00:00:03,040
3
00:00:03,040 –> 00:00:06,399
که سرخس بارنزلی است با استفاده از پایتون،
4
00:00:06,399 –> 00:00:08,400
اکنون همه فراکتالها را دوست دارند، نه
5
00:00:08,400 –> 00:00:10,080
آنها الگوهای جذابی هستند
6
00:00:10,080 –> 00:00:13,120
و معلوم میشود که آنها
7
00:00:13,120 –> 00:00:15,440
الگوهای بسیار خوبی برای رایانهها هستند
8
00:00:15,440 –> 00:00:16,320
زیرا
9
00:00:16,320 –> 00:00:19,119
شما فقط یک نقطه و شما
10
00:00:19,119 –> 00:00:21,039
نوعی تبدیل به آن اعمال می کنید
11
00:00:21,039 –> 00:00:22,400
و سپس آن نقطه را رسم می کنید و سپس
12
00:00:22,400 –> 00:00:24,080
تبدیل دیگری را اعمال می کنید و
13
00:00:24,080 –> 00:00:25,519
آن نقطه را رسم می کنید و آن را بارها و بارها انجام
14
00:00:25,519 –> 00:00:27,039
15
00:00:27,039 –> 00:00:29,480
می دهید و این الگو را به دست می آورید تا
16
00:00:29,480 –> 00:00:30,880
تبدیل
17
00:00:30,880 –> 00:00:33,440
هایی که برای ایجاد آنها لازم است سرخس بارنزلی
18
00:00:33,440 –> 00:00:34,000
19
00:00:34,000 –> 00:00:36,480
این دگرگونی ها هستند، حالا منظور من
20
00:00:36,480 –> 00:00:37,840
از تبدیل ها چیست،
21
00:00:37,840 –> 00:00:40,559
خوب یک شبکه را در فضای دو بعدی
22
00:00:40,559 –> 00:00:42,399
مانند یک صفحه شطرنج تصور کنید
23
00:00:42,399 –> 00:00:45,600
و شما یک محور x و یک محور y
24
00:00:45,600 –> 00:00:48,559
دارید و اعدادی از صفر تا
25
00:00:48,559 –> 00:00:49,120
هر چیزی دارید
26
00:00:49,120 –> 00:00:51,039
که در امتداد x قرار دارد. – محور و همان
27
00:00:51,039 –> 00:00:53,199
حرکت در امتداد محور y، فرض کنید صفر تا
28
00:00:53,199 –> 00:00:54,480
29
00:00:54,480 –> 00:00:57,520
صد را از نقطه صفر صفر شروع می کنید و
30
00:00:57,520 –> 00:00:58,079
سپس
31
00:00:58,079 –> 00:01:00,399
یک تبدیل اعمال می کنید، بنابراین ممکن
32
00:01:00,399 –> 00:01:01,760
است سه امتداد
33
00:01:01,760 –> 00:01:04,159
در جهت x و سپس سه آلو بروید. ng
34
00:01:04,159 –> 00:01:05,519
در جهت y
35
00:01:05,519 –> 00:01:07,680
و به نقطه دیگری ختم میشوید و شما
36
00:01:07,680 –> 00:01:08,799
که سه سه است
37
00:01:08,799 –> 00:01:10,159
و آن نقطه را رسم میکنید و سپس
38
00:01:10,159 –> 00:01:11,920
تبدیل دیگری را از سه
39
00:01:11,920 –> 00:01:13,600
سه اعمال میکنید که شما را به جای دیگری میبرد
40
00:01:13,600 –> 00:01:15,600
و آن نقطه را رسم میکنید و
41
00:01:15,600 –> 00:01:16,799
ادامه میدهید و آن را انجام میدهید.
42
00:01:16,799 –> 00:01:18,880
هزاران بار پس ما
43
00:01:18,880 –> 00:01:21,040
کد را مرور می کنیم، اکنون من از
44
00:01:21,040 –> 00:01:24,000
google collab استفاده می کنم، بنابراین اگر
45
00:01:24,000 –> 00:01:25,759
پایتون را نصب نکرده اید، فقط بروید و بررسی کنید
46
00:01:25,759 –> 00:01:26,960
که من یک لینک در توضیحات قرار داده ام
47
00:01:26,960 –> 00:01:27,920
48
00:01:27,920 –> 00:01:30,200
و ما numpy را وارد می کنیم. به عنوان mp و
49
00:01:30,200 –> 00:01:32,640
matplotlib.pyplot به عنوان plt می توانید ببینید
50
00:01:32,640 –> 00:01:33,920
که اینجا
51
00:01:33,920 –> 00:01:36,079
و بعد ما به توابع نیاز داریم، بنابراین بیایید
52
00:01:36,079 –> 00:01:38,240
فقط به ویکی پدیا برویم و من پیوندی
53
00:01:38,240 –> 00:01:41,439
به صفحه ویکی پدیا در توضیحات قرار داده ام،
54
00:01:41,439 –> 00:01:42,159
بنابراین
55
00:01:42,159 –> 00:01:45,200
این تبدیل ها هستند تا بتوانید
56
00:01:45,200 –> 00:01:45,840
ببینید
57
00:01:45,840 –> 00:01:48,320
که وجود دارد روش مختصر نوشتن آنها
58
00:01:48,320 –> 00:01:50,960
در اینجا به صورت نماد ماتریسی
59
00:01:50,960 –> 00:01:52,799
و اگر نگاهی بیندازیم، اینها
60
00:01:52,799 –> 00:01:54,079
توابعی هستند که من در مورد آنها صحبت می کردم،
61
00:01:54,079 –> 00:01:55,520
اینها توابعی هستند
62
00:01:55,520 –> 00:01:57,360
که قرار است موقعیت موقعیت
63
00:01:57,360 –> 00:01:58,960
xy فعلی را
64
00:01:58,960 –> 00:02:01,840
به موقعیت xy جدید تبدیل کنند و در اینجا آنها
65
00:02:01,840 –> 00:02:02,479
66
00:02:02,479 –> 00:02:05,840
چنین هستند. ما باید به نحوی آنچه
67
00:02:05,840 –> 00:02:08,318
در اینجا در این نماد تابع نوشته شده است
68
00:02:08,318 –> 00:02:10,399
را به چیزی ترجمه کنیم که پایتون بتواند
69
00:02:10,399 –> 00:02:12,000
آن را درک کند، بنابراین این اولین کاری است که
70
00:02:12,000 –> 00:02:12,640
باید انجام دهیم،
71
00:02:12,640 –> 00:02:15,680
بنابراین توابع خود را در اینجا تعریف می کنیم و
72
00:02:15,680 –> 00:02:17,040
این کاری است که من انجام داده ام و قصد
73
00:02:17,040 –> 00:02:18,800
ندارم از طریق آن کدنویسی کنم. این را می
74
00:02:18,800 –> 00:02:22,400
توانید در اینجا ببینید و اگر دوست دارید می توانید آن را کپی
75
00:02:22,400 –> 00:02:23,920
کنید، اما من قصد ندارم این کار را
76
00:02:23,920 –> 00:02:26,319
مرحله به مرحله انجام دهم، اما در اینجا توابع وجود دارد،
77
00:02:26,319 –> 00:02:29,280
بنابراین ما توابع را در اینجا تعریف کرده
78
00:02:29,280 –> 00:02:31,760
ایم و سپس این لیست را در اینجا این متغیر ایجاد کرده ام.
79
00:02:31,760 –> 00:02:32,879
80
00:02:32,879 –> 00:02:35,680
و این فقط لیستی از توابع ما است، بنابراین
81
00:02:35,680 –> 00:02:36,000
82
00:02:36,000 –> 00:02:39,120
توابع نامیده می شود و سپس باید
83
00:02:39,120 –> 00:02:39,440
84
00:02:39,440 –> 00:02:42,239
نحوه ترسیم این
85
00:02:42,239 –> 00:02:42,720
نقاط را تنظیم کنیم،
86
00:02:42,720 –> 00:02:45,280
بنابراین من یک متغیر به نام نقاط ایجاد
87
00:02:45,280 –> 00:02:45,760
88
00:02:45,760 –> 00:02:47,440
کردم که برابر با صد هزار است، بنابراین
89
00:02:47,440 –> 00:02:50,160
ما می رویم. برای ترسیم 100000 نقطه
90
00:02:50,160 –> 00:02:53,280
و من x و y را
91
00:02:53,280 –> 00:02:55,360
صفر کرده ام، بنابراین اکنون می خواهیم از طریق
92
00:02:55,360 –> 00:02:57,200
این بخش کوچک در اینجا کدنویسی کنیم، بنابراین برای
93
00:02:57,200 –> 00:02:59,840
i در محدوده محدوده، بنابراین ما
94
00:02:59,840 –> 00:03:00,480
از صفر
95
00:03:00,480 –> 00:03:04,640
به 100000 می رویم که چه چیزی نیاز داریم. برای انجام
96
00:03:04,640 –> 00:03:07,519
خوب اول از همه باید انتخاب کنیم که کدام تابع را انتخاب
97
00:03:07,519 –> 00:03:08,959
کنیم برای استفاده از
98
00:03:08,959 –> 00:03:09,920
99
00:03:09,920 –> 00:03:11,200
تابعی که قرار است
100
00:03:11,200 –> 00:03:13,599
نقطه فعلی
101
00:03:13,599 –> 00:03:16,800
102
00:03:16,800 –> 00:03:19,440
103
00:03:19,440 –> 00:03:21,519
104
00:03:21,519 –> 00:03:22,239
105
00:03:22,239 –> 00:03:23,920
را تغییر دهد یک
106
00:03:23,920 –> 00:03:25,760
احتمال مشخص
107
00:03:25,760 –> 00:03:28,159
در یک نسبت معین و
108
00:03:28,159 –> 00:03:29,440
اینها نسبتها در اینجا هستند، بنابراین
109
00:03:29,440 –> 00:03:32,080
تابع یک که به ساقه
110
00:03:32,080 –> 00:03:32,959
مربوط میشود تنها
111
00:03:32,959 –> 00:03:36,159
یک درصد از زمان تابع دو
112
00:03:36,159 –> 00:03:38,319
که مربوط به برگههای با موفقیت
113
00:03:38,319 –> 00:03:39,760
کوچکتر است انتخاب میشود و میتوانید
114
00:03:39,760 –> 00:03:42,400
ببینید که در اینجا 85 درصد
115
00:03:42,400 –> 00:03:43,200
از آن انتخاب شده است. زمان
116
00:03:43,200 –> 00:03:44,799
و سپس دو مورد دیگر بزرگترین
117
00:03:44,799 –> 00:03:46,400
برگه سمت چپ و بزرگترین برگه زندگی
118
00:03:46,400 –> 00:03:48,239
، جزوه سمت راست آنها
119
00:03:48,239 –> 00:03:49,920
فقط در هفت درصد مواقع انتخاب می شوند
120
00:03:49,920 –> 00:03:51,360
و روش خوبی برای انجام این کار وجود دارد، بنابراین
121
00:03:51,360 –> 00:03:52,879
من به شما نشان خواهم داد که چگونه این کار را انجام دهید. بنابراین
122
00:03:52,879 –> 00:03:53,920
فرض کنید
123
00:03:53,920 –> 00:03:56,640
تابع برابر است و سپس
124
00:03:56,640 –> 00:03:58,720
از چیزی از numpy
125
00:03:58,720 –> 00:04:01,280
استفاده می کنیم و از کتابخانه تصادفی numpy استفاده می کنیم و اکنون از option
126
00:04:01,280 –> 00:04:03,599
استفاده می کنیم که
127
00:04:03,599 –> 00:04:06,799
انتخاب چه می کند این است
128
00:04:06,799 –> 00:04:09,680
که از این متغیر انتخاب می کند توابع ble here
129
00:04:09,680 –> 00:04:10,799
130
00:04:10,799 –> 00:04:13,200
که این لیستی از توابع است،
131
00:04:13,200 –> 00:04:14,560
یکی را
132
00:04:14,560 –> 00:04:19,519
از آنجا به صورت تصادفی انتخاب می کند و ما می توانیم
133
00:04:19,519 –> 00:04:22,800
مشخص کنیم که با چه نسبت احتمالی
134
00:04:22,800 –> 00:04:24,800
می خواهیم آنها را انتخاب کنیم، بنابراین می توانیم بگوییم
135
00:04:24,800 –> 00:04:26,720
که می خواهیم اولین تابع را با
136
00:04:26,720 –> 00:04:28,720
احتمال یک درصد انتخاب
137
00:04:28,720 –> 00:04:31,120
کنیم و دومی را می خواهیم. تابع
138
00:04:31,120 –> 00:04:33,680
با احتمال 85 درصد
139
00:04:33,680 –> 00:04:36,240
و تابع سوم با
140
00:04:36,240 –> 00:04:37,680
احتمال هفت درصد
141
00:04:37,680 –> 00:04:40,320
و به همین ترتیب برای تابع چهارم انتخاب شده است، بنابراین
142
00:04:40,320 –> 00:04:41,280
اکنون آن را تنظیم کرده
143
00:04:41,280 –> 00:04:44,880
ایم و اکنون فقط می توانیم بگوییم که x
144
00:04:44,880 –> 00:04:49,120
و y برابر است با تابع
145
00:04:49,120 –> 00:04:52,479
x y بنابراین
146
00:04:52,479 –> 00:04:56,000
این تابع در اینجا خواهد بود. یکی از
147
00:04:56,000 –> 00:04:58,160
توابع در اینجا تابع یک دو سه یا
148
00:04:58,160 –> 00:04:59,680
چهار است که
149
00:04:59,680 –> 00:05:03,199
در بالا در اینجا اعلام کرده ایم،
150
00:05:03,199 –> 00:05:06,800
بنابراین اگر اکنون ادامه
151
00:05:06,800 –> 00:05:09,280
دهیم می توانیم آنچه را که باید انجام دهم همینطور اجازه دهید
152
00:05:09,280 –> 00:05:10,320
153
00:05:10,320 –> 00:05:13,440
بگویم x list برابر ب