アプリ版:「スタンプのみでお礼する」機能のリリースについて

3点を通る曲線の求め方を教えて下さい。
お願いします。

A 回答 (7件)

こちらは、どうでしょう・・・?


↓↓↓

http://www.kawa.net/97/works/nameraka/3-points.h …
    • good
    • 0
この回答へのお礼

早急の回答ありがとうございます。
URL行ってきました。難しいですね。仕事で(PG)で使用しようと
思っていますが、こんなに難しいのですか!。
もっと簡単だと思っていました。

お礼日時:2006/12/05 15:42

求める曲線の式の形を仮定して、式のパラメータを計算または推定します。



2次関数で、3点がバラバラなら、パラメータは一意に求まります。
点が縦に並んでいれば、2次関数は当てはまりません。
それ以上の式だと、解は無数にあります。
    • good
    • 0
この回答へのお礼

早急の回答ありがとうございます。
2次関数で、3点がバラバラなら、パラメータは一意に求まります。
できれば、公式を教えてもらえないでしょうか?

お礼日時:2006/12/05 15:43

一般的に、曲線は


 ax^2+by^2+cz^2+dxy+eyz+fzx+gx+hy+iz+j=0(a~jは定数)
と表されるので、3点(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3)を通るとすれば、これらをx、y、zに代入してa~jを求めるのですが、未知数10個に対して方程式を3つしか立てられないので、一般的には3点を通るという条件だけでは曲線は定まりません。しかし、私のこの回答が、質問者様の期待するものとは思えません。

老婆心ながら・・・
どんな曲線かを明示しなければ、質問者様が期待される回答は得られないでしょうね。
xy平面上の円なのか、放物線なのか、あるいはxyz空間上の円なのか。列挙すればきりがありません。
質問をして回答を得ようとしているには、あまりにも文章が足りなすぎです。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
別の回答者様に書かれましたが、
「曲線上の幾つかの(または3つの)サンプル点を用いて、曲線を補間する」事がしたいのです。
これだけではないのですね。

お礼日時:2006/12/05 16:10

No.3のものです。



誤りがありました。
私があげた一般式は2次曲線に限った話です。失礼しました。
xyzの次数が指定されていない以上、「曲線」だけでは回答が得られない、ということを言いたかったのですが・・・
    • good
    • 1

「3次スプライン関数」か「3次スプライン曲線」でググってみましょう。



多分、やりたい事は「曲線上の幾つかの(または3つの)サンプル点を用いて、曲線を補間する」だと思いますので。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
>やりたい事は「曲線上の幾つかの(または3つの)サンプル点を用いて、曲線を補間する」だと思いますので。
そうです!。それ以外にもあるのですね(苦笑)
ググってみます!。

お礼日時:2006/12/05 16:12

スーツのデザイナでプログラマではありません。


が、昨今は、作図もCADを利用することが珍しくありません。
例えば、米国GGT社のCADは、もっともメジャーかと思います。
さて、10数年前に、興味もあって同CADの軌跡を再現したことがあります。
準エミトール補間式(Akimaの方法)が使われていました。
ところで、私のような素人がC言語でそういうのを書けたのには理由があります。
それは、その手の本からフォートランのコードを見つけたからです。
手元にコピーがありますが、いかんせん、タイトルが不明。
「第一編、数値計算、第7章、補完・近似」までしか判りません。
この本のタイトルさえ判れば、後は、移植あるのみです。
誰か、「あっ、それ知っている」という回答者が出ればいいですね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
>誰か、「あっ、それ知っている」という回答者が出ればいいですね。
そうですね。

お礼日時:2006/12/08 16:19

いろんな回答が出ているので、僕は最も簡単な与えられた3点を通る多項式の導出を紹介します。

他の方もご指摘されていますが、一般にn点与えられたとき、そのn点を通るn-1次の多項式はただ一通りに決まります。方程式を真面目に解くという方法でも出ますが、面倒です。そこで発見的な方法を紹介します。一般の場合も同じですから、n=3の場合にやってみます。点(a,p),(b,q),(c,r)の3点を通るものとしましょう。

f(x)={p(x-b)(x-c)}/{(a-b)(a-c)}+{q(x-a)(x-c)}/{(b-a)(b-c)}+{r(x-a)(x-b)}/{(c-a)(c-b)}

とおきます。f(a)を計算すると、第2項、第3項はうまく消えます。そして、第1項は分母と分子がうまくキャンセルしてpが残ります。同様にf(b)=q,f(c)=rというわけです。2次より大きくてもよいなら解は無数にあります。また多項式に限らない場合もたくさんの解があります。が、いずれにせよ、有限個の与えられた点(ただしx座標はすべて異なるものとする)を通る曲線を単に求めよ、といわれれば、これが最も簡明な公式だと思いますよ。
    • good
    • 2
この回答へのお礼

回答ありがとうございます。
参考にします。

お礼日時:2006/12/08 16:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!