Rumah hujung hadapan web Tutorial H5 Cara mudah untuk melukis lengkung menggunakan petua tutorial Canvas_html5 HTML5

Cara mudah untuk melukis lengkung menggunakan petua tutorial Canvas_html5 HTML5

May 16, 2016 pm 03:46 PM
canvas html5

Kaedah lengkung yang disertakan dengan Canvas2D
Baru-baru ini saya telah mengkaji pengiraan badan lembut 3D, jadi saya cuba mengejar beberapa pengetahuan. Ia selalunya melibatkan beberapa analisis berangka, terutamanya pelbagai algoritma interpolasi lengkung. Tiba-tiba saya teringat bahawa Canvas2D sendiri juga boleh melukis lengkung, menggunakan lengkung Bezier kuadratik dan kubik. Sebenarnya, saya tidak pernah menggunakan kaedah ini, jadi mari cuba sekarang ~
Artikel ini hanya bercakap tentang lukisan lengkung mudah, dan saya tidak akan bercakap tentang banyak prinsip yang rumit. Selain itu, prinsip Bezier Curve adalah sangat mudah Anda boleh memahaminya dengan melihat Wikipedia. Sebenarnya, banyak lukisan lengkung mudah dalam alatan lukisan menggunakan lengkung Bezier Jika anda telah menggunakan lengkung dalam alatan lukisan yang disertakan dengan Windows, anda mesti biasa dengannya. Mula-mula anda boleh menyeret keluar garis lurus, dan kemudian klik kedudukan tertentu untuk memesongkan garis lurus. Tindakan menyeret awal adalah untuk menentukan dua bucu lengkung, dan tindakan mengklik adalah untuk menambah titik perantaraan. Alat lukisan yang disertakan dengan Windows menggunakan lengkung Bezier padu, dan anda boleh menambah dua titik perantaraan. Keluk Bezier adalah berbeza daripada interpolasi polinomial umum Titik tengahnya hanya digunakan sebagai titik kawalan, bukan bucu yang mesti dilalui oleh lengkung. Dan ia juga boleh membuat lengkung tertutup. Canvas2D menyediakan dua kaedah untuk melukis lengkung
 quadraticCurveTo: Quadratic Bezier Curve
 bezierCurveTo: Cubic Bezier Curve
Garisan dilukis bermula dari kedudukan semasa Anda boleh menggunakan kaedah moveTo untuk menentukan kedudukan semasa. Selepas anda mempunyai kedudukan permulaan lengkung, anda juga memerlukan titik tengah dan kedudukan penamat. Hanya hantar koordinat kedudukan ini kepada fungsi lukisan. Contohnya, lengkung Bezier kuadratik memerlukan titik perantaraan dan kedudukan akhir, jadi dua koordinat perlu dihantar ke fungsi kuadratikCurveTo. Koordinat terdiri daripada x dan y, yang bermaksud fungsi ini mempunyai 4 parameter. bezierCurveTo adalah sama, kecuali ia mempunyai dua titik perantaraan. Mari gunakannya di bawah

Kod CSSSalin kandungan ke papan keratan
  1. "kanvas" lebar=" 200" tinggi="200">
  2. var g=canvas.getContext(
  3. "2d");
  4. //Garis lurus biasa
  5. g.beginPath();
  6. g.strokeStyle=
  7. "#CCC"; g.moveTo(0,0);
  8. g.lineTo(200,0);
  9. g.lineTo(0,200);
  10. g.lineTo(200,200);
  11. g.stroke();
  12. //Keluk Bez
  13. g.beginPath();
  14. g.strokeStyle=
  15. "#F00"
  16. ;
  17. g.moveTo(0,0);
  18. g.bezierCurveTo(200,0, 0,200, 200,200);
  19. g.stroke();
  20. Ini memberikan empat mata mengikut trajektori berbentuk Z dan melukis garis lurus biasa dan lengkung Bezier. Ini hanyalah lengkung biasa Perkara yang menarik tentang lengkung Bezier ialah ia boleh melukis lengkung tertutup, seperti sekeping kod ini
  21. Kod CSS
  22. Salin kandungan ke papan keratan
  23. g.beginPath();

g.strokeStyle=

"#00F"

;
g.moveTo(100,0); g.bezierCurveTo(-100,200, 300,200, 100,0);
g.stroke();
  1. Tetapkan kedudukan permulaan dan penamat lengkung Bezier kubik ke titik yang sama untuk melukis lengkung tertutup. Oleh kerana arah interpolasi lengkung Bezier tidak mengikut paksi koordinat, lengkung tertutup boleh dilukis. Jika kita mahu interpolasi polinomial melukis lengkung tertutup, kita perlu menukar parameter dan menggunakan sistem koordinat kutub untuk melengkapkan.
    Contoh yang saya gunakan adalah semua lengkung Bezier kubik. Sebenarnya, langkah kedua adalah sama, tetapi tanpa titik tengah, saya tidak dapat melukis apa yang saya mahu. Saya tidak akan meneruskan terlalu banyak, itu sahaja untuk artikel ini = =. .

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Muzium Dua Point: Semua Pameran dan Di Mana Mencari Mereka
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Sempadan Jadual dalam HTML Sempadan Jadual dalam HTML Sep 04, 2024 pm 04:49 PM

Panduan untuk Sempadan Jadual dalam HTML. Di sini kita membincangkan pelbagai cara untuk menentukan sempadan jadual dengan contoh Sempadan Jadual dalam HTML.

Jadual Bersarang dalam HTML Jadual Bersarang dalam HTML Sep 04, 2024 pm 04:49 PM

Ini ialah panduan untuk Nested Table dalam HTML. Di sini kita membincangkan cara membuat jadual dalam jadual bersama-sama dengan contoh masing-masing.

HTML jidar-kiri HTML jidar-kiri Sep 04, 2024 pm 04:48 PM

Panduan untuk HTML margin-kiri. Di sini kita membincangkan gambaran keseluruhan ringkas tentang HTML margin-left dan Contoh-contohnya bersama-sama dengan Pelaksanaan Kodnya.

Susun Atur Jadual HTML Susun Atur Jadual HTML Sep 04, 2024 pm 04:54 PM

Panduan untuk Susun Atur Jadual HTML. Di sini kita membincangkan Nilai Susun Atur Jadual HTML bersama-sama dengan contoh dan output n perincian.

Senarai Tertib HTML Senarai Tertib HTML Sep 04, 2024 pm 04:43 PM

Panduan kepada Senarai Tertib HTML. Di sini kami juga membincangkan pengenalan senarai dan jenis Tertib HTML bersama-sama dengan contoh mereka masing-masing

Memindahkan Teks dalam HTML Memindahkan Teks dalam HTML Sep 04, 2024 pm 04:45 PM

Panduan untuk Memindahkan Teks dalam HTML. Di sini kita membincangkan pengenalan, cara teg marquee berfungsi dengan sintaks dan contoh untuk dilaksanakan.

Pemegang Tempat Input HTML Pemegang Tempat Input HTML Sep 04, 2024 pm 04:54 PM

Panduan untuk Pemegang Tempat Input HTML. Di sini kita membincangkan Contoh Pemegang Tempat Input HTML bersama-sama dengan kod dan output.

Butang onclick HTML Butang onclick HTML Sep 04, 2024 pm 04:49 PM

Panduan untuk Butang onclick HTML. Di sini kita membincangkan pengenalan, kerja, contoh dan onclick Event masing-masing dalam pelbagai acara.

See all articles