問題タブ [bezier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
5257 参照

geometry - 3 次曲線の 2 つの制御点を 2 次曲線の 1 つの制御点に変換するにはどうすればよいですか?

Web を検索したところ、さまざまなフォーラムで、3 次曲線を 2 次曲線で近似することをほのめかしているさまざまな人々を見かけます。しかし、私は式を見つけることができません。

私が欲しいのはこれです:

入力: startX、startY、control1X、control1Y、control2X、control2Y、endX、endY 出力: startX、startY、controlX、controlY、endX、endY

実は始点と終点が同じなので、あとは…

入力: startX、startY、control1X、control1Y、control2X、control2Y、endX、endY 出力: controlX、controlY

0 投票する
1 に答える
1249 参照

flash - ベジェ コントロール ポイントを通過するようにコードを変更するにはどうすればよいですか?

こんにちは、みんな -

アンカー ポイントとコントロール ポイントを使用して、curveTo を使用してシェイプを作成しています。それはすべて正常に機能していますが、線がまっすぐでないときに線が制御点 (青い点) の中心を通過する方法がわかりません。

形状を描画するための私のコードは次のとおりです。

そして、私が参考のために描いている形:

線が青いコントロール ポイントを直接通過するようにコードを変更するにはどうすればよいですか?

前もって感謝します!

b

0 投票する
2 に答える
2514 参照

java - Java 2D で複合形状を作成する

Java 2D を使用して、いくつかのベジエ曲線 ( CubicCurve2D) をつなぎ合わせて「ブロブ」を作成しました。私が今直面している問題は、次の方法です。

  1. ブロブを特定の色で効率的に塗りつぶします。
  2. 特定の点がブロブ内にあるかどうかを効率的に判断します。

「内部性」を決定するための多数の方法を提供し、ビアを埋めることができるCubicCurve2D実装に気付きました(これはのメソッドを使用してこれを行うと信じています)。 ShapecontainsGraphics2DShapefill(Shape)ShapegetPathIterator

Shapeこれを考えると、私は自分のメソッドが基になるsgetPathIterator(AffineTransform)を単純にリンクするコンポジットを作成できることを望んでいました。PathIteratorただし、これは、NoSuchElementException私の形状に複数の が含まれていると生成されますCubicCurve2D。これを達成できたとしても、 aCubicCurve2Dは常に凸面で満たされ、「ブロブ」は凹面と凸面の曲線で構成されているため、期待どおりに機能するとは確信していません。「含む」問題は、ポイントがブロブ内に正当に存在する可能性がありますが、個々の曲線内には存在しない可能性があるため、さらに困難です。

  • 私はこの問題に正しい方法で取り組んでいますか (実装しようとしていますShapeか?)、または私が知らない慣用的な方法はありますか? 幾何学的形状を合成する問題はかなり一般的だと思っていたでしょう。
  • この問題を解決する方法について何か提案はありますか?

前もって感謝します。

0 投票する
1 に答える
310 参照

math - x軸に点しかない場合、どうすればベジエ曲線を作成できますか?

x 軸にポイントしかない場合、どのようにベジエ曲線を作成できますか?これを行うか、t パラメータに関連する x 軸と y 軸のポイントが必要ですか? 特定の間隔で(次数Nから)ベジエ曲線を作成し、その間隔で既知の点(ランダム)を作成したいのですが、x軸にのみ点があります!!これが実現可能かどうか?

0 投票する
5 に答える
2800 参照

java - 閉じたベジエ曲線での自己交差の検出

3 次ベジエ曲線をつなぎ合わせて「ブロブ」形状を作成しました (下のスクリーンショット)。曲線がそれ自体または別の曲線を越えた状況を検出できるようにしたいのですが、これを行うための推奨されるアプローチまたは既知のアルゴリズムがあるかどうか疑問に思っていましたか?

私が持っていたアイデアの 1 つは、 a を使用しFlatteningPathIteratorて形状を直線セグメントに分解し、特定のセグメントが別のセグメントと交差するかどうかを検出することでしたが、より良いアプローチがあるかどうかに興味があります (これは 2 次パフォーマンスになるため)。この方法を追求する場合、2 つの線分が重なっているかどうかを検出する Java のライブラリ関数はありますか?

ありがとう。

クロスオーバーなし

クロスオーバーなし http://www.freeimagehosting.net/uploads/7ad585414d.png

クロスオーバー

クロスオーバー http://www.freeimagehosting.net/uploads/823748f8bb.png

0 投票する
1 に答える
2603 参照

math - 等しい弧長のベジェ曲線上の点のリストを返すための関数

誰かがこの問題を解決しなければなりませんでした。私はこの問題とそれを解決する方法を説明する多くの素晴らしいウェブサイトを見つけることができます。それらはよく書かれていて、数学の名手には意味があると私は確信していますが、それは私ではありません。漠然と理解しているかもしれませんが、その数学を自分が使える関数に変える方法がわかりません。

ですから、これを任意の言語で実行できる関数がある場合は、お願いします(FortranまたはHeck 6502アセンブラーであっても)-私を助けてください。

  • 反復ソリューションよりも分析ソリューションを優先する

編集:私が使用しようとしているキュービックベジェであることを指定することを意味します。

0 投票する
2 に答える
1610 参照

.net - ポイントのセットをベジエ曲線に転送する

私の WPF アプリケーションでは、画像の上に注釈を付けるための描画メカニズムに取り組んでいます。今のところ、描画されたパスが図面から収集されたポイントで構成されるパスを描画する機能があります。より厳密には、MouseMoved イベントを通じて StylusPoints を収集するときに、StylusPoints を InkPresenter に追加しています。InkPresenter は Canvas の子として設定され、これが描画を保持します。それが違う場合は、パスに LineSegment を描画することもできますか?

この図面の問題点は、滑らかにならないことです。したがって、結果の曲線をベジエ曲線として表現したいと思います。これは、Adobe Illustrator などで使用される手法です。今; これを処理する方法はありますか?最初に描かれたでこぼこの曲線を表す点のコレクションを構築し、次にこれを描かれた曲線に似たベジエ曲線に変換するには?

0 投票する
4 に答える
17284 参照

matlab - Matlabでベジェ曲線を描くにはどうすればよいですか

ベジェ曲線を描くMatlabの方法は何ですか?あなたはそれを自分でprgoramする必要がありますか?

私はユーザーが作成したルーチンを探していませんが、Matlabがそれらを描画するための標準的な方法を提供しているかどうかを尋ねています。

0 投票する
4 に答える
11988 参照

c# - C# で Start、End、および 2 つの Intersection Pts を指定して BezierSegment のコントロール ポイントを見つける方法 - AKA Cubic Bezier 4-point Interpolation

これを行うためのわかりやすい方法を探すのに苦労しています。ベジエの山と谷を表す 4 つのポイント、StartPt、EndPoint、Intersection ポイントがあります。

C# の BezierSegment には、start、controlPoint 1、controlPoint 2、endpoint が必要です。ただし、コントロール ポイントはありません。ベジェ曲線に沿って位置するこれら 2 つのポイントしかありません (上記の交点と呼んでいます)...どのように2 つの制御点を計算できますか?

前もって感謝します、これは私を夢中にさせています。

ここにある種の説明があります: http://www.tinaja.com/glib/nubz4pts1.pdfしかし、それは追記で書かれており、その言語は私にはまったく意味がありません - それは私の頭の中にあります.

0 投票する
6 に答える
3249 参照

edit - ベジェ曲線をドラッグして編集する

Gimp や Photoshop などのグラフィック編集プログラムを使用すれば、私の言いたいことが理解できるでしょう。これらのプログラムで曲線 (おそらくベジエ曲線) を編集するには、曲線をクリックしてマウスをドラッグすると、それに応じて曲線が変更されます。このメカニズムの背後にあるすべてのものはベクトルに関係していると思われますが、その方法について言及しているドキュメントは見つかりませんでした。どうすればそれができるか教えてもらえますか?どうもありがとうございました。

[編集] 私が意味したのは、曲線自体を選択して変更 (編集) することでした (曲線をクリックし、曲線をドラッグして編集します)。通常の方法で、制御点を選択して曲線を変更します。曲線を変更する必要があることはわかっています。制御点を編集する必要がありますが、曲線上の変更を制御点の変更に変換するにはどうすればよいですか?