ホームページ  >  記事  >  ウェブフロントエンド  >  HTML5 でバラの曲線とハート型のパターンを実装するためのコード例 Canvas_html5 チュートリアル スキル

HTML5 でバラの曲線とハート型のパターンを実装するためのコード例 Canvas_html5 チュートリアル スキル

WBOY
WBOYオリジナル
2016-05-16 15:48:051872ブラウズ

レンダリング:
HTML5 でバラの曲線とハート型のパターンを実装するためのコード例 Canvas_html5 チュートリアル スキル
HTML5 でバラの曲線とハート型のパターンを実装するためのコード例 Canvas_html5 チュートリアル スキル

ヒント: コードを HTML ファイルにコピーし、直接開いて効果を確認します。

実装コード:

コードをコピー
コードは次のとおりです:



<頭>
<メタ文字セット = "gbk">
HTML5 デモ



お使いのブラウザは
要素をサポートしていません。

<フォーム>
ローズ曲線方程式:
r=a bsin(m/n*x)

パラメータを選択します:

m:

n:

a:

b:












<スクリプトタイプ="text/javascript"> 関数draw() {
var ctx = document.getElementById('canvas').getContext('2d'); ctx.save(); ctx.translate(400,300); ctx.clearRect(-400,-300,800,600);
ctx.ストロークスタイル = "#cc0000"
var a = 0、b = 1、m = 6、n = 1;
m = document.forms[0].m.value;
n = document.forms[0].n.value;
a = document.forms[0].a.value
b = document.forms[0].b.value
ドローローズ(ctx,a,b,m,n); ctx.restore(); }
関数drawRose(ctx,a,b,m,n){
ctx.beginPath(); var e = 0、c = 120; var k = 2 * Math.PI / 360;
する {
var r = a/b Math.sin( m * e / n * k);
r = r * c; var x = r * Math.cos( e * k );
var y = r * Math.sin( e * k );
e = 0.1; ctx.lineTo(x,y); } while ( e 関数draw2(){
var ctx = document.getElementById('canvas').getContext('2d'); ctx.save(); ctx.translate(400,300); ctx.clearRect(-400,-300,800,600);
ctx.ストロークスタイル = "#cc0000"
ctx.beginPath(); //ctx.moveTo(0,0);
var e = 0、c = 150; var k = 2 * Math.PI / 360;
する {
x = 150*Math.cos( 5/2 * e*k ) 50*Math.cos( 15/16 * 5/2 * e*k ); y = 150*Math.sin( 5/2 * e*k ) - 50*Math.sin( 15/16 * 5/2 * e*k ); e = 0.1; ctx.lineTo(x,y); } while ( e }
関数draw3(){
var ctx = document.getElementById('canvas').getContext('2d'); ctx.save(); ctx.translate(400,300); ctx.clearRect(-400,-300,800,600);
ctx.ストロークスタイル = "#ff0000"; ctx.beginPath(); var x = 1, y;
する {
y = -80*(Math.sqrt(1-x*x) Math.pow(x*x,1/3)); x -= 0.001;
ctx.lineTo(100*x,y); while ( x >= -1 );
する {
y = 80*(Math.sqrt(1-x*x) - Math.pow(x*x,1/3)); x = 0.001;
ctx.lineTo(100*x,y); } while ( x ctx.closePath();
var grad = ctx.createRadialGradient(-40,-60,10,-40,-40,200);
grad.addColorStop(0, "#ffcc00"); grad.addColorStop(1, "#ff0000"); ctx.fillStyle = grad;
ctx.fill();
// ctx.ストローク(); ctx.restore();
}
window.onload = function (){
描画();
}





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。