Rotación, reflexión y traslación
Disponiblerotate(objeto, O, θ) gira un punto, un segmento, una recta, una circunferencia, una elipse o una figura θ grados alrededor de O, antihorario (con signo menos, horario). reflect(objeto, r) lo refleja respecto de una recta, un segmento o un lado AB, y reflect(objeto, A, B), respecto de la recta que pasa por A y B. translate(objeto, A, B) lo traslada por el vector que lleva A a B.
Imágenes vivas: al mover la figura, el centro, el eje o los puntos del vector, la imagen se rehace. Los vértices de la imagen de una figura se ven con prima (A′), y los de la imagen de una imagen, con dos (A″).
/qf-dsl
O = point(0, 0)
p0 = ellipse((2, 0), a=2, b=0.6)
p1 = rotate(p0, O, 60)
p2 = rotate(p0, O, 120)
p3 = rotate(p0, O, 180)
p4 = rotate(p0, O, 240)
p5 = rotate(p0, O, 300)
/qf-style
elipse { relleno: translúcido violeta }
O { marcador: ninguno; rótulo: no }Cada pétalo es el primero girado alrededor de O: 60°, 120°, 180°, 240° y 300°.
/qf-dsl
M = point(-1, -4)
N = point(2, 4)
r = line(M, N)
A = point(-5, 0)
B = point(-2, -1)
C = point(-3, 3)
T = triangle(A, B, C)
T2 = reflect(T, r)
aa = segment(A, T2_A, dashed)
cc = segment(C, T2_C, dashed)Cada vértice de A′B′C′ queda del otro lado de r, a la misma distancia: AA′ y CC′ son perpendiculares a r. Arrastra N: el eje gira y la imagen lo sigue.
/qf-dsl
A = point(-6, -3)
B = point(-3, -2)
v = segment(A, B)
P = point(-6, 0)
Q = point(-4, 0)
R = point(-5, 2)
T = triangle(P, Q, R)
T2 = translate(T, A, B)
T3 = translate(T2, A, B)
T4 = translate(T3, A, B)Un friso: cada triángulo es el anterior trasladado por el vector AB, y sus vértices llevan una prima más (P′, P″, P‴). Arrastra B y todo el friso cambia de paso.