## Cubic

```   x: (2&^@- * !~/~) i.4

1   0   0   0
1r2 1r2   0   0
1r4 1r2 1r4   0
1r8 3r8 3r8 1r8

x: (,|."1@|.@}:) (2&^@- * !~/~) i.4
1   0   0   0
1r2 1r2   0   0
1r4 1r2 1r4   0
1r8 3r8 3r8 1r8
0 1r4 1r2 1r4
0   0 1r2 1r2
0   0   0   1```

```require 'plot'

S3=. }. (,|."1@|.@}:) (2&^@- * !~/~) i.4
split3=: ( {. ,  [: , (,.3 4)&((S3 +/ . * ]);._3) )"1

3 : 0 ''
C=. 45 44,.31 218,.146 388,.378 195
pd 'reset;pensize 2;markersize 1.5;'
pd 'type line,marker'
pd <"1 C
pd <"1 split3 C
pd 'type line'
pd <"1 split3^:4 C
pd 'show'
)```

```S2=. }. (,|."1@|.@}:) (2&^@- * !~/~) i.3
split2=: ( {. ,  [: , (,.2 3)&((S2 +/ . * ]);._3) )"1

3 : 0 ''
C=. 45 44,.88 303,.378 195
pd 'reset;pensize 2;markersize 1.5;'
pd 'type line,marker'
pd <"1 C
pd <"1 split2 C
pd 'type line'
pd <"1 split2^:4 C
pd 'show'
)```

### Smooth Transition

```adj=: ([: }:@, }. ,.~ }: -:@+ }.)"1

3 : 0 ''
C=.  adj (,:~ i.@#) A=: 1 4 2 6 3
pd 'reset;pensize 1;markersize 1.5;pensize 2'
pd 'type line,marker'
pd <"1 C
pd <"1 split2 C
pd 'type dot;'
pd <"1 split2^:4 C
pd 'show'
)```

OlegKobchenko/Curves (last edited 2008-12-08 10:45:41 by anonymous)