vg,vg/draw: primitives for an Ellipse
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 38/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- go
- Domínio
- computer-graphics
Direção de pesquisa
Comece em vg/draw e inspecione vg.Path e suas primitivas existentes ArcComp e CurveComp. Use o artigo de Maisonobe vinculado para entender a geometria EArc proposta; o trabalho estará concluído quando os arcos elípticos oferecerem suporte ao comportamento indicado para o ponto focal, a direção do ângulo e o caminho nil.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
unless I am mistaken, gonum/plot doesn't expose primitives to draw ellipses nor arcs of ellipses.
vg.Path exposes a vg.ArcComp but that's only to draw a circular arc.
one can of course draw an ellipse with a combination of vg.CurveComp (quad or cubic ones), according to that paper:
Drawing an elliptical arc using polylines, quadratic or cubic Bezier curves", L. Maisonobe
An electronic version may be found at:
I've already provided such an implementation for Gio.
I could probably provide one for gonum/plot as well.
I'd propose to put it into vg/draw:
package draw
// EArc adds an elliptical arc to the path. The implied ellipse is defined
// by its focus points f1 and f2.
// The arc starts in the current point and ends angle radians along the ellipse boundary.
// The sign of angle determines the direction; positive being counter-clockwise,
// negative clockwise.
// If path is nil, a new path is created.
func EArc(path *vg.Path, f1, f2 vg.Point, angle float64) { ... }
WDYT?
- Linguagem predominante
- Go
- Estrelas
- 3k
- Forks
- 202
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
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 gonum/plot
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 52/100
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 32/100
-
plot/plotter: NewHist(binPoints) panic when a small negative number is usedTalvez já em andamento @SashaMIT assumiu há 18 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
Issues semelhantes
-
area:web p3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Lets-Parley/Parley#912 ·
Mantenedores costumam responder em até 1 dia
-
enhancement help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Git-Hospital/githealthcheck#61 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
afreidah/s3-orchestrator#1824 ·
Mantenedores costumam responder em até 1 dia
-
Type: Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
projectdiscovery/notify#569 ·
-
internal
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia