suggestion on SVG2.0 specifications for improve smooth curves declaration into path

Hello, y have a suggestion for SVG2, i am not sure to be on the right list,
so in a such case can you indicate me the most appropriate address.
The specification extension is as follows.
When i use a path with quadratic (or cubic) transformations i can use 't'
(or 'c') to specify this kind of curves and 't' (or 's') for smoth curves.
The problem is:
On sooth curves i cannot choose a smoothness driven by a vector different
of the opposite of the previous vector.
In a large majority of use case i need to define a smooth transition using
a collinear vector to the previous one whith a different modulus .
My suggestion is to add two types of curves into pathes:
1 -> 'k' for quadratic curves working as 't' but followed by a real number
indicating modulus ratio relatively to previous vector,
2 -> 'p' for cubic curves working as 's' but followed by a real number
indicating modulus ratio relatively to previous vector,
One of big avantage of this is mainly on quadratic curves cos yo can use
this kind of curve very easily to generate smooth shapes with a minimum of
points.
If you look inkscape implementation on quadartic curve it transforms
systematicaly it into cubic. What a pity! My opinion is that this kind of
path definition gives a real interest for quadartic curves which are
simpler to describe, to store and to compute than cubic curves.
On an other hand there is no obvious reason against alternate 'k' an 'p'
cos we can extent the previous vector independentely of curve type driven.
A cubic cuve can be easily and smoothly prolounged by a quadratic and vice
versa.


simple example on quadratic curve:
<path d="m0,0 q 100,0 100,100 q 0,200 200,200"/> "defined in SVG1.1"
<path d="m0,0 q 100,0 100,100 k 2 200,200"/>        "suggested for SVG2.0
with same result"
<path d="m0,0 q 100,0 100,100 t 200,200"/>             "defined in SVG1.1
but incorrect"

simple example on cubic curve:
<path d="m0,0 q 100,0 100,100 q 0,200 200,200"/> "defined in SVG1.1"
<path d="m0,0 q 100,0 100,100 k 2 200,200"/>        "suggested for SVG2.0
with same result"
<path d="m0,0 q 100,0 100,100 t 200,200"/>             "defined in SVG1.1
but incorrect"

concrete example drawing "supernova" with quadratic
    <!-- defined in SVG1.1" -->
    <path d="m300,300
     q 100,0 100,200
     q 0,-200 100,-200
     q -100,0 -100,-200
     q 0,200 -100,200 "/>

    <!-- suggested for SVG2.0" -->
    <path d="m 300,300
     q 100,0 100,200
     k -1 100,-200
     k -1 -100,-200
     k -1 -100,200 "/>

concrete example drawing "pseudosinus wave" with quadratic.
    <!-- defined in SVG1.1 with absolute coordinates" -->
    <path d="M100,100
     Q 150,150 200,100
     Q 300,0 400,100
     Q 450,150 500,100
     Q 525,75 550,100 "/>

    <!-- suggested for SVG2.0" with absolute coordinates" -->
    <path d="M100,100
     Q 150,150 200,100
     K 2 400,100
     K 0.5 500,100
     K 0.5 550,100"/>

 concrete example drawing "kind of lemniscate" with cubic
   <!-- defined in SVG1.1" -->
    <path d="m200,200
     c150,100 150,-100 0,0
     c-75,50 -75,-50 0,0
     s 75,-50 0,0
     c-150,100 -150,-100 0,0"
  fill-rule="evenodd"/>

    <!-- suggested for SVG2.0" -->
    <path d="m200,200
     c150,100 150,-100 0,0
     p 0.5 -75,-50 0,0
     s 75,-50 0,0
     p 2 -150-100 0,0"
  fill-rule="evenodd"/>

concrete example drawing "sunglasses" with cubic
    <!-- defined in SVG1.1 whith absolute coordinates" -->
    <path d="M100,100
     C0,100 100,250 150,150
     C175,100 175,100 200,150
     C250,250 350,100 250,100z"/>

    <!-- suggested for SVG2.0"  whith absolute coordinates -->
    <path d="M100,100
     C 0,100 100,250 150,150
     P 0.5 175,100 200,150
     P 2 350,100 250,100z"/>


Thanks a lot.

-- 
Marc Souviron
12 rue Nazareth 31000 Toulouse
Tél fixe : 05-61-32-94-50
Tél mobile : 06-72-93-67-88
WEB : http://www.vous-et-nous.com

Received on Monday, 4 June 2018 09:28:13 UTC