
表題の件,どなたか実装例をご教授頂けないでしょうか.
Rubyで実装されているサイトを見つけましたが,繰り返しの処理stepがよく分からなく悩んでいます.
<https://scrapbox.io/ashiato-note/2次元配列の線形補間>
下ので図で,y軸が0-10・x軸が0-10だった場合,
入力でx = 5, y = 5なら25が取得できるとします.
入力でx = 8, y = 9なら??の近似値を取得したいです.
10 -+-----+-----+-
-| | |-
5 -+-----25----+-
-| | |-
0 -+-----+-----+-
0 5 10
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
サンプルコード
#include <stdio.h>
//数列(分かり易い例に置き換えて頂いて構いません)
const int ar[2][3]={{10, 20, 30}, {100, 200, 300}};
int lerp_x(int x0, int y0, int x1, int y1, int y)
{
return x0 + ((x1 - x0) * (y - y0)) / (y1 - y0);
}
int lerp_y(int x0, int y0, int x1, int y1, int x)
{
return y0 + ((y1 - y0) * (x - x0)) / (x1 - x0);
}
int main()
{
ここの実装・もしくは例があると助かります。
}
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
No.3ベストアンサー
- 回答日時:
最初の url は、1次補間
多分、2次補間以降が欲しいんだろうから、
数式通り計算すればいいだけ。
ただし、x,y どちらか片側だけでやると隙間が出来るので、
x,y 両方からやっていけばいい。
No.2
- 回答日時:
url は、2点間傾きを調べて(線を引いた感じ)、
その時の x か、y を指定して、y か、x の値を取得したとき、
floor と、seil の値両方を取得するだけの様ですが。
で、同じときは(整数値だった場合)pos.uniq で同値になるので削除しているだけ。
すみません。私の認識不足でした。
傾きを知りたいのではなく、値を補間したいです。
以下のサイトも参考にしました。
http://7ujm.net/etc/senkei.html
1次元テーブルのロジックは理解できたのですが、
縦横を考慮したときに、縦・横の近似値が出てきます。
その後、その縦横の値をどのような処理すれば
最も近いデータが得られるかが分かっていません。
No.1
- 回答日時:
この ar って何を表しているんですか? 「x = 5, y = 5なら25が取得できるとします」というのは, このプログラムでは
具体的にどこに書かれているんですか?すみません。他のサイトのソフトと組み合わせようとした結果、
記載したコードになってしまっています。
以下のサイトも参考にしました。
http://7ujm.net/etc/senkei.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# 変数のスコープ 5 2023/05/27 17:50
- C言語・C++・C# プログラミングのペーパーテスト 実行結果の表示を答えてください #include <stdio.h> 2 2022/07/09 16:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
C++でvectorにテキストファイル...
-
C言語での引数の省略方法
-
C言語の基礎 . 2乗値の差につ...
-
templateをシリアライズするには?
-
整数データの配列から同じ値の...
-
C言語 エラーの原因がわからな...
-
c言語のmまたはnが13以上となる...
-
乗換案内のプログラミング
-
異なる文字列のマッチングを、D...
-
C++プログラミングコードにポリ...
-
opencvで特定の座標を指定しそ...
-
任意の文字列のアルファベット...
-
C言語でシグマで総和を求める関...
-
構造体にたいして、ビット演算...
-
C言語
-
エラー 添字が付けられた値が、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
ラップ関数とはどんなものですか?
-
C言語 エラーの原因がわからな...
-
(int *)の意味
-
【C++】関数ポインタの使い方
-
if と配列の組み合わせ
-
構造体の勉強中です 合計点の高...
-
windows-findstrの正規表現を使...
-
C言語で分からないところがあり...
-
int型の変数値をバイト列として...
-
PowerShellがうまくいかない
-
C言語での奇数の和
-
「{ } で囲むだけ」は正しい?
-
std::set<int> で、ある値が何...
-
実数の整数部,小数部の取得
-
エラー 添字が付けられた値が、...
-
int16_t の _t は何?
おすすめ情報