#Region Project Attributes
#MainFormWidth: 1200
#MainFormHeight: 800
#End Region
Sub Process_Globals
Private fx As JFX
Private MainForm As Form
Private xui As XUI
Dim N, cnt As Int
Dim r, y As Double
Private sc1 As ScatterChart
Private YAxis As NumberAxis
Private XAxis As NumberAxis
Dim starttime, endtime As Long
End Sub
Sub AppStart (Form1 As Form, Args() As String)
MainForm = Form1
MainForm.RootPane.LoadLayout("Layout1")
MainForm.Show
MainForm.Stylesheets.Add(File.GetUri(File.DirAssets, "chartcolors.css"))
sc1.Animated = False
sc1.LegendVisible = False
YAxis = sc1.YAxis
YAxis.AutoRanging = False
XAxis = sc1.XAxis
XAxis.AutoRanging = False
XAxis.LowerBound = 0.69
XAxis.UpperBound = 1.1
YAxis.LowerBound = -0.1
YAxis.UpperBound = 1.1
cnt = 0
Dim series(1600) As XYSeries
For i = 0 To 1599
series(i).Initialize("")
Next
cnt = 0
N = 1500
starttime = DateTime.Now
For r = 0.7 To 1.0 Step r + 0.3/N
y = (Rnd(0, 1000001))/1000000
For i = 0 To 999
y = logistic(y,r)
Next
For i = 0 To 99
y = logistic(y,r)
series(cnt).Add(r, y)
Next
sc1.AddSeries(series(cnt))
cnt = cnt + 1
'Log(cnt)
Sleep(0)
Next
endtime = DateTime.now
Log("cnt = " & cnt)
Log("DONE")
Dim duration As Long = endtime - starttime
Dim seconds As Int = duration/1000
Log(seconds)
End Sub
Sub logistic(y1 As Double, r1 As Double) As Double
Return 4.0 * r1 * y1 * (1.0 - y1)
End Sub
'It is based on this web posting:
'https://introcs.cs.princeton.edu/java/94diffeq/LogisticMap.java.html