/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
YChaos圖像生成器,可以幫助用戶生成混沌圖像。打開YChaos圖像生成器,你會看到它擁有編輯/圖像生成/三維顯示三種模式,用戶可以按F1/F2/F3功能鍵切換相應的模式,進行對圖像的成像操作。
雙擊"YChaos圖像生成軟件.exe"啟動軟件。
軟件中有兩種模式:編輯模式與圖像生成模式。默認打開時為編輯模式,鍵盤F1用于兩種模式的切換。鍵盤F2用于切換到圖像生成模式,并進行圖像生成處理。鼠標右鍵拖動用于設置視口位置,滾輪用于視口的縮放。按下鍵盤F,會自動設置成最佳視口。按下鍵盤X則設置成默認大小的視口,這可使圖像處于其原始大小顯示。
文件夾"images"中存放各種生成圖像的配置文件。鼠標將某一配置文件拖入到軟件中,即可打開文件。也可以通過菜單項中的“文件->打開配置文件...”來進行文件選擇打開。亦可以使用快捷鍵CTRL+F來加載配置文件。下圖為打開了一個洛倫茨吸引子的點集截圖:
打開某個配置文件后,會進入編輯模式,當按下F2會切換到圖像生成模式并生成混沌圖像。如下圖所示:
按下F5或通過菜單項中的“視圖->數(shù)學腳本編輯面板...”可以打開數(shù)學腳本編輯面板,在此對數(shù)學公式進行編輯修改。如下圖所示:
在編輯模式下,右邊會有一控件,用于設置數(shù)學公式的初始變量值。
當公式編輯完成后,如果希望將點集轉(zhuǎn)化成圖像,需要設置成像剪裁范圍,通過下圖控件進行設置:
其中有個按鈕“Auto Set Extend”會自動按點集的范圍設置成像剪裁范圍。用戶也可以直接在二維場景中調(diào)節(jié)該剪裁范圍。
在圖像生成模式下,可以設置圖像的顯示通道,如RGB三個顏色通道,圖像反色等。將點集數(shù)據(jù)轉(zhuǎn)化成彩色圖像,可采用兩種方式,一為顏色表達式,另一個是偽彩表。下圖為使用偽彩+反色的圖像:
圖像生成模式下有一個控件用于圖像生成控制:
按鈕“Process”用于對圖像的生成。
YChaos是一款通過數(shù)學公式生成混沌圖像的軟件,展示混沌之美,數(shù)學之美。
軟件中定義一套簡易的腳本語言,用于描述數(shù)學表達式。使用時需要先要將數(shù)學表達式寫成該腳本的形式,解析腳本代碼以生成相應的圖形與圖像。
該軟件與我之前寫的Why數(shù)學圖像生成工具和WHY數(shù)學圖形可視化工具(開源)有很大關聯(lián)。
它們使用的是同一套數(shù)學表達式解析代碼。
YChaos會對用戶輸入的數(shù)學公式進行迭代處理,所謂迭代就是將自己的輸出再做為自己的輸入,不斷地做循環(huán)處理。所謂迭代函數(shù)是指將函數(shù)的輸出再次當作輸入進行迭代計算。
有人一碰到數(shù)學就發(fā)怵,不要擔心,生成混沌的數(shù)學公式通常很簡單。例如輸入的公式為:
x = sin(y)+0.5
y = sin(x)+0.5
給定x,y的初始值后,不停地執(zhí)行這兩個公式,每一次執(zhí)行將獲得一對(x,y)數(shù)值,最后將每一次生成的(x,y)值的集合生成一個點集圖形和一幅圖像。
再如上面圖像中的洛倫茨吸引子,其公式所需要的表達式為:
u=a*(y - x)
v=b*x - y - x*z
w=x*y - c*z
x=x+u*t
y=y+v*t
z=z+w*t
有了上述公式,還需要為相應的變量設置初始值,上面圖像中使用的初始值為:
a=10.000000
b=28.000000
c=2.666667
t=0.001000
x=-10.000000
y=10.000000
z=25.000000
三、腳本語法
既然要將數(shù)學公式以計算機能識別的方式表達出來,就需要一套腳本語言。
[1]常量
目前有以下9個常量值
PI 3.1415927
E 2.7182818
GOLD 0.6180034
SQRT2 1.4142136
SQRT3 1.7320508
DEGREE 57.2957795130824f // 180 / PI
RADIAN 0.01745329251994f // PI / 180
MILLIONTH 0.000001f // 百萬分之一
DIMI 0.0001f // 萬分之一
常量名都為大寫字母,在公式中如 (PI + E) 或 sin(PI*0.5)
[2]數(shù)值解析
對整數(shù)的解析支持2,8,10,16四種進制
(1)0X開頭為16進制, XABCDEF大小寫都可以, 如0xffff
(2)0Y開頭為2進制, Y大小寫都可以, 如0y10101010000
(3)0開頭為8進制, 如07523, 注意出現(xiàn)了"08"之類的會解析失敗
(4)默認為10進制
對浮點數(shù)的解析支持兩種方式
(1)形如”0.12”的格式,不能省略前面的0,
(2)科學表達格式.形如1.2e2
[3]變量及其賦值
系統(tǒng)中的所有數(shù)據(jù)類型都為float類型,有兩種變量類型:
1.固定變量
系統(tǒng)中使用a-z的26個英文小寫字母表示變量,變量能夠存儲單個實數(shù),或一個實數(shù)數(shù)組.如果為實數(shù)數(shù)據(jù),則其數(shù)組大小為之前設置的頂點數(shù)目(見3).
設置為單個實數(shù)
a = 3.1415 // 將a賦值為3.1415
固定變量中x,y將組成2D頂點位置坐標,用于圖形與圖像的生成。
2.臨時變量
可以自定義名的變量,以字母或下劃線開頭的字符串,最多有7個字節(jié)。
[4]運算符
完整的運算符說明請看文檔:《運算符說明.txt》
1.標準單目運算符
+,-
如:a = -b
2.標準雙目運算符
+,-,*,/,%,^ <,>,=,&,|
如:c = a * b 如果a,b都為單個實數(shù)則運算結(jié)果c也是單個實數(shù),否則c為實數(shù)數(shù)組
3.函數(shù)單目運算符 形如sin(a)
positive,negative,abs,floor,ceil,sign,sqrt,exp,log,log2,log10,sin,cos,tan,asin,acos,atan,rand
4.函數(shù)雙目運算符 形如pow(a, b)
add,sub,multiply,divide,max,min,mod,pow,atan2,rand2,
5.函數(shù)三目運算符 形如lerp(a, b, r)
lerp,clamp,gray,add3,min3,max3,average3
6.函數(shù)四目運算符 形如average4(a, b, c, d)
add4,min4,max4,average4
[5]運算符嵌套使用
支持{}, [], ()這三類括號標志符,括號必需成對出現(xiàn).支持最大32級括號的嵌套.如:
(2+(-2+(5.0*(9 + ((1+2)*3))/3) + 2))
-{exp[5*sqrt(1 -abs[sin{rand(100)}]) + 6]}
[6]表達式語句
腳本中有三類表達式:
正常語句,形如:u=a*(y - x)表示將等號右邊公式計算出來的數(shù)值賦給左邊變量。
靜態(tài)語句,形如:k = [static]0.5*q*(u*u + v*v)在公式前面加了一個[static]前綴,表示該表達式只在腳本處理的開始執(zhí)行一遍。
循環(huán)語句,形如:y=[loop:64]k+y*y表示該表達式需要循環(huán)執(zhí)行64遍。
四、配置文件
用戶編輯好一個混沌圖像后,可以將其保存到一個配置文件中,其配置文件的格式如下:
[ScriptLines]這是數(shù)學公式
u=a*(y - x)
v=b*x - y - x*z
w=x*y - c*z
x=x+u*t
y=y+v*t
z=z+w*t
[Variables]這是公式所需要設置的變量初始值
a=10.000000
b=28.000000
c=2.666667
t=0.001000
x=-10.000000
y=10.000000
z=25.000000
[ColorTable]顏色表公式,用于將頂點數(shù)據(jù)轉(zhuǎn)化為彩色圖像
Size=1024
Red=log(v*4)*18.0
Green=log(v*3)*20.0
Blue=
ColorScaleRed=1.000000
ColorScaleGreen=1.000000
ColorScaleBlue=1.000000
[Pseudo]圖像偽彩,將頂點數(shù)據(jù)轉(zhuǎn)化為彩色圖像的另一種方式
WinPos=127
WinWid=255
PseudoName=Default
Used=false
[Params]其他相關參數(shù)
Iteration=10000000公式的總迭代次數(shù)
StepValue=0.000100
ImageMinX=-25.677399頂點坐標轉(zhuǎn)化成圖像時所需要的剪裁范圍
ImageMinY=-25.972094
ImageMaxX=24.993305
ImageMaxY=24.698610
ProcessSpeed=2000生成圖像時的速度
關于騰牛 | 聯(lián)系方式 | 發(fā)展歷程 | 版權聲明 | 下載幫助(?) | 廣告聯(lián)系 | 網(wǎng)站地圖 | 友情鏈接
Copyright 2005-2022 QQTN.com 【騰牛網(wǎng)】 版權所有 鄂ICP備2022005668號-1 | 鄂公網(wǎng)安備 42011102000260號
聲明:本站非騰訊QQ官方網(wǎng)站 所有軟件和文章來自互聯(lián)網(wǎng) 如有異議 請與本站聯(lián)系 本站為非贏利性網(wǎng)站 不接受任何贊助和廣告