グラフィック可視化とWeb画像技術紹介
6346 ワード
一、SVG:伸縮可能なベクトルパターン(声明式方法:モードパターンを保持して描画する)
SVG自体はXMLベースの独立したデータフォーマットであり、宣言式の2 Dベクトルパターンである.しかし、HTMLドキュメントに組み込むこともできます.これはすべての主流ブラウザでサポートされています.
二、キャンバスcanvas(関数式方法:インスタントパターン描画)
canvas元素はホームページ上で図形描画できるエリアを提供しただけです.JavaScriptコードを使用して、まずキャンバスからコンテキストを取得し、提供されたAPIを使用して、画像を描く関数を定義します.
1.コンテキスト:2 D
キャンバスに2 Dグラフィックスを描画するための高度なAPIが提供されている.
2.文脈:WebGL
多くの現代ブラウザもwebglコンテキストをサポートしています.WibGL標準を使用したハードウェア加速グラフィックスの下側APIが提供されていますが、これはGPUサポートが必要です.これは2 Dをレンダリングするために使うことができます.さらに重要なのは、このブログで言っている3 Dグラフィックスをレンダリングするためにも使えます.
三、X 3 D:声明式に向けた3 D図形
参考:X3 D:現代Webの声明式3 D技術
SVG自体はXMLベースの独立したデータフォーマットであり、宣言式の2 Dベクトルパターンである.しかし、HTMLドキュメントに組み込むこともできます.これはすべての主流ブラウザでサポートされています.
SVG :
ブラウザウィンドウがサイズまたは拡大縮小を調整すると、画像の品質は失われません.SVG要素がJavaScriptコードによって修正されると、自動的に再描画されます.これはSVGが*JavaScriptライブラリ(D 3など)*と一緒に使用するのに特に適しています.D 3はデータをDOMの要素に結び付けて、簡単な図表からもっとユニークなインタラクティブデータまで視認可能な任意のコンテンツを作成することができます.二、キャンバスcanvas(関数式方法:インスタントパターン描画)
canvas元素はホームページ上で図形描画できるエリアを提供しただけです.JavaScriptコードを使用して、まずキャンバスからコンテキストを取得し、提供されたAPIを使用して、画像を描く関数を定義します.
const canvas = document.getElementById(id);
const context = canvas.getContext(contextType);
// call some methods on context to draw onto the canvas
スクリプトが実行されると、画像はすぐに下のビットマップのピクセルに作成されます.ブラウザは描画方式の情報を保持しません.図形描画を更新するためには、スクリプトを再実行する必要があります.画像をリサイズすると、描画の更新もトリガされます.そうでないと、ブラウザは元のビットマップだけを伸ばして、画像が明らかにぼやけたりピクセル化されたりします.1.コンテキスト:2 D
キャンバスに2 Dグラフィックスを描画するための高度なAPIが提供されている.
:
カンバスの現在のサイズに応じて、ピクセル単位で円の半径と中心の位置を計算します.これは、スケーリングされたイベントを監視し、それに応じて再描画しなければならないことを意味する.より多くのオブジェクトの、より複雑な動的可視化に適しており、DOMの多くの要素を更新し、ブラウザにいつ何が現れるかを決定させ、より良い性能をもたらす.2.文脈:WebGL
多くの現代ブラウザもwebglコンテキストをサポートしています.WibGL標準を使用したハードウェア加速グラフィックスの下側APIが提供されていますが、これはGPUサポートが必要です.これは2 Dをレンダリングするために使うことができます.さらに重要なのは、このブログで言っている3 Dグラフィックスをレンダリングするためにも使えます.
//
何かをレンダリングする前に、多くの設定をします.頂点のリストを使用して、円を小三角形の系列として定義します.また、3 Dモデル(平面円)を2 Dカンバスに投影する投影行列を定義しなければならない.そして、頂点の位置と色を決定するために、「着色器」(GSLという言語で)を作成し、GPUでコンパイルして実行しなければなりません.しかし、追加の複雑さとより低いAPIは、2 Dグラフィックス描画の性能をよりよく制御することができる.3 D可視化をレンダリングする能力も提供した.三、X 3 D:声明式に向けた3 D図形
参考:X3 D:現代Webの声明式3 D技術