Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Screen Savers
#75
Simpler Mystic 3 try image

This code, screenshot and zip have been updated 2 hours after original post. I wanted to keep in spirit of Mystic with the multiple frames fading.

Code: (Select All)

t$ = "Simpler Mystic 3 try image d = double on/off, q = 4 on/off,"
t$ = t$ + " spacebar resets color, m = more, l = less, n = new Poly, f = faster,"
t$ = t$ + "  s = slower": _Title t$
_Title t$
' 2026-01-10 attempt to do Mystic with only one Poly and fades
' 2026-01-11 add number of points option from 1 to 9 points, one aint much but...

' 2026-01-12 Simpler Mystic 3 now try an image using a 4 point Poly
' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! KEY Instructions !!!!!!!!!!!!!!!!!!!
' d = double ie 2 sets of Polys
' q = quad ie 4 sets of Polys
' f = faster  s = slower
' m = more, l = less image Polys
' n = new Poly
' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Const xmax = 1280, ymax = 720
Dim Shared pR, pG, pB, cN, NPm1, Img
Randomize Timer: Screen _NewImage(xmax, ymax, 32): _ScreenMove 0, 10

I$ = "Doyle Spirals.PNG" ' <<<<<<<<<<<< OR try your own image here!

Img = _LoadImage(I$, 32)
If Img = -1 Then Print "Image did not load, so sorry, goodbye!": End
_ClearColor &HFF000000, Img
np = 4: NPm1 = np - 1
ReDim Shared X(NPm1), Y(NPm1), DX(NPm1), DY(NPm1), dMode, qMode
dMode = 0: alpha = 35: lim = 10
resetPlasma: newPoly
While _KeyDown(27) = 0
    Line (0, 0)-(xmax, ymax), _RGB32(0, 0, 0, alpha), BF
    updatePoly
    Color &HFFFFFFFF
    Locate 1, 1
    If qMode Then
        Print " Mode: 4 Symmetric Sets",
    ElseIf dMode Then
        Print " Mode: 2 Symmetric Sets",
    Else
        Print "Mode: 1 Poly Set",
    End If
    Print " alpha:"; alpha, "speed:"; lim
    _Display
    k$ = InKey$
    If k$ = "d" Then
        Cls: dMode = Not dMode: qMode = 0
    ElseIf k$ = "q" Then
        Cls: qMode = Not qMode: dMode = 0
    ElseIf k$ = "f" Then
        lim = lim + 5: If lim > 120 Then lim = 120
    ElseIf k$ = "s" Then
        lim = lim - 5: If lim < 5 Then lim = 5
    ElseIf k$ = "m" Then ' less alpha shows more triantgles
        alpha = alpha - 1: If alpha < 1 Then alpha = 1
    ElseIf k$ = "l" Then ' more alpha shows less Polys
        alpha = alpha + 1: If alpha > 255 Then alpha = 255 ' one Poly
    ElseIf k$ = "n" Then
        Cls: newPoly
    End If
    _Limit lim
Wend
Sub newPoly
    For I = 0 To NPm1
        X(I) = Rnd * xmax: Y(I) = Rnd * ymax: DX(I) = (Rnd * 10 + 10) * rdir: DY(I) = (Rnd * 6 + 10) * rdir
    Next
End Sub
Sub updatePoly
    changePlasma
    For I = 0 To NPm1
        If X(I) + DX(I) < 0 Or X(I) + DX(I) >= xmax Then DX(I) = DX(I) * -1
        If Y(I) + DY(I) < 0 Or Y(I) + DY(I) >= ymax Then DY(I) = DY(I) * -1
        X(I) = X(I) + DX(I): Y(I) = Y(I) + DY(I)
    Next
    _MapTriangle (0, 0)-(_Width(Img) - 1, 0)-(_Width(Img) - 1, _Height(Img) - 1), Img To(X(0), Y(0))-(X(1), Y(1))-(X(2), Y(2)), 0
    _MapTriangle (_Width(Img) - 1, _Height(Img) - 1)-(0, _Height(Img) - 1)-(0, 0), Img To(X(2), Y(2))-(X(3), Y(3))-(X(0), Y(0)), 0
    If dMode Then
        _MapTriangle (0, 0)-(_Width(Img) - 1, 0)-(_Width(Img) - 1, _Height(Img) - 1), Img To(xmax - X(0), ymax - Y(0))-(xmax - X(1), ymax - Y(1))-(xmax - X(2), ymax - Y(2)), 0
        _MapTriangle (_Width(Img) - 1, _Height(Img) - 1)-(0, _Height(Img) - 1)-(0, 0), Img To(xmax - X(2), ymax - Y(2))-(xmax - X(3), ymax - Y(3))-(xmax - X(0), ymax - Y(0)), 0
    ElseIf qMode Then
        _MapTriangle (0, 0)-(_Width(Img) - 1, 0)-(_Width(Img) - 1, _Height(Img) - 1), Img To(xmax - X(0), ymax - Y(0))-(xmax - X(1), ymax - Y(1))-(xmax - X(2), ymax - Y(2)), 0
        _MapTriangle (_Width(Img) - 1, _Height(Img) - 1)-(0, _Height(Img) - 1)-(0, 0), Img To(xmax - X(2), ymax - Y(2))-(xmax - X(3), ymax - Y(3))-(xmax - X(0), ymax - Y(0)), 0

        _MapTriangle (0, 0)-(_Width(Img) - 1, 0)-(_Width(Img) - 1, _Height(Img) - 1), Img To(X(0), ymax - Y(0))-(X(1), ymax - Y(1))-(X(2), ymax - Y(2)), 0
        _MapTriangle (_Width(Img) - 1, _Height(Img) - 1)-(0, _Height(Img) - 1)-(0, 0), Img To(X(2), ymax - Y(2))-(X(3), ymax - Y(3))-(X(0), ymax - Y(0)), 0

        _MapTriangle (0, 0)-(_Width(Img) - 1, 0)-(_Width(Img) - 1, _Height(Img) - 1), Img To(xmax - X(0), Y(0))-(xmax - X(1), Y(1))-(xmax - X(2), Y(2)), 0
        _MapTriangle (_Width(Img) - 1, _Height(Img) - 1)-(0, _Height(Img) - 1)-(0, 0), Img To(xmax - X(2), Y(2))-(xmax - X(3), Y(3))-(xmax - X(0), Y(0)), 0
    End If
End Sub
Sub changePlasma
    cN = cN + 1
    Color _RGB(127 + 127 * Sin(pR * .5 * cN), 127 + 127 * Sin(pG * .5 * cN), 127 + 127 * Sin(pB * .5 * cN))
End Sub
Sub resetPlasma ()
    pR = Rnd ^ 2: pG = Rnd ^ 2: pB = Rnd ^ 2
End Sub
Function rdir% ()
    If Rnd < .5 Then rdir% = -1 Else rdir% = 1
End Function

   

The image being manipulated is this:
   

zip with image used in screen shot:


Attached Files
.zip   Simpler Mystic 3 Image.zip (Size: 95.87 KB / Downloads: 5)
  724  855  599  923  575  468  400  206  147  564  878  823  652  556 bxor cross forever
Reply


Messages In This Thread
Screen Savers - by bplus - 04-27-2022, 12:29 AM
RE: Screen Savers - by Dav - 04-27-2022, 02:26 PM
RE: Screen Savers - by bplus - 04-27-2022, 02:33 PM
RE: Screen Savers - by bplus - 04-30-2022, 11:55 PM
RE: Screen Savers - by madscijr - 04-17-2025, 01:22 PM
RE: Screen Savers - by Dav - 05-01-2022, 07:22 PM
RE: Screen Savers - by bplus - 05-01-2022, 08:26 PM
RE: Screen Savers - by bplus - 05-02-2022, 12:00 AM
RE: Screen Savers - by madscijr - 04-12-2025, 05:56 AM
RE: Screen Savers - by Coolman - 05-02-2022, 09:42 AM
RE: Screen Savers - by bplus - 05-03-2022, 02:13 AM
RE: Screen Savers - by bplus - 05-09-2022, 01:32 PM
RE: Screen Savers - by bplus - 05-19-2022, 07:22 PM
RE: Screen Savers - by bplus - 05-21-2022, 11:22 PM
RE: Screen Savers - by Pete - 05-21-2022, 11:27 PM
RE: Screen Savers - by bplus - 05-21-2022, 11:38 PM
RE: Screen Savers - by Pete - 05-22-2022, 04:39 AM
RE: Screen Savers - by bplus - 06-17-2022, 01:10 PM
RE: Screen Savers - by johnno56 - 06-18-2022, 12:23 AM
RE: Screen Savers - by Kernelpanic - 06-18-2022, 11:48 AM
RE: Screen Savers - by bplus - 06-18-2022, 01:47 AM
RE: Screen Savers - by bplus - 06-18-2022, 12:33 PM
RE: Screen Savers - by SierraKen - 06-20-2022, 09:50 PM
RE: Screen Savers - by bplus - 06-21-2022, 12:15 AM
RE: Screen Savers - by bplus - 06-29-2022, 04:52 PM
RE: Screen Savers - by SierraKen - 06-29-2022, 06:10 PM
RE: Screen Savers - by vince - 07-01-2022, 10:32 PM
RE: Screen Savers - by bplus - 07-01-2022, 11:05 PM
RE: Screen Savers - by bplus - 07-04-2022, 06:54 PM
RE: Screen Savers - by Kernelpanic - 07-04-2022, 09:11 PM
RE: Screen Savers - by bplus - 07-04-2022, 09:54 PM
RE: Screen Savers - by Kernelpanic - 07-05-2022, 02:14 PM
RE: Screen Savers - by bplus - 07-19-2022, 08:28 PM
RE: Screen Savers - by bplus - 08-28-2022, 12:55 AM
RE: Screen Savers - by TempodiBasic - 08-29-2022, 09:26 AM
RE: Screen Savers - by bplus - 09-06-2022, 12:35 AM
RE: Screen Savers - by SierraKen - 09-08-2022, 07:37 PM
RE: Screen Savers - by bplus - 09-09-2022, 02:22 AM
RE: Screen Savers - by SpriggsySpriggs - 09-15-2022, 04:38 PM
RE: Screen Savers - by bplus - 09-15-2022, 05:20 PM
RE: Screen Savers - by bplus - 01-31-2023, 04:21 PM
RE: Screen Savers - by vince - 02-01-2023, 07:27 AM
RE: Screen Savers - by bplus - 02-01-2023, 05:05 PM
RE: Screen Savers - by bplus - 03-13-2023, 10:51 PM
RE: Screen Savers - by vince - 03-31-2023, 11:09 PM
RE: Screen Savers - by bplus - 04-01-2023, 12:09 AM
RE: Screen Savers - by bplus - 05-14-2024, 03:00 PM
RE: Screen Savers - by PhilOfPerth - 05-15-2024, 08:24 AM
RE: Screen Savers - by bplus - 05-15-2024, 11:15 PM
RE: Screen Savers - by bplus - 08-20-2024, 12:00 AM
RE: Screen Savers - by bplus - 02-08-2025, 01:20 AM
RE: Screen Savers - by bplus - 04-12-2025, 10:49 AM
RE: Screen Savers - by madscijr - 04-12-2025, 05:01 PM
RE: Screen Savers - by SMcNeill - 04-17-2025, 01:32 PM
RE: Screen Savers - by madscijr - 04-17-2025, 04:42 PM
RE: Screen Savers - by SMcNeill - 04-17-2025, 05:03 PM
RE: Screen Savers - by NakedApe - 04-17-2025, 01:34 PM
RE: Screen Savers - by bplus - 04-17-2025, 02:59 PM
RE: Screen Savers - by madscijr - 04-17-2025, 05:54 PM
RE: Screen Savers - by SMcNeill - 04-17-2025, 05:59 PM
RE: Screen Savers - by madscijr - 04-17-2025, 06:58 PM
RE: Screen Savers - by madscijr - 04-18-2025, 03:07 AM
RE: Screen Savers - by madscijr - 04-18-2025, 07:55 PM
RE: Screen Savers - by aadityap0901 - 10-31-2025, 10:15 AM
RE: Screen Savers - by Unseen Machine - 11-01-2025, 01:41 AM
RE: Screen Savers - by aadityap0901 - 11-01-2025, 08:35 AM
RE: Screen Savers - by bplus - 01-09-2026, 03:40 PM
RE: Screen Savers - by ahenry3068 - 01-09-2026, 06:36 PM
RE: Screen Savers - by bplus - 01-09-2026, 08:33 PM
RE: Screen Savers - by bplus - 01-11-2026, 03:28 AM
RE: Screen Savers - by bplus - 01-11-2026, 11:44 AM
RE: Screen Savers - by ahenry3068 - 01-11-2026, 02:35 PM
RE: Screen Savers - by bplus - 01-11-2026, 03:15 PM
RE: Screen Savers - by ahenry3068 - 01-11-2026, 09:58 PM
RE: Screen Savers - by bplus - 01-13-2026, 12:51 AM

Forum Jump:


Users browsing this thread: 2 Guest(s)