亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HTML5怎么實現圓錐

發布時間:2022-03-07 16:55:23 來源:億速云 閱讀:147 作者:iii 欄目:web開發

這篇文章主要介紹“HTML5怎么實現圓錐”,在日常操作中,相信很多人在HTML5怎么實現圓錐問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”HTML5怎么實現圓錐”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一.簡介

圓錐,數學領域術語,有兩種定義。

解析幾何定義:圓錐面和一個截它的平面(滿足交線為圓)組成的空間幾何圖形叫圓錐。

立體幾何定義:以直角三角形的一條直角邊所在直線為旋轉軸,其余兩邊旋轉形成的面所圍成的旋轉體叫做圓錐。該直角邊叫圓錐的軸 。

未命名

二.圓錐模擬

通過以上兩個定義,我可以模擬出圓錐上所有的點:

JavaScript Code復制內容到剪貼板

var pointPositions = [];  

for (var i = -100; i < 200; i += 10) {  

    var xTemp = getRandomNumber(-i, i);  

    var zTemp = Math.sqrt(Math.abs(i * i - xTemp * xTemp));  

    pointPositions.push(new Vector3(xTemp, i, zTemp));  

}  

i 既是h,又是半徑r。

這個時候,我們生成的 Z都是大于零的,不過沒有關系,我們等下可以通過旋轉來補齊所有的點。

三.旋轉與投影

JavaScript Code復制內容到剪貼板

//旋轉  

    function rotate(angle) {  

        for (var i = 0; i < pointPositions.length; i++) {  

            var tempX = pointPositions[i].x;  

            var tempZ = pointPositions[i].z;  

            pointPositions[i].x = pointPositions[i].x * Math.cos(angle) - pointPositions[i].z * Math.sin(angle);  

            pointPositions[i].z = pointPositions[i].z * Math.cos(angle) + tempX * Math.sin(angle);  

        }  

    }  

    //投影  

    function projection(v) {  

        var v1 = new Vector3();  

        v1.x = v.x * distance / Math.abs(cameraPosition.z - v.z);  

        v1.y = v.y * distance / Math.abs(cameraPosition.z - v.z);  

        v1.z = v.z;  

        return v1;  

    }  

四.動畫

JavaScript Code復制內容到剪貼板

var currentAngle = 0;  

    var roundAsync = eval(Jscex.compile("async", function () {  

        while (true) {  

            pointPositionsForShow.length = 0;  

            currentAngle += 0.1;  

            rotate(degToRad(currentAngle));  

            PositionsProjection();  

            for (var i = 0; i < pointPositionsForShow.length; i++) {  

                cxt.fillStyle = randomColor();  

                cxt.beginPath();  

                if (pointPositionsForShow[i].z > 0) cxt.globalAlpha = 1;  

                if (pointPositionsForShow[i].z < 0) cxt.globalAlpha = 0.1;  

                cxt.arc(centreOfCirclePosition.x + pointPositionsForShow[i].x, centreOfCirclePosition.x + pointPositionsForShow[i].y, distance / Math.abs(cameraPosition.z - pointPositionsForShow[i].z), 0, Math.PI * 2, true);  

                cxt.closePath();  

                cxt.fill();  

            }  

            $await(Jscex.Async.sleep(50));  

        }  

    }))  

到此,關于“HTML5怎么實現圓錐”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

六安市| 三河市| 鲁山县| 石家庄市| 奉贤区| 永城市| 岳阳市| 项城市| 克东县| 游戏| 南昌市| 通榆县| 象山县| 通海县| 颍上县| 神池县| 四会市| 镇雄县| 泾川县| 临汾市| 平遥县| 江山市| 通州市| 高要市| 桂林市| 岳池县| 安化县| 唐河县| 浮梁县| 神池县| 桃园市| 大石桥市| 大安市| 和静县| 横山县| 资源县| 衡山县| 吴江市| 隆德县| 大新县| 天津市|