私のアプリでは、クライアントユーザーがいくつかの形状または線を描くことができ、これらの形状データをサーバーに送信してデータベースに保存する必要があります。形状は、クライアントで再度描画できるはずです。
私の問題は、形状を表す1つの効果的なデータ構造をどのように設計するかです。データ構造は、データベースへの転送と保存が簡単である必要があります。
ありがとう!
エディション:これらの形状には、規則的な形状(円など)と、ユーザーが自由に描画できる不規則な形状が含まれます。
私のアプリでは、クライアントユーザーがいくつかの形状または線を描くことができ、これらの形状データをサーバーに送信してデータベースに保存する必要があります。形状は、クライアントで再度描画できるはずです。
私の問題は、形状を表す1つの効果的なデータ構造をどのように設計するかです。データ構造は、データベースへの転送と保存が簡単である必要があります。
ありがとう!
エディション:これらの形状には、規則的な形状(円など)と、ユーザーが自由に描画できる不規則な形状が含まれます。
ユーザーに形状を描画させる方法に依存すると思います。カーソルをキャンバス上で動かしているだけですか? その場合、数学的なことはあまりないので、cbranch のソリューションはおそらく良い方法です。オン/オフビットの配列である必要があります。ある種の圧縮技術を使用して最適化することもできます。
ただし、特定の描画方法 (たとえば、正方形ツール、円ツール、ベジェ ツール) を指定している場合、それらのそれぞれは、ピクセル データよりも効率的に格納できます。正方形は、次のような単純な構造として格納できます。
struct square {
int x;
int y;
int length;
}
円:
struct circle {
int x;
int y;
int radius;
}
ベジエ曲線:
struct bezier {
int x1;
int y1;
int x2;
int y2;
}
次に、画面に描画するときに、データから適切なタイプの形状を再作成するだけです。