Suggestions on rotate/zoom/pan behavior
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 30/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- cpp
- Domínio
- computer-graphics
Direção de pesquisa
Comece rastreando o tratamento existente de entrada de trackball, zoom, pan e ponto de foco descrito na issue. Compare o comportamento atual com as referências de trackball vinculadas e defina decisões separadas e testáveis para rotação, zoom relativo, pan proporcional, movimentação do ponto de foco e ativação do ponto de foco antes de implementar qualquer coisa.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Hi, thanks for this great lib !
- The recent feature that allows to select a focus point with
ctr+shift+left clickis very convenient. - The trackball follows the rule of path invariance which is great too !
However, I'd like to suggest other features that could improve the ergonomy when carefully inspecting a scene.
Rotate
Current trackball seems to be an azimuth/elevation control which is fine, but disallows roll completely. This "turntable" behavior might be desired, but a more standard approach is to use an azimuth/elevation behavior in the center of the viewport fading to a more roll-permissive behavior further from the center. This nice blog post from Scott Shambaugh summarizes different trackball implementations, including the standard OpenGL one.
Zoom
The default mouse scroll zoom should be relative (without pressing shift+ctrl). The absolute zoom is bad because zooming is supposed to give an impression of scaling things. When far from the scene, it is painfully slow, and way too sensitive near an object's surface.
Pan
Currently, panning the camera does not move the focus point which creates a incomfortable setup if the user decide to rotate again. I suggest to also translate the focus point by a same amount to prevent that. Also, the panning is absolute thus suffers from the same issues of the absolute zoom. I recommend to make it proportional to the distance between the eye and the focus point.
Lastly, I find the focus point picking so convenient I think it should be more accessible (maybe double click like in Meshlab ?)
Those are only suggestions of course.
- Linguagem predominante
- C++
- Estrelas
- 2.2k
- Forks
- 242
- Merge médio
- 11min
- PRs com merge (30d)
- 1
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de nmwsharp/polyscope
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
-
Rust Version Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 15/100
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
Todas as issues de nmwsharp/polyscope
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
ros2/message_filters#338 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
subsurface/subsurface#4984 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
flutter-webrtc/flutter-webrtc#2206 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
google-ai-edge/LiteRT-LM#3739 ·