Rot-of-ucs

Esta rotina abaixo estou usando para rotacionar textos que estão de "cabeça para baixo", ela faz o seguinte: ao receber um determinado ângulo em radianos, testa se ele faria um TEXT ficar de cabeça para baixo... mesmo se você tiver um UCS diferente do WCS, se estiver, soma 180º a ele, vejam:
(defun rot-of-ucs (rot / rucs)
  (
setq rucs (angle '(0 0) ;ucs
         (trans
           (polar (trans '(0 0) 1 0) rot 1) ;vetor wcs
           0 1 ;WCS -> UCS
           )))
  (
if (and (>= rucs (/ pi 2)) (< rucs (* 3 (/ pi 2))))
    (
+ rot pi)
    rot))

Nenhum comentário:

Postar um comentário