Some functions I have calculated, developed and tested myselfe...
Get distance.. Very simple, but very usefull:
2D:
Function Dist2D(x1,y1,x2,y2)
tmp# = SQRT((x1-x2)^2+(y1-y2)^2)
EndFunction tmp#
3D:
Function Dist3D(x1,y1,z1,x2,y2,z2)
tmp# = SQRT(SQRT((x1-x2)^2+(y1-y2)^2)^2+(z1-z2)^2)
EndFunction tmp#
Invert Image Colors:
Final image will be in imgnum2
Function InvertColors(SrcFileName$,imgnum1,imgnum2,memnum1,memnum2
Load Image SrcFileName$, imgnum1, 1
Make Memblock From Image memnum1, imgnum1
MemSize = Get Memblock Size(memnum1)
Make Memblock memnum2, MemSize
Write Memblock dWord memnum2, 0, Memblock dWord(memnum1, 0)
Write Memblock dWord memnum2, 4, Memblock dWord(memnum1, 4)
Write Memblock dWord memnum2, 8, Memblock dWord(memnum1, 8)
For n = 12 To MemSize - 1
TempVarA = Memblock Byte(memnum1, n)
TempVarB = 255 - TempVarA
Write Memblock Byte memnum2, n, TempVarB
Next n
Make Image From Memblock memnum2, imgnum2
Delete Memblock memnum1
Delete Memblock memnum2
Delete Image imgnum1
EndFunction
Get the coord from a custom size circles edge at a custom degree:
NOTE: This function will return 2 coords at once (X and Y).. See how to split them into two strings in the next two functions...
Function GetOrbitCoord(XPos,YPos,Angle#,Distance)
Angle#=Wrapvalue(Angle#)
X=XPos+Distance*SIN(Angle#)
Y=YPos-Distance*COS(Angle#)
OutPut$=Str$(X)+","+Str$(Y)
EndFunction OutPut$
Get String Before a certain string (or char):
Function GetBefore$(SearchFor$,SearchIn$)
OutPut$=""
SFL=Len(SearchFor$)
SIL=Len(SearchIn$)
For N=1 To SIL-SFL
tmp=N-1
If Right$(Left$(SearchIn$,SFL+tmp),SFL)=SearchFor$ Then OutPut$=Left$(SearchIn$,tmp)
Next N
EndFunction OutPut$
Same as above just to get after:
Function GetAfter$(SearchFor$,SearchIn$)
OutPut$=""
SFL=Len(SearchFor$)
SIL=Len(SearchIn$)
For N=1 To SIL-SFL
tmp=N-1
If Left$(Right$(SearchIn$,SFL+tmp),SFL)=SearchFor$ Then OutPut$=Right$(SearchIn$,tmp)
Next N
EndFunction OutPut$

Not up yet --> http://thecyborg.t35.com/