|
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="320" height="320" viewBox="0,0,320,320"> |
|
<!-- |
|
Monsieur Whale - Animating SVG Icon |
|
|
|
This experiment uses ~CSS~ SVG Transforms and Animations on an SVG icon. These kinds |
|
of techniques are presented in my icon design & SVG class on CreativeLive. To check |
|
out the class or its resources, visit pnowell.com/resources |
|
|
|
Animated and designed by: Peter Nowell |
|
(note that the icon is currently enlarged for demonstration) |
|
--> |
|
<g transform="scale(4,4)" fill="none" stroke="#3279fd" stroke-linecap="round" stroke-linejoin="round"> |
|
<g> |
|
<path d="M21.4 43.9c-.5 1.5-1.7 5-4.7 6.7c-3.1 1.8-4.9 1.1-8.4 1.5c5.9-5.8 3.9-8.8 6.6-11.3c-2.4-1.6-.5-3-1.9-6.5c1.9.1 5.5-1.4 6.7-.4c1.2 1 .8 2.4 1.4 4.4" transform-origin="14.835 42.795" transform="skewY(-15) translate(-.4,2.5) rotate(36)"> |
|
<animateTransform attributeName="transform" type="skewY" begin="1.5s" dur="4s" repeatCount="indefinite" values="-15;20;-15" keyTimes="0;.5;1" calcMode="spline" keySplines=".6,0,.4,1;.6,0,.4,1" additive="replace" /> |
|
<animateTransform attributeName="transform" type="translate" begin="1.5s" dur="4s" repeatCount="indefinite" values="-.4,2.5;.8,-4.3;-.4,2.5" keyTimes="0;.5;1" calcMode="spline" keySplines=".6,0,.4,1;.6,0,.4,1" additive="sum" /> |
|
<animateTransform attributeName="transform" type="rotate" begin="1.5s" dur="4s" repeatCount="indefinite" values="36;28;36" keyTimes="0;.5;1" calcMode="spline" keySplines=".6,0,.4,1;.6,0,.4,1" additive="sum" /> |
|
</path> |
|
<path d="M78.5 46.1c-3 0-3.3 1.2-5 1.9c2-.6 4.5-.4 4.5-.4c-2.5 6.5-11.5 9.9-20.5 9.9c-4.4 0-7.2-.5-12.1-1.4" /> |
|
<path d="M46.7 56.4c-9-1.6-18.7-4.7-26.7-9.4" transform-origin="46.74 56.36" transform="rotate(-3)"> |
|
<animateTransform attributeName="transform" type="rotate" begin="1.5s" dur="4s" repeatCount="indefinite" values="-3;5;-3" keyTimes="0;.5;1" calcMode="spline" keySplines=".6,0,.4,1;.6,0,.4,1" additive="replace" /> |
|
</path> |
|
<path d="M58.5 24.5c15 0 19 10 19 15c0 2 0 5.6 1 6.6" /> |
|
<path d="M21 42c13.5 0 20.5-17.5 37.5-17.5" transform-origin="58.5 24.5" transform="rotate(-3)"> |
|
<animateTransform attributeName="transform" type="rotate" begin="1.5s" dur="4s" repeatCount="indefinite" values="-3;2.5;-3" keyTimes="0;.5;1" calcMode="spline" keySplines=".6,0,.4,1;.6,0,.4,1" additive="replace" /> |
|
<animateTransform attributeName="transform" type="scale" begin="1.5s" dur="4s" repeatCount="indefinite" values="1,1;.92,1;1,1" keyTimes="0;.5;1" calcMode="spline" keySplines=".6,0,.4,1;.6,0,.4,1" additive="sum" /> |
|
</path> |
|
<path d="M69.5 47.5c1.1 1.7 3.5.6 4.5.4" /> |
|
<path d="M52.5 48.6c-1.1 3.1-3.3 6.9-5.9 10c-2.6 3-7 4.4-12.2 2.5c-3.3-1.1-1.3-6 3.2-8.9c2.4-1.5 6.8-2.3 5.4-3.9" fill="#fff" transform-origin="48.544 48.32" stroke-width="1.2"> |
|
<animate attributeName="stroke-width" dur="12s" repeatCount="indefinite" values="1.2;1;1.2;1;1.1;1;1.1;1;1.1;1;1.1;1;1.1;1;1.1;1;1.1;1;1.1;1;1.2;1;1.2;1;1.2" keyTimes="0;.1;.2;.26;.27;.29;.3;.31;.33;.34;.36;.37;.39;.4;.41;.43;.45;.49;.52;.55;.6;.7;.8;.9;1" /> |
|
<animateTransform attributeName="transform" type="scale" dur="12s" repeatCount="indefinite" values="1 .7;1 1.2;1 .7;1 1.2;1 .85;1 1.2;1 .85;1 1.2;1 .85;1 1.2;1 .85;1 1.2;1 .85;1 1.2;1 .85;1 1.2;1 .85;1 1.2;1 .85;1 1.2;1 .7;1 1.2;1 .7;1 1.2;1 .7" keyTimes="0;.1;.2;.26;.27;.29;.3;.31;.33;.34;.36;.37;.39;.4;.41;.43;.45;.49;.52;.55;.6;.7;.8;.9;1" additive="replace" /> |
|
</path> |
|
<circle cx="62.5" cy="42.5" r="4" /> |
|
<circle cx="64.25" cy="42.25" r="2.25" fill="#3279fd" stroke="none" transform-origin="62.5 42.5"> |
|
<animateTransform attributeName="transform" type="rotate" dur="12s" repeatCount="indefinite" values="5;5;100;10;-40;-50;20;5" keyTimes="0;.15;.25;.55;.6;.7;.85;1" calcMode="spline" keySplines=".6,0,.4,1;.6,0,.4,1;.6,0,.4,1;.6,0,.4,1;.6,0,.4,1;.6,0,.4,1;.6,0,.4,1" additive="replace" /> |
|
</circle> |
|
<path d="M53 27.9c.8-1 2.5-.5 3-1" /> |
|
<animateTransform attributeName="transform" type="translate" dur="12s" repeatCount="indefinite" values="0,0;0,10;0,0;0,4;0,0" keyTimes="0;.3;.6;.8;1" calcMode="spline" keySplines=".6,0,.4,1;.6,0,.4,1;.6,0,.4,1;.6,0,.4,1" additive="replace" /> |
|
</g> |
|
<g> |
|
<path d="M54 27c-1-6-3-10.5-7.5-10.5c-3.6 0-4 3-4 3" stroke-dasharray="19.57"> |
|
<animate attributeName="stroke-dashoffset" dur="12s" repeatCount="indefinite" values="58.7125;58.7125;19.5708;19.5708" keyTimes="0;.62;.68;1" /> |
|
</path> |
|
<path d="M53.5 27.5l0-9.5c0-9.5-2-14-6.5-14c-3 0-4.5 2.5-4.5 4.5c0 1.5 1 4 3.5 4c2 0 2.5-1.5 2.5-2.5c0-2.5-2.5-2.5-3-1.5" stroke-dasharray="48.2"> |
|
<animate attributeName="stroke-dashoffset" dur="12s" repeatCount="indefinite" values="144.6033;144.6033;48.2011;48.2011" keyTimes="0;.6;.7;1" /> |
|
</path> |
|
<path d="M54.4 27.2c-.4-11.7 2.1-24.2-5.9-26.7" stroke-dasharray="29.06"> |
|
<animate attributeName="stroke-dashoffset" dur="12s" repeatCount="indefinite" values="87.1881;87.1881;29.0627;29.0627" keyTimes="0;.55;.65;1" /> |
|
</path> |
|
<path d="M55.5 27c0 0 .5-12 1-17c.5-5 3-8.5 7-8.5c4 0 5 2 5 2" stroke-dasharray="34.79"> |
|
<animate attributeName="stroke-dashoffset" dur="12s" repeatCount="indefinite" values="104.382;104.382;34.794;34.794" keyTimes="0;.6;.68;1" /> |
|
</path> |
|
<path d="M55.5 27c0 0 1-7 2-12.5c1-5.5 3.5-7 6-7c2.5 0 3.5 1.5 3.5 3c0 1.5-1 3-2.5 3c-1.5 0-2-1-2-1.5c0-1 .5-1.5 1-1.5" stroke-dasharray="37.06"> |
|
<animate attributeName="stroke-dashoffset" dur="12s" repeatCount="indefinite" values="111.19;111.19;37.0617;37.0617" keyTimes="0;.56;.72;1" /> |
|
</path> |
|
<path d="M55.5 27c0-5.5 7-16 15-8" stroke-dasharray="22.1995"> |
|
<animate attributeName="stroke-dashoffset" dur="12s" repeatCount="indefinite" values="66.5985;66.5985;22.1995;22.1995" keyTimes="0;.56;.7;1" /> |
|
</path> |
|
<path d="M55.5 27c0-5.5 6-8.5 10.5-6" stroke-dasharray="14.57"> |
|
<animate attributeName="stroke-dashoffset" dur="12s" repeatCount="indefinite" values="43.7218;43.7218;14.5739;14.5739" keyTimes="0;.62;.68;1" /> |
|
</path> |
|
</g> |
|
</g> |
|
</svg> |