Wie kann ich Pfade mit genauen Randradien erstellen?

Ich bin also etwas verwirrt mit Radien in Inkscape. Eine ganze Weile dachte ich, dass dies:

Pfad mit manuellem Radius

war das gleiche:

Rechteck mit Radius

... Aber es stellt sich heraus, dass das Übereinanderlegen zeigt, dass sie unterschiedlich sind:

Vergleich

(wobei das Rot das Rechteck und das Blau der Pfad ist)

Eine weitere Analyse zeigt, dass sich die Griffe (nach der Umwandlung des Rechtecks ​​in einen Pfad) an seltsamen Stellen befinden:

Seltsam...

Meine Frage ist also, ist es möglich, genaue Randradien ohne die Verwendung des Rechteckwerkzeugs zu erstellen (wobei der Radius in allen Winkeln gleich ist)? Oder muss ich mich immer darauf verlassen, dass es mir wirklich genaue Ergebnisse liefert? Und hat jemand eine Erklärung, warum die Griffe dort sind, wo sie sind?

Ich hätte erwartet, dass sie 2 Pixel von ihren Ankern entfernt sind, nicht ~ 2,2 Pixel
Hier: imgur.com/7GPwAaV ? Wie auch immer, es scheint, dass es viel komplexer ist, als es scheint - whizkidtech.redprince.net/bezier/circle/kappa
Nun, Sie können den Koeffizienten selbst anpassen, aber die Länge der Tangenten kann als 1/3 des Abstands zwischen Punkten in Tangentenrichtung angenähert werden. Bitte beachten Sie, dass ein Bezier keinen perfekten Kreis bilden kann, daher ist es immer eine Annäherung.

Antworten (1)

Rundungsfehler bei niedrigen Pixelraten

Gerade beim Zeichnen im niedrigen Pixelbereich entsteht immer ein erheblicher Rundungsfehler, der dann sichtbar wird.

Im folgenden Beispiel habe ich einen Kreis mit einem Radius von 4 px (grau), ein Rechteck mit abgerundeten Ecken mit einem Radius von 4 px (schwarz) und ein Rechteck gezeichnet, bei dem die abgerundeten Ecken manuell aus Kreisen mit einem Radius von 4 px erstellt wurden (siehe Problemumgehung unten). .

Die Werte wurden sorgfältig aus der Symbolleiste angepasst, um genau einen Radius 4.000px zu haben). Dennoch können wir sehen, dass das abgerundete Rechteck nicht perfekt ist:

Geben Sie hier die Bildbeschreibung ein

Zeichnen Sie für mehr Präzision mit höheren Pixelraten

Sobald wir anfangen, mit einer höheren Pixelrate zu arbeiten (der rote Kreis unten hat einen Radius von 40 Pixel), passt die abgerundete Ecke des Rechtecks ​​viel besser zum genauen Radius von 40 Pixel:

Geben Sie hier die Bildbeschreibung ein

Problemumgehung für niedrige Pixelraten

Falls wir die höhere Präzision bei Zeichnungen mit niedriger Pixelrate benötigen, können wir das vordefinierte Werkzeug für abgerundete Rechtecke nicht verwenden. Wir müssen unsere Formen dann möglicherweise manuell erstellen, z. B. aus einem Grundkreis:

  1. Kreis in Bezier-Pfad umwandeln ( Path > Object to Path ):

    Geben Sie hier die Bildbeschreibung ein

  2. Wählen Sie alle Knoten aus, um den Pfad an ausgewählten Knoten zu unterbrechen Geben Sie hier die Bildbeschreibung ein

  3. Wählen Sie ein Segment aus und verschieben Sie es an die gewünschte Position.

    Geben Sie hier die Bildbeschreibung ein

  4. Wiederholen Sie dies für alle Segmente.

  5. Wählen Sie die offenen Knoten aus, um ausgewählte Endnoten mit neuem Segment zu verbinden Geben Sie hier die Bildbeschreibung ein

    Geben Sie hier die Bildbeschreibung ein

  6. Wiederholen Sie dies für die restlichen offenen Segmente.

Dies führt zu besseren Ergebnissen bei niedrigen Pixelauflösungen (siehe rote Linie im ersten Beispiel oben).

Ich bin mir nicht sicher, ob es sich um einen Rundungsfehler handelt - wahrscheinlich nur falsche Griffplatzierungen meinerseits, wie in der Frage zu sehen ist. Aber der zweite Teil Ihrer Antwort ist nützlich.