Pokaż oznaczenie:
Przesuń oznaczenie:
X : Y :RoboCompass ma 10 poleceń rysowania i 12 komend pomocniczych. Komendy rysowania mogą być przypisane do oznaczeń i można odwołać się do nich w innych komendach. W efekcie, polecenia mogą być łączone w twórczy sposób w celu tworzenia wszelkiego rodzaju konstrukcji geometrycznych.
point(x,y)
A=point(3,4)line(x1,y1,x2,y2)
line(0,0,-2,5)arc(originPoint,radius,angleFrom,upto)
arc(point1,point2,originPoint,angleFrom,upto)
perp(line,passThroughPoint,length=10)
A=perp(line(1,2,3,4),point(1,2))
perp(A,B)
parallel(line,passThroughPoint,length=10)
parallel(line(1,2,3,4),point(1,2))
parallel(A,B)angle(point1,point2,degrees)
angle(point(2,0),point(6,0),45)
angle(A,B,90,1)polygon(comma separated points)
polygon(point(2,2),point(4,2),point(3,5))
polygon(A,B,C)findangle(2 lines or a polygon)
findangle(A,B)fill(A,B,fillType=0,output=1)
fill(A)trace(comma separated points)
trace(point(0,0),point(1,sin(30)),point(1,sin(60)),point(1,sin(120)),B)Jako zasada ogólna, w przypadku gdy jakikolwiek punkt występuje w wyrażeniu, możemy użyć point(2,3) lub użyć jego oznaczenia lub użyć polecenia pomocniczego, które obliczy i zaznaczy punkt. Podobnie wszędzie tam, gdzie oczekuje się linii, możemy dać oznaczenie tej linii lub oznaczenie dwóch punktów.
Przykładowo arc(A,B,point(2,1),50,40) wykorzystuje odległość od A do B jako promień i rysuje łuk o środku (2,1). Uwaga: zamiast punktu (2,1), możemy użyć "C", jeśli mamy punkt oznaczony literą C.
dist(point1, point2)
dist(point(2,1),point(1,2))X(point)
A=X(point(2,1))
X(A)Y(point)
B=Y(point(1,2))
Y(A)pos(polygon or line or arc,index)
pos(B,2)intersect(object1,object2,index=1)
G=point(intersect(D,E))
intersect(D,E,2)reflect(object,line)
reflect(point(2,2),line(4,0,4,4))
reflect(D,A)rotate(object,angle,withrespectTo=point(0,0))
rotate(point(2,2),90,point(0,0))
rotate(D,30,A)translate(object,x,y,withrespectTo=point(0,0))
translate(arc(2,3,3,0,180),2,3,point(2,1))
translate(G,2,4)dilate(object,scaleFactor,withRespectTo=point(0,0))
dilate(point(3,1),2)
dilate(M,0.5,point(8,0))project(point1,line)
project(point(2,2),line(0,0,1,0))
project(A,line(0,0,1,0))interpolate(point1,point2,ratio)
interpolate(point(0,0),point(10,0),0.3)
interpolate(A,B,0.5)hide(comma separated labels)
hide(A,B,C,D)
show(A,B,C,D)group(comma separated objects)
C=group(A,B)
m=group(a,b,c,d)Różne kształty mogą być tworzone przez zastosowanie operacji logicznych do prostych figur. Na przykład and(A,B,C)daje część wpólną A,B,C gdzie A,B,C to łuki lub wielokąty. Analogicznie or(A,E,polygon(0,0,2,3,4,1)) i diff(A,B) dają, odpowiednio, sumę i różnicę danych obszarów. Obszary bez części wspólnej nie są obsługiwane (wynik operacji xor) ale ten sam rezultat może być uzyskany poprzez łączenie wielokątów za pomocą komendy group.
and(comma separated objects)
and(A,B,C)or(comma separated objects)
or(A,E,polygon(0,0,2,3,4,1))diff(comma separated objects)
diff(A,B)Wszystkie elementarne funkcje matematyczne, takie jak sin,cos,tan,asin,acos,atan,log,sqrt,max,min są obsługiwane. Uwaga: Miary kątów w funkcjach trygonometrycznych wyrażane są w stopniach.