vg,vg/draw: primitives for an Ellipse
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 38/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- go
- Bereich
- computer-graphics
Rechercherichtung
Beginne in vg/draw und untersuche vg.Path sowie die vorhandenen Primitive ArcComp und CurveComp. Verwende das verknüpfte Maisonobe-Paper, um die vorgeschlagene EArc-Geometrie zu verstehen; abgeschlossen ist die Arbeit, wenn elliptische Bögen das angegebene Verhalten für Fokuspunkt, Winkelrichtung und nil-Pfad unterstützen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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?
- Vorherrschende Sprache
- Go
- Sterne
- 3k
- Forks
- 202
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus gonum/plot
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 52/100
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 32/100
-
plot/plotter: NewHist(binPoints) panic when a small negative number is usedEvtl. vergeben @SashaMIT hat das vor 19 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
Ähnliche Issues
-
ux
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
evcc-io/evcc#35605 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug report
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
type:bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
nightgauge/nightgauge#2732 ·
Maintainer antworten meist innerhalb von 1 Tag
-
fix below CVEsOffenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 5 Tagen
-
good first issue help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100