Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Line3.isparallel()/__or__ still scale-dependent, like the distance() bug fixed in #224

Aberta
#231 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@Doribelove já está trabalhando nisso.

Desde 27/9/2026.

  • #232 de @Doribelove — aberto

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
72/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
robotics

Direção de pesquisa

Start at the Line3.isparallel() entry point and trace its callers, including or, ^/isintersecting, and commonperp(). Compare the tolerance handling with the distance() fix in #224; done means the parallel decision no longer changes when Plucker direction vectors are rescaled, while the related closest_to_line() check remains separate.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

#224 fixed Line3.distance() so it no longer depends on the magnitude of the Plucker direction vectors (w), only their direction — it was giving wrong results whenever a line's Plucker coordinates were rescaled by a factor other than 1, and crashing outright on parallel lines.

isparallel() (and hence __or__, ^/isintersecting, and commonperp(), all of which call it) has the same shape of bug: it tests norm(cross(l1.w, l2.w)) < tol * eps using the raw, non-unit direction vectors, rather than unit directions. Two lines with the same true angular separation can cross or miss the parallel threshold depending purely on how their Plucker coordinates happen to be scaled.

closest_to_line() wasn't checked for the same issue — worth a separate look.

Not urgent (no crash, unlike the distance() case), but the same class of bug and probably the same fix shape: normalize to unit vectors before the tolerance comparison.

Cross-ref: #224

Linguagem predominante
Python
Estrelas
643
Forks
102
Merge médio
11min
PRs com merge (30d)
1

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de rai-opensource/spatialmath-python

Todas as issues de rai-opensource/spatialmath-python

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.