lozi混沌對映吸引子,使用python的matplotlib繪製,可以放大和縮小
廢話不多,需要安裝python,和matplotlib、numpy等庫,安裝不全的,自行安裝一下
在windows下測試通過
# -*- coding: utf-8 -*- #需要安裝matplotlib、numpy等庫才能執行 import numpy as np import pylab as pl import time from matplotlib import cm def iter_point2(x,y): #初始化公式的引數,需要改的話,可以改引數 a = 1 b = 1.75 iter = 0 #初始化迭代次數 for i in xrange(1, 10): iter = i dist = (x*x + y*y) #計算摸長,看是否超過最大限度 dist *= dist #print "dist:" + str(dist) if dist > 200: #如果超出了最大長度,就跳出迴圈,返回這個迭代次數 break #臨時儲存一下x和y tempx = x tempy = y #這裡是公式 X = a-b|x| + y ; Y = 0.3x; x = a - b*abs(tempx) + tempy y = 0.3*tempx return iter #繪製圖形時,以cx,xy為中心,距離為d def draw_lozi(cx, cy, d): size = 400 x0, x1, y0, y1 = cx-d, cx+d, cy-d, cy+d y, x = np.ogrid[y1:y0:size*1j, x0:x1:size*1j] #使用範圍生成陣列,後面用這個進行迭代 c = x + y*1j x.shape = -1 #轉化成線性陣列 y.shape = -1 start = time.clock() lozi = np.ones(c.shape) #遍歷每一個點,計算迭代次數,賦值給陣列lozi for j in range(0,size): for i in range(0,size): lozi[j][i] = iter_point2(x[i],y[j]) pass print "time=",time.clock() - start #使用陣列lozi,繪圖, 使用藍色調色盤,顯示到圖上的座標範圍是x0,x1,y0,y1 pl.imshow(lozi, cmap=cm.Blues_r, extent=[x0,x1,y0,y1]) #不顯示橫縱座標 pl.gca().set_axis_off() #重新整理畫布 pl.show() #滑鼠點選觸發執行的函式 def on_press(event): global g_size print event print dir(event) newx = event.xdata newy = event.ydata print newx print newy #不合理的滑鼠點選,直接返回,不繪製 if newx == None or newy == None or event.dblclick == True: return None #不合理的滑鼠點選,直接返回,不繪製 if event.button == 1: #button ==1 代表滑鼠左鍵按下, 是放大影象 g_size /= 2 elif event.button == 3: #button == 3 代表滑鼠右鍵按下, 是縮小影象 g_size *= 2 else: return None print g_size draw_lozi(newx,newy,g_size) fig, ax = pl.subplots(1) g_size = 4.5 #註冊滑鼠事件 fig.canvas.mpl_connect('button_press_event', on_press) #初始繪製一個圖 draw_lozi(0,0,g_size)
相關推薦
lozi混沌對映吸引子,使用python的matplotlib繪製,可以放大和縮小
廢話不多,需要安裝python,和matplotlib、numpy等庫,安裝不全的,自行安裝一下 在windows下測試通過 # -*- coding: utf-8 -*- #需要安裝matplotlib、numpy等庫才能執行 import numpy as np
混沌吸引子
Henon對映的混沌吸引子 import matplotlib.pyplot as plt listx=[] listy=[] def Henon(x,y,n): for i in range(n): x1 = 1 - 1.4 * x ** 2 + y
小白python學習——matplotlib篇——繪製簡單點和直線、顏色,字型大小改變
1.直線: import matplotlib.pyplot as plt input_values=[1,2,3,4,5] squares = [1,4,9,16,25] #設定圖表標題,並給座標軸加上標籤 plt.plot(input_values,squares,linewidth=5)
【OpenCV+Python】輪廓檢測及繪製,可用以生成對應於不規則形狀ROI區域的mask
Overview 在OpenCV中文論壇上很多人問到這樣的問題,如何對影象的不規則區域設定ROI,即設定敏感區域,以用來做相關的影象處理。 根據若干博文的整理及自己的點點經驗,在此進行簡單的歸納: 第一部分主要敘述C++中對於不規則區域設定ROImask的方法,第二部分主要敘述Pyt
大資料之scala(二) --- 對映,元組,簡單類,內部類,物件Object,Idea中安裝scala外掛,trait特質[介面],包和包的匯入
一、對映<Map> ----------------------------------------------------- 1.建立一個不可變的對映Map<k,v> ==> Map(k -> v) scala> val map
MFC按指定的資料繪製極座標,高中的三角函式放大招呢~
void CDrawPoleCoordinateDlg::OnBnClickedButton1() { /**************************可調整的數值******************************/ float angle = 30;//每個扇形的角度
MyBatis關聯對映關係,一對一,一對多,多對多
“縱許悠揚度朱戶,終愁人影隔窗紗” 前言 客觀世界中的物件很少有孤立存在的,例如班級,往往與班級的學生存在關聯關係,如果得到某個班級的例項,那麼應該可以直接獲取班級對應的全部學生。反過來,如果已經得到個學生的例項,那麼也應該可以訪問該學生對應的班級。這種例項之間的互相訪問就是關聯關係
python 動態陣列 list 記憶體對映,leetcode 707,真連結串列能打敗假連結串列嗎?
為什麼寫這個,我在leetcode刷題(leetcode 707 設計連結串列 Design Linked List),有個設計連結串列的題,還特意加了尾指標,也試過雙鏈表,結果時間上還是跑不過別人的直接用list去append和insert的方案,所以隨便測一下動態陣列list的實現機
【原創】pygame學習筆記(1)----基本的線,矩形,圓形,弧形繪製
PYgame的內容 (1)這個module很有意思 (2)書本至少來源於《Python遊戲程式設計入門》 (3)官方權威說明:https://www.pygame.org/docs/ 下面的嘗試把各種圖形在一個程式裡繪製 注意點: (1)特別注意,比如引
【181121】VC++ 圖形繪製,可設定線寬、顏色、樣式等原始碼
原始碼下載簡介 VC++ 圖形繪製,可設定線寬、顏色、樣式,通過本例將瞭解如何使用自定義畫筆定義線體的顏色,線寬,線形等,以及如何為程式中新增選項選單和選項設定對話方塊,如何使用標準顏色對話方塊,如何使用字型對話方塊,在選項對話方塊中實現預覽功能。實現選項對話方塊和視窗類中的資料交換。如何改
【轉自】mybatis入門基礎----高階對映(一對一,一對多,多對多)
轉自:http://www.cnblogs.com/selene/p/4627446.html 可參考https://blog.csdn.net/liu_yanzhao/article/details/78573023 閱讀目錄 一:訂單商品資料模型 二、一
【Django1】基本知識,URL對映,檢視渲染,模板應用
python版本3.5,django版本1.10 1 新建專案 django-admin.py startproject website2 2 啟動伺服器,檢視是否正常 manage.py runserver
Hibernate 環境 配置 對映資料庫 SQL server ,Mysql 資料庫 ,測試無誤
最近要消化的知識有點多,多以特地將筆記寫道 部落格中,方便檢視 需要到的hibernate jar 包 ,大家可以自行到官網下載 Hibernate 中 配置 Sqlserver 資料庫 <?xml version="1.0" encoding=
嵌入式Linux併發程式設計,程序間通訊方式,System V IPC物件,ftok(),共享記憶體使用步驟,建立shmget(),對映shmat(),撤銷對映shmdt(),控制shmctl(),注意
文章目錄 1,System V IPC 2,使用IPC物件的大致流程 3,生成KEY值ftok() ftok示例 4,共享記憶體 4.1,共享記憶體使用步驟 4.2,共享記憶體建立 shmget()
mybatis-高階結果對映之一對一(多種方式, 有沒提到的你找我)
mybatis的高階結果對映可以很輕鬆的幫助我們處理一對一, 一對多的資料關係。 1 資料準備 1.1 資料庫 建立以下的名為 mybatis 的資料庫, 並在其下建立4個表。 1.2 實體類, 介面和XML 以上為生成的專案結構。 2 一對一對映 建立
通過li-canvas輕鬆實現單圖、多圖、圓角圖繪製,單行文字、多行文字等
Html5新增的canvas是個強大的功能, 估計大家平時都會用到,只是頻率不高,偶爾用它合成圖片,但是如果不進行封裝的話,程式碼會很亂,所以對canvas常用的畫圖、繪製文字、儲存功能進行了封裝,目前還比較滿意,能夠快速完成canvas繪圖任務,從容應對需求變更,只需進行簡單配置即可。 li-
Android 開發:繪製多條線,帶快取,帶觸控的圖表(基金圖表的實現)
對之前的幾篇文章裡的model進行補充 後期會把這個功能類,新增到這個框架裡 連結 Android開發框架,有興趣的可以下載下來看,這個框架會經常更新: public class BaseFundChartView extends View im
# Mybatis(四)表間關係分析,高階對映(一對一,一對多,多對多) 菜鳥日記--day05(下_02)
Mybatis(四)表間關係分析,高階對映(一對一,一對多,多對多) 菜鳥日記–day05(下_02) 花了很多時間,去看sql複雜查詢,更新慢了 電腦斷電寫的太急,綠色補更 一、表間關係分析 1.分析資料庫表的方法 思路: 需要分模組的對多張表進行邏輯分析 表記錄
Scala 陣列(Array),列表(List),元組(Tuple),集(Set),對映(Map),迭代器(Iterator)
1. 陣列(Array) 陣列是程式設計中經常用到的資料結構,一般包括定長陣列和變長陣列。本教程旨在快速掌握最基礎和常用的知識,因此,只介紹定長陣列。 定長陣列,就是長度不變的陣列,在Scala中使用Array進行宣告,如下: val intValue
python實現並繪製 sigmoid函式,tanh函式,ReLU函式,PReLU函式
python實現並繪製 sigmoid函式,tanh函式,ReLU函式,PReLU函式 # -*- coding:utf-8 -*- from matplotlib import pyplot as plt import numpy as np import mpl_toolkits.axisartist