📄 factionview.cpp
字号:
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow(log(fabs(atan(log(fabs(sin(dL2)*sin(Hssx)+cos(Hssy))))))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((fabs(temp2)-fabs(temp1))*2, Kn2) )%512-256));
break;
case 13:
M = 10;
nM = 9;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9]*0.5f + 3;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow(log(fabs(sin(cos(dL3))))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow(log(fabs(cos(sin(dL3))))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow(log(fabs(sin(dL3)))*2, Kn2) )%512-256));
break;
case 14:
M = 1000;
nM = 1;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9]*0.5f + 3;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow(log(fabs(sin(cos(log(dL4)))))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow(log(fabs(cos(sin(log(dL4)))))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow(log(fabs(sin(log(dL4))))*2, Kn2) )%512-256));
break;
case 15:
temp1 = x0*x0 - y0*y0;
temp2 = 2*x0*y0;
x0 = temp1;
y0 = temp2;
temp1 = x0*x0 - y0*y0;
temp2 = 2*x0*y0;
x0 = temp1;
y0 = temp2;
M = 23;
nM = 21;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9]*0.5f - 3.5f;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((log(fabs(Hssx*Hssx+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((10 * log((dL2+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((log(fabs(Hssy*Hssy+0.000001)))*2, Kn2) )%512-256));
break;
case 16:
M = 1000;
nM = 11;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9] + 12;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((sin(M-i/1000 + log(fabs(dL2) + log(fabs(dL1)))))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((cos(M-i/1000 + log(fabs(dL2) + log(fabs(dL3)))))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((sin(M-i/1000 + (fabs(dL2))))*2, Kn2)/M )%512-256));
break;
case 17:
M = 1000;
nM = 11;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9] + 9;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((log(dL1+0.001*dL2))*2, Kn2)/M)%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((log(dL1+0.001*dL2))*2, Kn2)/M)%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((log(dL2+0.001*dL2))*2, Kn2)/M)%512-256));
break;
case 18:
temp1 = x0*x0 - y0*y0;
temp2 = 2*x0*y0;
x0 = temp1;
y0 = temp2;
temp1 = sin(x0);
temp2 = sin(y0);
x0 = temp1;
y0 = temp2;
M = 23;
nM = 21;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9]*0.5f - 3.5f;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((log(fabs(Hssx*Hssx+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((10 * log((dL2+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((log(fabs(Hssy*Hssy+0.000001)))*2, Kn2) )%512-256));
break;
case 19:
M = 1000;
nM = 11;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9] + 9;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow(tan(fabs(log(log(dL2+dL3) + sin(log(dL1+dL3)))))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow(tan(fabs(log(log(dL2+dL3) + sin(log(dL1+dL3)))))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow(tan(fabs(log(log(dL2+dL3) + sin(log(dL1+dL3)))))*2, Kn2)/M )%512-256));
break;
case 20:
temp1 = x0*x0 - y0*y0;
temp2 = 2*x0*y0;
x0 = temp1;
y0 = temp2;
M = 5;
nM = 3;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9]*0.5f - 1;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((log(fabs((Hssx+Hssy)*(Hssx+Hssy)+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((log((dL2*100+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((log(fabs((Hssx+Hssy)*(Hssx+Hssy)+0.000001)))*2, Kn2) )%512-256));
break;
case 21:
M = 1000;
nM = 15;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
if(!i) i=21;
Kn2 = (float)G.m_dSeData[0][9] + 10;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((sin(log(1/i) + log(fabs(dL2))))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((cos(log(1/i) + log(fabs(dL2))))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((sin(log(1/i) + log(fabs(dL2))))*2, Kn2)/M )%512-256));
break;
case 22:
M = 1000;
nM = 15;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
if(!i) i=22;
Kn2 = (float)G.m_dSeData[0][9] + 10;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((sin(log(10/i) + log(fabs(log(fabs(dL2))))))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((cos(log(10/i) + log(fabs(log(fabs(dL2))))))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((sin(log(10/i) + log(fabs(log(fabs(dL2))))))*2, Kn2)/M )%512-256));
break;
case 23:
temp1 = (x0*x0) - (y0*y0);
temp2 = 2*x0*y0;
x0 = temp1;
y0 = temp2;
G.Zshang(0.7, 0, x0, y0, &temp1, &temp2);
x0 = temp1;
y0 = temp2;
M = 1000;
nM = 30;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
if(!i) i=23;
Kn2 = (float)G.m_dSeData[0][9] + 10;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((sin(log(100/i) + sin(fabs(log(fabs(dL2))))))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((cos(log(100/i) + sin(fabs(log(fabs(dL2))))))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((sin(log(100/i) + cos(fabs(log(fabs(dL2))))))*2, Kn2)/M )%512-256));
break;
case 24:
M = 1000;
nM = 30;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
if(!i) i=24;
Kn2 = (float)G.m_dSeData[0][9] + 10;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((sin(log(100/i)+1/(sin(fabs(log(fabs(dL2)))))))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((cos(log(100/i)+1/(sin(fabs(log(fabs(dL2)))))))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((sin(log(100/i)+1/(cos(fabs(log(fabs(dL2)))))))*2, Kn2)/M )%512-256));
break;
case 25:
M = 1000;
nM = 10;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
if(!i) i=25;
Kn2 = (float)G.m_dSeData[0][9] + 11;
temp1 = tan(fabs(sin(fabs(log(fabs(dL4))))));
temp2 = tan(fabs(sin(fabs(log(fabs(dL2))))));
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((sin(log(100/i)+temp1))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((cos(log(100/i)+temp2))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((sin(log(100/i)+temp1))*2, Kn2)/M )%512-256));
break;
case 26:
M = 1000;
nM = 30;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
if(!i) i=26;
Kn2 = (float)G.m_dSeData[0][9] + 11;
temp1 = tan(fabs(sin(fabs(log(fabs(dL4))))));
temp2 = tan(fabs(sin(fabs(log(fabs(dL2))))));
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((sin(log(100/i)+temp1))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((cos(log(100/i)+temp2))*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((sin(log(100/i)+temp1))*2, Kn2)/M )%512-256));
break;
case 27:
temp1 = (x0*x0) - (y0*y0);
temp2 = 2*x0*y0;
x0 = temp1;
y0 = temp2;
G.Zshang(0.7, 0, x0, y0, &temp1, &temp2);
x0 = temp1;
y0 = temp2;
M = 5;
nM = 3;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9]*0.5f - 1;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((log(fabs((Hssy*Hssy)/(Hssx*Hssx)+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((log((dL2+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((log(fabs((Hssx+Hssy)*(Hssx+Hssy)+0.000001)))*2, Kn2) )%512-256));
break;
case 28:
temp1 = x0*x0 - y0*y0;
temp2 = 2*x0*y0;
x0 = temp1;
y0 = temp2;
temp1 = x0*x0 - y0*y0;
temp2 = 2*x0*y0;
x0 = temp1;
y0 = temp2;
M = 4;
nM = 2;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9]*0.5f - 1.5f;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((log(fabs(Hssx*Hssx+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((log((dL2*100+Hssy+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((log(fabs(Hssy*Hssy+0.000001)))*2, Kn2) )%512-256));
break;
case 29:
temp1 = tan(x0 / 1.5);
temp2 = tan(y0);
x0 = temp1;
y0 = temp2;
M = 13;
nM = 11;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9]*0.5f - 1.5f;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((log(fabs(pow(Hssy, 2.5)+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((log((dL2+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((log(fabs(pow(Hssx, 2.5)+0.000001)))*2, Kn2) )%512-256));
break;
case 30:
temp1 = x0*x0 - y0*y0;
temp2 = 2*x0*y0;
x0 = temp1;
y0 = temp2;
M = 23;
nM = 21;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9]*0.5f - 3.5f;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((log(fabs(Hssx*Hssx+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((3 * log((dL2+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((log(fabs(Hssy*Hssy+0.000001)))*2, Kn2) )%512-256));
break;
case 31:
G.fz2(x0, y0, 0, 1, &temp1, &temp2, 2);
x0 = temp1;
y0 = temp2;
temp1 = x0*x0 - y0*y0;
temp2 = 2*x0*y0;
x0 = temp1;
y0 = temp2;
temp1 = x0*x0 - y0*y0;
temp2 = 2*x0*y0;
x0 = temp1;
y0 = temp2;
M = 5;
nM = 3;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9]*0.5f - 1;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((log(fabs((Hssx+Hssy)*(Hssx+Hssy)+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((log((dL2 * 100+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((log(fabs((Hssx+Hssy)*(Hssx+Hssy)+0.000001)))*2, Kn2) )%512-256));
break;
case 32:
G.fz2(y0, x0, 0.3, 0.3, &temp1, &temp2, 4);
x0 = temp1;
y0 = temp2;
temp1 = x0*x0 - y0*y0;
temp2 = 2*x0*y0;
x0 = temp1;
y0 = temp2;
temp1 = x0*x0 - y0*y0;
temp2 = 2*x0*y0;
x0 = temp1;
y0 = temp2;
M = 4;
nM = 2;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9]*0.5f - 1.5f;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((log(fabs(Hssx*Hssx+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((log((dL2*100+Hssy+0.000001)))*2, Kn2) )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((log(fabs(Hssy*Hssy+0.000001)))*2, Kn2) )%512-256));
break;
default:
M = 10000;
nM = 11;
i = G.MMi(x0, y0, int(G.m_dSeData[0][13]), M, nM, &Hssx, &Hssy, &dL1, &dL2, &dL3, &dL4); //i
Kn2 = (float)G.m_dSeData[0][9] + 11.5f;
se = RGB(256 - abs((int)fabs(Se1 - (2*Se2-256) * pow((M-i)*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se2 - (2*Se3-256) * pow((M-i)*2, Kn2)/M )%512-256),
256 - abs((int)fabs(Se3 - (2*Se1-256) * pow((M-i)*2, Kn2)/M )%512-256));
}
//temp = memDC.SetPixelV(A, B, se);
temp = pDC->SetPixelV(A, B, se);
//因为单独的绘图操作占整个显示图像的时间比很少,所以这里没有做优化, _
//但用API的函数还是比VB自带的快很多倍,(SetPixelV比SetPixel快)
}
MSG msg;
while(PeekMessage(&msg,NULL,0,0,PM_REMOVE))//post all messages
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
if(G.m_bESCStop)
break;
/*
DoEvents
If Mang <> Tmang Then //防止同时运行多个本线程的代码
Mang = -1
Exit Sub
End If
*/
//Picture2保存绘制的图像(实际的图形),Picture1用来显示,以下代码实现显示,并尽量减少绘图操作。
/*tempA = int(A * frmMain.Picture1.ScaleWidth / frmMain.Picture2.ScaleWidth)
If (tempA <> temp1 And tempA <> temp2) Then
temp2 = temp1: temp1 = tempA
frmMain.Picture1.PaintPicture frmMain.Picture2.Image, _
tempA, _
0, _
int(1# * frmMain.Picture1.ScaleWidth / frmMain.Picture2.ScaleWidth + 0.999999999999), _
frmMain.Picture1.ScaleHeight, _
A, _
0, _
1, _
frmMain.Picture2.ScaleHeight, _
&HCC0020
Else
tempA = -1
End If
*/
}
//整幅图像全部刷新显示
/*frmMain.Picture1.PaintPicture frmMain.Picture2.Image, 0, 0, _
frmMain.Picture1.ScaleWidth, frmMain.Picture1.ScaleHeight, _
0, _
0, frmMain.Picture2.ScaleWidth, _
frmMain.Picture2.ScaleHeight, &HCC0020
frmMain.Picture1.Refresh
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -