


Comment créer de superbes graphiques rotatifs 3D à l'aide de Vue et Canvas
Comment créer de superbes graphiques rotatifs 3D à l'aide de Vue et Canvas
Introduction :
Vue et Canvas sont deux technologies frontales très puissantes. Elles sont respectivement efficaces pour gérer le rendu des pages et le dessin d'images. Cet article explique comment combiner Vue et Canvas pour créer de superbes effets graphiques rotatifs 3D. Nous explorerons comment utiliser Vue pour créer une structure de page de base et comment utiliser Canvas pour obtenir les effets de dessin et de rotation des graphiques 3D. En étudiant cet article, vous pourrez comprendre comment utiliser Vue et Canvas pour créer de superbes effets dynamiques 3D.
Texte :
1. Créez un projet Vue et créez une structure de page de base
Tout d'abord, nous devons créer un projet Vue Si vous n'avez pas installé Vue CLI, vous pouvez l'installer via les commandes suivantes :
npm install -g @vue/cli
Créer Vue. projet et passez au répertoire du projet :
vue create 3d-rotation-graphic cd 3d-rotation-graphic
Ensuite, nous devons installer certains packages de dépendances nécessaires, notamment les bibliothèques Three.js et Canvas :
npm install three vue-canvas
Créez un nouveau composant Vue RotationGraphic.vue
et définissez les bases Structure de la page : RotationGraphic.vue
,并在其中定义基本页面结构:
<template> <div> <canvas ref="canvas"></canvas> </div> </template> <script> import Vue from 'vue'; import { CanvasRenderer } from 'vue-canvas'; import * as THREE from 'three'; Vue.use(CanvasRenderer); export default { name: 'RotationGraphic', mounted() { this.init(); }, methods: { init() { const canvas = this.$refs.canvas; const renderer = new THREE.WebGLRenderer({ canvas }); // 绘制代码将在下一节中添加 this.animate(); }, animate() { // 更新画面的代码将在下一节中添加 } } }; </script> <style scoped> canvas { width: 100%; height: 100%; } </style>
以上代码定义了一个带有一个canvas元素的Vue组件RotationGraphic
,并在mounted
生命周期钩子中调用init
方法来初始化和渲染图形。在下一节中,我们将添加绘制图形和更新画面的代码。
二、在Canvas中绘制3D图形
我们将使用Three.js库中的BoxGeometry
和MeshBasicMaterial
来绘制一个简单的立方体。在init
方法中添加以下代码来绘制图形:
const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); const geometry = new THREE.BoxGeometry(1, 1, 1); const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 }); const cube = new THREE.Mesh(geometry, material); scene.add(cube); camera.position.z = 5; renderer.setSize(window.innerWidth, window.innerHeight);
以上代码创建了一个场景对象scene
、一个摄像机对象camera
和一个立方体对象cube
,并将立方体添加到场景中。摄像机的位置被设置为(0, 0, 5)
,以便我们能够看到整个场景。最后,我们设置了渲染器的大小为窗口的宽度和高度。
三、实现画面的动态更新
为了实现图形的旋转效果,我们将在animate
方法中更新立方体的旋转角度,并在每帧中重新渲染场景。使用下面的代码替换animate
方法:
animate() { requestAnimationFrame(this.animate); cube.rotation.x += 0.01; cube.rotation.y += 0.01; renderer.render(scene, camera); }
以上代码使用requestAnimationFrame
方法在浏览器每一帧中调用animate
方法。每一帧中,立方体的x和y方向的旋转角度都增加0.01弧度,并通过渲染器重新渲染场景。
四、在Vue应用中使用3D旋转图形组件
我们将使用RotationGraphic
组件来演示3D旋转图形效果。在Vue项目的主组件中使用RotationGraphic
组件,修改App.vue
文件:
<template> <div id="app"> <RotationGraphic/> </div> </template> <script> import RotationGraphic from './components/RotationGraphic.vue'; export default { name: 'App', components: { RotationGraphic } } </script> <style> #app { display: flex; justify-content: center; align-items: center; height: 100vh; background-color: #f5f5f5; } </style>
以上代码在页面中添加了一个id为app
的元素,将RotationGraphic
组件添加到其中。通过CSS样式我们将页面居中并设置背景颜色。
结论:
通过本文的学习,我们了解了如何结合Vue和Canvas来创建炫酷的3D旋转图形效果。我们在Vue项目中创建了一个名为RotationGraphic
rrreee
RotationGraphic
avec un élément canevas et appelle init
dans la vie montée
cycle hook > Méthodes pour initialiser et restituer les graphiques. Dans la section suivante, nous ajouterons le code pour dessiner le graphique et mettre à jour l'écran. 2. Dessinez des graphiques 3D dans Canvas🎜Nous utiliserons BoxGeometry
et MeshBasicMaterial
dans la bibliothèque Three.js pour dessiner un cube simple. Ajoutez le code suivant dans la méthode init
pour dessiner des graphiques : 🎜rrreee🎜Le code ci-dessus crée un objet scène scene
, un objet caméra camera
et un objet Cube cube
et ajoutez le cube à la scène. La position de la caméra est définie sur (0, 0, 5)
afin que nous puissions voir toute la scène. Enfin, nous définissons la taille du moteur de rendu sur la largeur et la hauteur de la fenêtre. 🎜🎜3. Réaliser une mise à jour dynamique de l'image🎜Afin d'obtenir l'effet de rotation des graphiques, nous mettrons à jour l'angle de rotation du cube dans la méthode animate
et restituerons la scène dans chaque cadre. Remplacez la méthode animate
par le code suivant : 🎜rrreee🎜Le code ci-dessus utilise la méthode requestAnimationFrame
pour appeler la méthode animate
dans chaque image du navigateur. À chaque image, l'angle de rotation du cube dans les directions x et y est augmenté de 0,01 radians et la scène est restituée via le moteur de rendu. 🎜🎜4. Utilisation du composant graphique de rotation 3D dans les applications Vue🎜Nous utiliserons le composant RotationGraphic
pour démontrer l'effet graphique de rotation 3D. Utilisez le composant RotationGraphic
dans le composant principal du projet Vue et modifiez le fichier App.vue
: 🎜rrreee🎜Le code ci-dessus ajoute un identifiant de app
à l'élément page.code>, ajoutez-y le composant RotationGraphic
. Grâce aux styles CSS, nous centrons la page et définissons la couleur d'arrière-plan. 🎜🎜Conclusion : 🎜Grâce à l'étude de cet article, nous avons appris comment combiner Vue et Canvas pour créer de superbes effets graphiques rotatifs 3D. Nous avons créé un composant nommé RotationGraphic
dans le projet Vue, utilisé Three.js pour dessiner un cube et obtenu l'effet de rotation en mettant à jour l'angle de rotation et le moteur de rendu. J'espère que l'introduction de cet article pourra vous aider à mieux comprendre et appliquer la technologie Vue et Canvas pour créer des effets frontaux plus époustouflants. 🎜🎜Exemple de code : https://github.com/your-username/3d-rotation-graphic🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.

Vue.js dispose de quatre méthodes pour revenir à la page précédente: $ router.go (-1) $ router.back () utilise & lt; router-link to = & quot; / & quot; Composant Window.History.back (), et la sélection de la méthode dépend de la scène.

Le développement multi-pages VUE est un moyen de créer des applications à l'aide du cadre Vue.js, où l'application est divisée en pages distinctes: Maintenance du code: La division de l'application en plusieurs pages peut rendre le code plus facile à gérer et à maintenir. Modularité: chaque page peut être utilisée comme module séparé pour une réutilisation et un remplacement faciles. Routage simple: la navigation entre les pages peut être gérée par une configuration de routage simple. Optimisation du référencement: chaque page a sa propre URL, ce qui aide le référencement.

NetflixUSESACustomFrameworkCalled "gibbon" builtonReact, notreactorVueDirectly.1) teamExperience: ChoOsBasedOnFamiliarity.

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

Il existe trois méthodes courantes pour que Vue.js traverse les tableaux et les objets: la directive V-FOR est utilisée pour traverser chaque élément et les modèles de rendu; La directive V-Bind peut être utilisée avec V-FOR pour définir dynamiquement les valeurs d'attribut pour chaque élément; et la méthode .map peut convertir les éléments du tableau en nouveaux tableaux.
