亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

JavaScript實現(xiàn)沿五角星形線擺動的小圓實例詳解

瀏覽:83日期:2023-10-20 09:12:39

五角星形線的笛卡爾坐標方程式可設為:

r=10+(3*sin(θ*2.5))^2 x=r*cos(θ)y=r*sin(θ) (0≤θ≤2π)

根據(jù)這個曲線方程,在[0,2π]區(qū)間取一系列角度值,根據(jù)給定角度值計算對應的各點坐標,然后在計算出的坐標位置繪制一個填充色交替變換的小圓,從而得到沿五角星形線擺動的小圓的動畫效果。

編寫如下的HTML代碼。

<!DOCTYPE html><html><head><title>沿曲線擺動的小圓</title></head><body><canvas style='border:3px double #996633;'></canvas><script type='text/javascript'> var canvas = document.getElementById(’myCanvas’); var context = canvas.getContext(’2d’); var i = 0; var j = Math.PI/32; var t = 0; var col = [’red’,’orange’,’yellow’,’green’,’cyan’,’blue’,’magenta’]; function loop() { t = t + 1; i = i + j; if (t > 6) { t = 0; } var r=10+9*Math.sin(2.5*i)*Math.sin(2.5*i); var x = 7*r*Math.cos(i)+200; var y = 7*r*Math.sin(i)+200; context.beginPath(); context.moveTo(200, 200); context.lineTo(x, y); context.lineCap = ’round’; context.strokeStyle = ’rgba(50,100,255,0.6)’; context.stroke(); context.beginPath(); context.moveTo(200, 200); context.arc(x, y, 8, 0, 2 * Math.PI); context.fillStyle = col[t]; context.fill(); if (i>2*Math.PI) { j =-Math.PI/32; context.clearRect(0, 0, 400, 400); } if (i<0) { j = Math.PI/32; context.clearRect(0, 0,400, 400); } } setInterval(’loop()’,300);</script></body></html>

在瀏覽器中打開包含這段HTML代碼的html文件,可以在瀏覽器窗口中呈現(xiàn)出如圖1所示的沿五角星形線擺動的小圓動畫效果。

JavaScript實現(xiàn)沿五角星形線擺動的小圓實例詳解

圖1 沿五角星形線擺動的小圓

將上面程序中的語句

var r=10+9*Math.sin(2.5*i)*Math.sin(2.5*i);var x = 7*r*Math.cos(i)+200;var y = 7*r*Math.sin(i)+200;

改寫為:

var e=80*(1+Math.cos(2*i)/4); var f=e*(1+Math.sin(4*i)); var x=200+f*Math.cos(i); var y=200-f*Math.sin(i);

就可以在畫布中看到如圖2所示的沿四瓣花型線擺動的小圓。

JavaScript實現(xiàn)沿五角星形線擺動的小圓實例詳解

圖2 沿四瓣花型線擺動的小圓

若改寫為:

var r = 200 * Math.pow(Math.cos(i/3),3); var x = 200 + r * Math.sin(i); var y = 110 + r * Math.cos(i);

同時修改 if (i>2*Math.PI) 為 if (i>3*Math.PI)

就可以在畫布中看到如圖3所示的沿蘋果形線擺動的小圓。

JavaScript實現(xiàn)沿五角星形線擺動的小圓實例詳解

圖3 沿蘋果形線擺動的小圓

若改寫為:

var r=100*Math.pow(Math.cos(2*i),0.5);var x = 200 + 160*Math.sin(i)*Math.sin(i)*Math.sin(i);var y = -(-170+ 10*(13*Math.cos(i)- 5*Math.cos(2*i) - 2*Math.cos(3*i) - Math.cos(4*i)));

就可以在畫布中看到如圖4所示的沿心形線擺動的小圓。

JavaScript實現(xiàn)沿五角星形線擺動的小圓實例詳解

圖4 沿心形線擺動的小圓

有興趣的讀者,可以根據(jù)自己感興趣的曲線的參數(shù)方程,適當修改坐標位置(x,y)的計算語句,就可以看到沿指定曲線擺動的小圓的動畫效果。

到此這篇關于JavaScript實現(xiàn)沿五角星形線擺動的小圓實例詳解的文章就介紹到這了,更多相關JavaScript 沿五角星形線擺動的小圓內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 中国明星一级毛片免费 | 成人做爰毛片免费视频 | 精品国产福利在线观看网址2022 | 国产九九热| 欧美高清一区二区三区欧美 | 久久综合偷拍 | 国产黄a三级三级看三级 | 国产免费资源 | 九色91蝌蚪| 国产一区二区福利 | 欧美一级片网址 | 欧美一区二区三区视频在线观看 | 青草国产精品久久久久久 | 一级毛片一级毛片一级毛片一级毛片 | a级在线观看视频 | 久久久999国产精品 久久久99视频 | 日韩欧美中文字幕在线视频 | 国产自产v一区二区三区c | 久久www免费人成_看片高清 | 精品一区二区高清在线观看 | 97色婷婷成人综合在线观看 | 免费a一级毛片在线播放 | 国产成人一区二区精品非洲 | 国产综合区 | 国产精品99精品久久免费 | a及毛片 | 波多久久夜色精品国产 | 精品日本亚洲一区二区三区 | 欧美激情整片a级 | 色天天综合网色鬼综合 | 欧美黄色片免费 | 欧美日韩一区二区视频图片 | 午夜影院小视频 | 国产精品美女自拍 | 亚洲无线乱码高清在线观看一区 | 1769国产精品视频免费观看 | 国产精品酒店 | 把女人弄爽特黄aa大片视频 | 国产毛片视频 | 小明永久2015xxx免费看视频 | 一区二区三区四区无限乱码 |