three完全開源擴展案例01-三角形漸變

在這里插入圖片描述

演示地址

import * as THREE from 'three'
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js'const box = document.getElementById('box')const scene = new THREE.Scene()const camera = new THREE.PerspectiveCamera(75, box.clientWidth / box.clientHeight, 0.1, 1000)camera.position.set(0, 0, 500)const renderer = new THREE.WebGLRenderer()renderer.setSize(box.clientWidth, box.clientHeight)new OrbitControls(camera, renderer.domElement)window.onresize = () => {renderer.setSize(box.clientWidth, box.clientHeight)camera.aspect = box.clientWidth / box.clientHeightcamera.updateProjectionMatrix()}box.appendChild(renderer.domElement)initObject();
function initObject() {let geometry = new THREE.BufferGeometry(); // 使用BufferGeometrylet vertices = new Float32Array([0, 0, 0, // 頂點p10, 200, 0, // 頂點p2200, 0, 0 // 頂點p3]);geometry.setAttribute('position', new THREE.BufferAttribute(vertices, 3));let colors = [1.0, 0.0, 0.0, // 顏色1 (紅色)0.0, 1.0, 0.0, // 顏色2 (綠色)0.0, 0.0, 1.0  // 顏色3 (藍色)];// 創建頂點顏色屬性let colorAttribute = new THREE.BufferAttribute(new Float32Array(colors), 3);geometry.setAttribute('color', colorAttribute);// 定義索引,創建三角形面let indices = [0, 1, 2 // 索引0, 1, 2 表示頂點數組中的p1, p2, p3];let indexAttribute = new THREE.BufferAttribute(new Uint16Array(indices), 1);geometry.setIndex(indexAttribute);let material = new THREE.MeshBasicMaterial({vertexColors: true,side: THREE.DoubleSide,wireframe: false});let obj = new THREE.Mesh(geometry, material);scene.add(obj);
}
function animate() {requestAnimationFrame(animate)renderer.render(scene, camera)}animate()

技術交流群
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/43402.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43402.shtml
英文地址,請注明出處:http://en.pswp.cn/web/43402.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SQL Server鏡像與日志:數據保護的雙重保障

SQL Server鏡像與日志:數據保護的雙重保障 在SQL Server的高可用性解決方案中,數據庫鏡像和日志傳送是兩種重要的技術,它們都旨在提供數據的安全性和業務連續性。然而,這兩種技術在實現方式和使用場景上有著明顯的區別。本文將深…

時間序列分析方法匯總對比及優缺點和適用情況(上)--1. 移動平均 2. 指數平滑 3. 自回歸模型 4. 移動平均模型 5. 自回歸移動平均模型

目錄 1. 移動平均(Moving Average) 2. 指數平滑(Exponential Smoothing) 3. 自回歸模型(Autoregressive Model, AR) 4. 移動平均模型(Moving Average Model, MA) 5. 自回歸移動…

杜比全景聲——空間音頻技術

什么是杜比?是否是標清、高清、超清之上的更清晰的格式?杜比全景聲 和傳統多聲道立體聲的差別?杜比全景聲音頻的渲染方式?車載平臺上杜比技術的應用? 杜比技術的起源 杜比實驗室(Dolby Laboratories&…

大數據基礎:Hadoop之MapReduce重點架構原理

文章目錄 Hadoop之MapReduce重點架構原理 一、MapReduce概念 二、MapReduce 編程思想 2.1、Map階段 2.2、Reduce階段 三、MapReduce處理數據流程 四、MapReduce Shuffle 五、MapReduce注意點 六、MapReduce的三次排序 Hadoop之MapReduce重點架構原理 一、MapReduce概…

ORACLE重裝之后恢復數據庫,相當于sqlserver的附加數據庫

在開發機器上經常會遇到重裝系統的問題,重裝之前如果ORACLE沒有及時備份的話重裝之后就糾結了,數據還原很頭疼。 只能找到一些ORACLE安裝與重裝系統前目錄相同的解決辦法,目錄不同就沒招了。 我用的是oracle11G。老版的應該相似。 經過我的嘗試,找到了幾個關鍵點,現在分…

講講 JVM 的內存結構(附上Demo講解)

講講 JVM 的內存結構 什么是 JVM 內存結構?線程私有程序計數器?虛擬機棧本地方法棧 線程共享堆?方法區?注意永久代?元空間?運行時常量池?直接內存? 代碼詳解 什么是 JVM 內存結構? JVM內存結構分為5大區域,程序計數器、虛擬機棧、本地…

C# 泛型

泛型 泛型不是語法糖,而是由框架提供的一種便捷語法,首次出現在.NET 2.0中。 1. 泛型定義 泛型:是一種程序特性,定義時不對類型做出明確的規定,使用時規定且不能改變。一般應用:泛型集合、泛型方法、泛型…

機器學習——LR、?GBDT、?SVM、?CNN、?DNN、?RNN、?Word2Vec等模型的原理和應用

LR(邏輯回歸) 原理: 邏輯回歸模型(Logistic Regression, LR)是一種廣泛應用于分類問題的統計方法,尤其適用于二分類問題。其核心思想是通過Sigmoid函數將線性回歸模型的輸出映射到(0,1)區間,從…

【AI前沿】深度學習:神經網絡基礎

文章目錄 📑引言一、神經元和感知器1.1 神經元的基本概念1.2 感知器模型 二、多層感知器(MLP)2.1 MLP的基本結構2.2 激活函數的重要性2.3 激活函數2.4 激活函數的選擇 三、小結 📑引言 深度學習是現代人工智能的核心技術之一&…

kotlin Flow 學習指南 (三)最終篇

目錄 前言Flow生命周期StateFlow 替代LiveDataSharedFlow其他常見應用場景處理復雜、耗時邏輯存在依賴關系的接口請求組合多個接口的數據 Flow使用注意事項總結 前言 前面兩篇文章,介紹了Flow是什么,如何使用,以及相關的操作符進階&#xff…

如何挑選適合的需求池管理系統?10款優質工具分享

本文將分享10款優質需求池管理工具:PingCode、Worktile、Teambition、Epicor Kinetic、TAPD、SAP IBP、Logility、RELEX Solutions、JIRA、明道云。 在管理項目和產品需求時,正確的工具能夠大幅提高效率與透明度。如何從眾多需求池工具中選擇最適合團隊的…

第一節 SHELL腳本中的常用命令(2)

二,網絡管理命令nmcli 1.查看網卡 # 或者先用ip addr或ip a等查看網卡 ip a s 網卡名 ifconfig 網卡名 nmcil device show 網卡名 nmcil device status nmcil connection show 網卡名2.設置網卡 a)當網卡未被設置過時 設置dncp網絡工作模式 nmcil connection add con-name…

Rust編程-編寫自動化測試

編寫單元測試步驟: 1. 準備所需的數據 2. 調用需要測試的代碼 3. 斷言運行結果與我們所期望的一致 Rust的test元數據: #[cfg(test)]:是一個屬性宏(attribute macro)。用于控制特定的代碼段僅在測試環境中編譯…

自定義類型:聯合體

像結構體一樣,聯合體也是由一個或者多個成員組成,這些成員可以是不同的類型。 聯合體類型的聲明 編譯器只為最?的成員分配?夠的內存空間。聯合體的特點是所有成員共?同?塊內存空間。所以聯合體也叫:共?體。 輸出結果: 聯合體…

size_t 數據類型的好處

什么是size_t size_t 類型在不同的平臺上對應不同的底層整數類型,具體取決于平臺的指針大小。size_t 主要用于表示大小和長度,如數組的元素數量、緩沖區的大小等,它的設計目的是為了匹配指針的大小,以避免類型不匹配引起的錯誤。…

代碼隨想錄算法訓練營DAY58|101.孤島的總面積、102.沉沒孤島、103. 水流問題、104.建造最大島嶼

忙。。。寫了好久。。。。慢慢補吧。 101.孤島的總面積 先把周邊的島嶼變成水dfs def dfs(x, y, graph, s):if x<0 or x>len(graph) or y<0 or y>len(graph[0]) or graph[x][y]0:return sgraph[x][y]0s1s dfs(x1, y, graph, s)s dfs(x-1, y, graph, s)s dfs(…

【爬蟲入門知識講解:xpath】

3.3、xpath xpath在Python的爬蟲學習中&#xff0c;起著舉足輕重的地位&#xff0c;對比正則表達式 re兩者可以完成同樣的工作&#xff0c;實現的功能也差不多&#xff0c;但xpath明顯比re具有優勢&#xff0c;在網頁分析上使re退居二線。 xpath 全稱為XML Path Language 一種…

軟考高級第四版備考--第16天(規劃溝通管理)Plan Communication Management

定義&#xff1a;基于每個干系人或干系人群體的信息需求、可用的組織資產以及具體的項目的需求&#xff0c;為項目溝通活動制定恰當的方法和計劃的過程。 作用&#xff1a; 及時向干系人提供相關信息&#xff1b;引導干系人有效參與項目&#xff1b;編制書面溝通計劃&#xf…

【基于R語言群體遺傳學】-16-中性檢驗Tajima‘s D及連鎖不平衡 linkage disequilibrium (LD)

Tajimas D Test 已經開發了幾種中性檢驗&#xff0c;用于識別模型假設的潛在偏差。在這里&#xff0c;我們將說明一種有影響力的中性檢驗&#xff0c;即Tajimas D&#xff08;Tajima 1989&#xff09;。Tajimas D通過比較數據集中的兩個&#x1d703; 4N&#x1d707;估計值來…

vue項目中常見的一些preset及其關系

Babel的作用 Babel主要用途是用來做js代碼轉換的&#xff0c;將最新的js語法或者api轉換成低版本瀏覽器可兼容執行的代碼。 語法兼容是指一些瀏覽器新特性增加的js寫法&#xff0c;例如箭頭函數 ()>{}&#xff1b;低版本的瀏覽器無法識別這些&#xff0c;會導致一些語法解…