Módulo TQSGEO

Contém rotinas comuns de geometria analítica 2D comumente usadas na geração de desenhos.

TQSGeo.SetPrecision(delx)

Define a precisão para igualar pontos

TQSGeo.SetAnglePrecision(delang)

Define a precisão para igualar ângulos

TQSGeo.Equals(x1, y1, x2, y2)

Retorna (1) se dois pontos são iguais dentro da precisão atual.

TQSGeo.Distance(x1, y1, x2, y2)

Retorna a distância entre dois pontos

TQSGeo.LineCoefficients(x1, y1, x2, y2)

Retorna os coeficientes a,b,c da reta 1-2.

TQSGeo.DistancePointLine(x1l,y1l,x2l,y2l,xpoint,ypoint)

Retorna a distância entre uma reta e um ponto

TQSGeo.Angle2p(x1, y1, x2, y2)

Retorna o ângulo entre dois pontos entre 0..360 graus

TQSGeo.Angle2r(x1, y1, x2, y2, x3, y3, x4, y4)

Retorna o ângulo entre as retas 1-2 e 3-4 entre 0..180 graus

TQSGeo.NormalizeAngle(angle)

Retorna um ângulo normalizado entre 0 e 360 graus

TQSGeo.Area(vecx, vecy)

Retorna a área dos vetores vecx[] e vecy [] com sinal positivo no sentido horário.

TQSGeo.Perimeter(vecx, vecy)

Retorna o perímetro de vecx[] e vecy []

TQSGeo.GravityCenter(vecx, vecy)

Retorna x,y do centro de gravidade e a área (com sinal) de vecx[] e vecy[]

TQSGeo.PointInSegment(x, y, x1, y1, x2, y2)

Retorna (1) se o ponto x,y, contido na reta 1-2, está contido no segmento de reta 1-2

O ponto x,y é projetado em 1-2 antes do teste

TQSGeo.IntersectionByCoefs(a, b, c, d, e, f)

Retorna x, y, istat da intersecção da reta 1 (coeficientes a,b e c) e a reta 2 (coeficientes d, e, f). istat != 0 se não houve intersecção.

TQSGeo.Intersection2r(x1, y1, x2, y2, x3, y3, x4, y4)

Retorna x, y, istat da intersecção da reta 1 (x1, y1, x2, y2) e a reta 2 (x3, y3, x4, y4). istat != 0 se não houve intersecção.

TQSGeo.IntersectionSegment (x1, y1, x2, y2, x3, y3, x4, y4)

Retorna x, y, istat da intersecção da reta 1 (x1, y1, x2, y2) e a reta 2 (x3, y3, x4, y4). A intersecção tem que acontecer dentro dos segmentos 1-2 e 3-4. istat != 0 se não houve intersecção.

TQSGeo.Projection(x1, y1, x2, y2, xp, yp)

Projeta o ponto xp,yp na reta 1-2. Retorna x,y, o ponto projetado

TQSGeo.ParallelPoint(x1, y1, x2, y2, dist)

Retorna o ponto xp,yp sobre uma reta ortogonal a 1-2 passando por 2 e uma distância positiva à direita de 1-2.

TQSGeo.ParallelLine(x1, y1, x2, y2, dist)

Calcula o a reta paralela a a 1-2 a uma distância positiva à direita de 1-2. Retorna a reta xp1, yp1, xp2, yp2

TQSGeo.ParallelPolyline(vecx, vecy, dist)

Modifica os vetores vecx [] e vecy [] por uma paralela a uma distância fornecida, positiva à direita das retas

TQSGeo.Limits(vecx, vecy)

Retorna os limites xmin, ymin, xmax, ymax dos vetores vecx [], vecy []

TQSGeo.VectorProduct(x1, y1, x2, y2, x3, y3, x4, y4)

Retorna o produto vetorial do vetor 1-2 por 3-4

TQSGeo.PointProduct(x1, y1, x2, y2, x3, y3, x4, y4)

Retorna o produto pontual do vetor 1-2 por 3-4

TQSGeo.Versor(x1, y1, x2, y2)

Retorna o versor vx,vy do vetor 1-2

TQSGeo.PointInArea (x, y, vecx, vecy)

Verifica se o ponto x,y está dentro da poligonal vecx [], vecy[].Retorna (1) se estiver.

TQSGeo.MirrorInit (x1, y1, x2, y2)

Define a linha de espelhamento 1-2 que será usada pela função Mirror. Retorna o ângulo original e o final de espelhamento da reta 1-2 em graus.

TQSGeo.Mirror (xe, ye)

Retorna o ponto xe,ye espelhado pela linha definida em MirrorInit.

TQSGeo.Rotate (x, y, ang, orgx, orgy)

Retorna o ponto x,y rodado por ang graus em torno de orgx,orgy.

Programa TSTGeo.py de teste de TQSGeo

O programa TSTGeo.py testa as diversas funções do módulo TQSGeo, e imprime os resultados em uma janela TQS.