recherche
MaisonPériphériques technologiquesIndustrie informatiqueComment dessiner des courbes de Bézier quadratiques sur HTML5 SVGS

Courbe de Bezier quadratique SVG: Un outil pour dessiner des bords lisses

Cet article explorera comment dessiner des bords lisses à l'aide des courbes de Bezier quadratiques dans HTML5 SVG. La courbe de Bezier quadratique est définie par l'instruction d dans l'attribut SVG Path Q, avec un point de départ et d'évaluation, et la courbe est pliée par un seul point de contrôle.

Points clés:

    L'instruction
  • dans l'attribut d svg path Q est utilisée pour définir une courbe de Bezier quadratique, qui contient trois coordonnées: le point de départ, le point de contrôle et le point final.
  • Utilisez les lettres minuscules q pour spécifier des coordonnées relatives, tandis que les instructions T et t peuvent être utilisées pour connecter plusieurs courbes. la courbe.
  • Bien que le codage et la visualisation des courbes quadratiques Bezier peuvent être difficiles, le code <path></path> peut être généré à l'aide de l'outil.
  • Les courbes de Bezier quadrifères peuvent être utilisées pour créer des formes complexes et peuvent être animées via des éléments <animate></animate>, des animations CSS ou JavaScript.

L'article précédent "Comment créer des chemins complexes dans SVG" explore les éléments <path></path> et montre comment dessiner une série de segments de ligne et d'arcs pour créer n'importe quelle forme (souvent utilisé pour copier des polices sans télécharger la police complète). . La propriété d fournit quelques astuces supplémentaires pour dessiner des courbes lisses. Cet article discutera des courbes Quadratic Bezier, et vous pouvez également vous référer à "Comment dessiner des courbes Cubic Bezier sur les images SVG" pour des options plus complexes.

Qu'est-ce qu'une courbe de Bezier quadratique?

La courbe de Bezier quadratique a un point de départ (P0) et un point final (P2). Un seul point de contrôle (P1) détermine la courbure de la ligne. La page Curve Bezier de Wikipedia fournit une bonne illustration générée:

How to Draw Quadratic Bézier Curves on HTML5 SVGs

Les images proviennent de Wikipedia

Les amateurs de mathématiques peuvent également voir les équations induisant les maux de tête sur Wolfram Mathworld.

Les courbes quadrilatères sont idéales pour dessiner des bords lisses. Comme le montre la figure ci-dessous, il est facile de spécifier un point de contrôle, et généralement les bords d'angle droit apparaissent:

How to Draw Quadratic Bézier Curves on HTML5 SVGs

chemin complexe

La courbe de Bezier quadratique utilise la définition d'instruction d dans l'attribut Q du chemin SVG:

<path d="M100,250 Q250,100 400,250" />
La commande

initiale M déplace le stylo au premier point (100 250). Q est suivi de deux coordonnées: un seul point de contrôle (250,100) et le point de dessin final (400 250).

Vous pouvez également utiliser la lettre minuscule q pour représenter des coordonnées relatives au lieu de coordonnées absolues. La courbe suivante sera la même et peut être plus facile à coder:

<path d="M100,250 Q250,100 400,250" />

Enfin, il y a des instructions abrégées T et t (généralement, les lettres minuscules représentent des coordonnées relatives plutôt que des coordonnées absolues). Ces instructions acceptent les coordonnées finales supplémentaires pour connecter plusieurs courbes ensemble. Les points de contrôle sont déduits du dernier point utilisé pour assurer une courbe continue parfaite continue. Par exemple, considérez le chemin suivant:

<path d="M100,250 q150,-150 300,0" />

Il tire une courbe de 100 250 à 400 250 avec le point de contrôle à 250 100. Une autre courbe est ensuite dessinée, se terminant à 700 250, et le point de contrôle est déduit à 550 400.

How to Draw Quadratic Bézier Curves on HTML5 SVGs

Les points de contrôle inférés sont mathématiquement corrects, mais ne sont peut-être pas toujours ce dont vous avez besoin!

Les courbes quadratiques de Bezier peuvent être un peu difficiles à coder et à visualiser, vous pouvez donc utiliser l'outil de génération rapide pour générer un code <path></path> pour vous:

Codepen Link

Faites glisser les points de contrôle aux deux extrémités de la courbe. Cliquez sur la courbe elle-même pour basculer l'effet de remplissage, qui ajoute la commande fin Z.

Veuillez noter que cet outil doit convertir les coordonnées de page DOM en coordonnées SVG pour vous assurer qu'elle fonctionne correctement pour toutes les tailles d'écran. Cela peut être un peu plus compliqué que prévu, alors reportez-vous à "Comment convertir des coordonnées DOM en coordonnées SVG et retour" pour plus de détails.

Si vous êtes prêt à faire face à des problèmes plus complexes, essayez de créer une courbe Cubic Bezier sur une image SVG.

(La partie FAQ mentionnée dans le texte d'origine doit être ajoutée ici, le contenu a été donné dans le texte d'origine et ne sera pas répété ici)

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
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
Top 21 newsletters du développeur auquel s'abonner en 2025Top 21 newsletters du développeur auquel s'abonner en 2025Apr 24, 2025 am 08:28 AM

Restez informé des dernières tendances technologiques avec ces meilleurs bulletins de développeur! Cette liste organisée offre quelque chose pour tout le monde, des amateurs d'IA aux développeurs assaisonnés du backend et du frontend. Choisissez vos favoris et gagnez du temps à la recherche de rel

Pipeline de traitement d'image sans serveur avec AWS ECS et LambdaPipeline de traitement d'image sans serveur avec AWS ECS et LambdaApr 18, 2025 am 08:28 AM

Ce tutoriel vous guide dans la création d'un pipeline de traitement d'image sans serveur à l'aide de services AWS. Nous allons créer un frontend Next.js déployé sur un cluster ECS Fargate, en interagissant avec une passerelle API, des fonctions lambda, des seaux S3 et DynamoDB. Ème

Pilote CNCF ARM64: impact et perspectivesPilote CNCF ARM64: impact et perspectivesApr 15, 2025 am 08:27 AM

Ce programme pilote, une collaboration entre le CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal et ACTUTIE, rationalise ARM64 CI / CD pour les projets GitHub CNCF. L'initiative répond aux problèmes de sécurité et aux performances LIM

Construire un scanner de vulnérabilité de réseau avec GoConstruire un scanner de vulnérabilité de réseau avec GoApr 01, 2025 am 08:27 AM

Ce scanner de vulnérabilité de réseau basé sur GO identifie efficacement les faiblesses de sécurité potentielles. Il exploite les fonctionnalités de concurrence de GO pour la vitesse et comprend la détection de services et la correspondance de vulnérabilité. Explorons ses capacités et ses éthiques

See all articles

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 !

Outils chauds

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !