数週間以内に開始する必要があるプロジェクトの情報を収集しています。 このプロジェクトには、ユーザーが定義済みの図形を追加したり、図形を作成したりできるブラウザベースの描画ツールが含まれています。図形は、Illustratorのような変形ツール(ハンドル)で選択可能で、自由にスケーラブルで回転可能でなければなりません。 私たちが心に留めている定義済みの図形は、長方形、楕円形、半楕円形および(二等辺三角形)の三角形です。パス/ポリゴンに角を適用する
これまでのところ、RaphaelJSやFabricJSを考えていましたが、...すべてのシェイプ(ポリゴン/パス)を特定のコーナーラジアスで描画する必要があります。また、スケーリング時にコーナーラジアスを維持する必要があるため、歪みは発生しません。ユーザは、入力によって丸めを指定することができます。
いくつかの障害物/質問があります:
- は、私が言及した形状にcornerradiusを適用するには、いくつかの均一mathemetical式はありますか?または、すべての形状をミニプロジェクトそのものとして扱う必要がありますか? SVGやキャンバスで描くことができるように、パスまたはポリゴンとして返したいと思います。
- すべての縮尺または回転操作は、変形ハンドルをドラッグすることで、(大量の)計算結果を得ることができます。四角形は、楕円形を除き達成するのが最も簡単で、他のすべての図形は計算するのがずっと難しくなります。プロセスをスピードアップする方法はありますか?
私は、ユーザーがフローチャートを描き、提供されているほぼすべての図形にコーナーラジアスを適用できるサイトを見つけました。それはとてもスムーズに動作し、私は彼らがそれをやった方法を釘付けにすることはできません。 リンク:https://www.lucidchart.com/(試しボタン)
今のところ、私はちょっと無知ですが、私は数学で平凡に思っています。おそらく誰かが正しい方向に私を押して、いくつかの経験を共有できますか?
ありがとうございます。
BTW。このプロジェクトではパフォーマンスが重要です。図面の出力はSVG形式でなければなりません。
コンテキストとは? –
'context'は[CanvasRenderingContext2D](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D)を表します。 –