2016-05-04 15 views
0

私はRを使いたいと思いますが、データのX、Y、Zポイントを消費しています(画像の黒い点)。その画像に色付けされた3D Surface Plotを表す300x300のXYZポイントを生成します。出力をX、Y、Zの3つの列にしたいと思います。私は以下を試しましたが、必要なデータを生成していないようです。私は別のプログラム(スポットファイア)で画像を生成するためにX、Y、Zポイントが必要であり、Rでグラフィックを行う必要はありません。ありがとう。Rスクリプト - いくつかのX、Y、Z点の補間による3Dサーフェイス

3D Surface Plot with Points

> require(akima) 
> points = read.csv("points.csv", header = TRUE) 
> print(points) 
     x  y z 
1 400.01 650.01 2.70 
2 150.00 780.00 3.40 
3 250.00 780.00 3.10 
4 800.00 700.00 1.00 
5 1000.00 680.00 1.00 
6 1500.00 680.00 0.75 
7 1700.00 700.00 1.00 
8 1700.00 790.00 1.25 
9 1600.00 1000.00 1.20 
10 1750.00 1000.00 1.00 
11 1800.00 1650.00 0.60 
12 1400.00 1650.00 0.65 
13 1000.00 1650.00 0.80 
14 500.00 1650.00 0.90 
15 150.00 1650.00 1.30 
16 150.00 1050.00 3.90 
17 500.00 1000.00 3.00 
> s=interp(points$x,points$y,points$z,xo=seq(min(points$x),max(points$x),length=300),yo=seq(min(points$y),max(points$y),length=300)) 

答えて

0

それは私のために動作します。私は最終的なリストをマトリックスに変換するだけです。

s1 <- interp2xyz(s) 
dim(s1) 
# [1] 90000  3 

ポイントの多くは、z値あなたはこれらのポイントを除外または外挿を使用することを選択するかもしれません

sum(is.na(s1[,3])) 
# [1] 4897 

のためのNA値を生成します。

関連する問題