Maison interface Web Voir.js 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

Jul 17, 2023 pm 03:42 PM
vue canvas d

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
Copier après la connexion

Créer Vue. projet et passez au répertoire du projet :

vue create 3d-rotation-graphic
cd 3d-rotation-graphic
Copier après la connexion

Ensuite, nous devons installer certains packages de dépendances nécessaires, notamment les bibliothèques Three.js et Canvas :

npm install three vue-canvas
Copier après la connexion

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>
Copier après la connexion

以上代码定义了一个带有一个canvas元素的Vue组件RotationGraphic,并在mounted生命周期钩子中调用init方法来初始化和渲染图形。在下一节中,我们将添加绘制图形和更新画面的代码。

二、在Canvas中绘制3D图形
我们将使用Three.js库中的BoxGeometryMeshBasicMaterial来绘制一个简单的立方体。在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);
Copier après la connexion

以上代码创建了一个场景对象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);
}
Copier après la connexion

以上代码使用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>
Copier après la connexion

以上代码在页面中添加了一个id为app的元素,将RotationGraphic组件添加到其中。通过CSS样式我们将页面居中并设置背景颜色。

结论:
通过本文的学习,我们了解了如何结合Vue和Canvas来创建炫酷的3D旋转图形效果。我们在Vue项目中创建了一个名为RotationGraphicrrreee

Le code ci-dessus définit un composant Vue RotationGraphic avec un élément canevas et appelle initdans 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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

<🎜>: Grow A Garden - Guide de mutation complet
3 Il y a quelques semaines By DDD
<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel Java
1666
14
Tutoriel PHP
1273
29
Tutoriel C#
1253
24
Comment utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

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.

Comment ajouter des fonctions aux boutons pour Vue Comment ajouter des fonctions aux boutons pour Vue Apr 08, 2025 am 08:51 AM

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.

Comment utiliser Watch in Vue Comment utiliser Watch in Vue Apr 07, 2025 pm 11:36 PM

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.

Comment revenir à la page précédente par Vue Comment revenir à la page précédente par Vue Apr 07, 2025 pm 11:30 PM

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.

Que signifie le développement de plusieurs pages Vue? Que signifie le développement de plusieurs pages Vue? Apr 07, 2025 pm 11:57 PM

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.

React vs. Vue: Quel framework utilise Netflix? React vs. Vue: Quel framework utilise Netflix? Apr 14, 2025 am 12:19 AM

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

Comment référencer le fichier JS avec Vue.js Comment référencer le fichier JS avec Vue.js Apr 07, 2025 pm 11:27 PM

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.

Comment utiliser Vue Traversal Comment utiliser Vue Traversal Apr 07, 2025 pm 11:48 PM

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.

See all articles