Try this:
XPos = 100
YPos = 100
Radius = 50
d# = 100
global ang as float
SYNC OFF
DO
CLS
IF upKey() = 1 THEN YPos = YPos - 2
IF downKey() = 1 THEN YPos = YPos + 2
IF rightKey() = 1 THEN XPos = XPos + 2
IF leftKey() = 1 THEN XPos = XPos - 2
IF keyState(30) = 1 THEN dec ang, 5 REM If keystate equals "a" then rotate the traingle left around the circle
IF keyState(32) = 1 THEN inc ang, 5 REM If keystate equals "d" then rotate the traingle right around the circle
draw_lines(XPos, YPos, ang, d#)
CIRCLE XPos, YPos, Radius
SYNC
LOOP
function draw_lines(x#, y#, angle#, dist#)
vx# = dist# * cos(angle#)
vy# = dist# * sin(angle#)
ax# = x# + vy#*.5
ay# = y# - vx#*.5
bx# = x# + vx#
by# = y# + vy#
cx# = x# - vy#*.5
cy# = y# + vx#*.5
line ax#,ay#,bx#,by#
line cx#,cy#,bx#,by#
endfunction
I just used sin/cos to get a vector to point 'B' and then reversed (and halved) the vectors to get the 'A' and 'C' points.
Hope that makes sense!