回答編集履歴

4

計算式の削除

2021/03/09 12:11

投稿

txty
txty

スコア298

test CHANGED
@@ -1,119 +1 @@
1
- 手計算したんだけど、double型にしないと精度が駄目でした。
2
-
3
- ```c
4
-
5
- double Frame_Scene_Root[16]={
6
-
7
- 1.000000,0.000000,0.000000,0.000000,
8
-
9
- 0.000000,1.000000,0.000000,0.000000,
10
-
11
- 0.000000,0.000000,1.000000,0.000000,
12
-
13
- 0.000000,0.000000,0.000000,1.000000};
14
-
15
-
16
-
17
-
18
-
19
- double Frame_body[16]={
20
-
21
-
22
-
23
- 1.278853,0.000000,-0.000000,0.000000,
24
-
25
- 0.000000,0.000000,1.123165,0.000000,
26
-
27
- 0.000000,-1.470235,0.000000,0.000000,
28
-
29
- 0.135977,2.027985,133.967667,1.000000
30
-
31
- };
32
-
33
-
34
-
35
- double Frame[16]={
36
-
37
-
38
-
39
- 1.000000,-0.000000,-0.000000,0.000000,
40
-
41
- -0.000000,1.000000,0.000000,0.000000,
42
-
43
- -0.000000,0.000000,1.000000,0.000000,
44
-
45
- -0.142114,0.000023,-49.556850,1.000000};
46
-
47
-
48
-
49
-
50
-
51
- double temp[16];
1
+ いたらなかったため削除します。
52
-
53
-
54
-
55
- void Ranks( double *temp ,double* a, double *b)
56
-
57
- {
58
-
59
- temp[0]=a[0]*b[0]+a[1]*b[4]+a[2]*b[8]+a[3]*b[12];//ok
60
-
61
- temp[1]=a[0]*b[1]+a[1]*b[5]+a[2]*b[9]+a[3]*b[13];//ok
62
-
63
- temp[2]=a[0]*b[2]+a[1]*b[6]+a[2]*b[10]+a[3]*b[14];//ok
64
-
65
- temp[3]=a[0]*b[3]+a[1]*b[7]+a[2]*b[11]+a[3]*b[15];//ok
66
-
67
-
68
-
69
- temp[4]=a[4]*b[0]+a[5]*b[4]+a[6]*b[8]+a[7]*b[12];//ok
70
-
71
- temp[5]=a[4]*b[1]+a[5]*b[5]+a[6]*b[9]+a[7]*b[13];//ok
72
-
73
- temp[6]=a[4]*b[2]+a[5]*b[6]+a[6]*b[10]+a[7]*b[14];//ok
74
-
75
- temp[7]=a[4]*b[3]+a[5]*b[7]+a[6]*b[11]+a[7]*b[15];//ok
76
-
77
-
78
-
79
- temp[8]=a[8]*b[0]+a[9]*b[4]+a[10]*b[8]+a[11]*b[12];//0k
80
-
81
- temp[9]=a[8]*b[1]+a[9]*b[5]+a[10]*b[9]+a[11]*b[13];//0k
82
-
83
- temp[10]=a[8]*b[2]+a[9]*b[6]+a[10]*b[10]+a[11]*b[14];//0k
84
-
85
- temp[11]=a[8]*b[3]+a[9]*b[7]+a[10]*b[11]+a[11]*b[15];//0k
86
-
87
-
88
-
89
- temp[12]=a[12]*b[0]+a[13]*b[4]+a[14]*b[8]+a[15]*b[12];//0k
90
-
91
- temp[13]=a[12]*b[1]+a[13]*b[5]+a[14]*b[9]+a[15]*b[13];
92
-
93
- temp[14]=a[12]*b[2]+a[13]*b[6]+a[14]*b[10]+a[15]*b[14];
94
-
95
- temp[15]=a[12]*b[3]+a[13]*b[7]+a[14]*b[11]+a[15]*b[15];
96
-
97
-
98
-
99
-
100
-
101
- }
102
-
103
-
104
-
105
- Ranks(&temp[0],&Frame_Scene_Root[0],&Frame_body[0]);
106
-
107
-
108
-
109
-
110
-
111
-
112
-
113
- ```
114
-
115
-
116
-
117
- ロジックがあってるかは別として書いてみたんだけどさ、
118
-
119
- Frame_Scene_Root[0]とFrame_body[0]がdouble型にできなかったんだが、元の値が変わってしまうのですがどうすべきでしょうか。どこかを、constすればいいのか教えてください

3

double型にした

2021/03/09 12:11

投稿

txty
txty

スコア298

test CHANGED
@@ -116,4 +116,4 @@
116
116
 
117
117
  ロジックがあってるかは別として書いてみたんだけどさ、
118
118
 
119
- Frame_Scene_Root[0]とFrame_body[0]がfloat型にできなかったんだが、元の値が変わってしまうのですがどうすべきでしょうか。どこかを、constすればいいのか教えてください
119
+ Frame_Scene_Root[0]とFrame_body[0]がdouble型にできなかったんだが、元の値が変わってしまうのですがどうすべきでしょうか。どこかを、constすればいいのか教えてください

2

double型にした

2020/09/19 07:10

投稿

txty
txty

スコア298

test CHANGED
@@ -1,6 +1,8 @@
1
+ 手計算したんだけど、double型にしないと精度が駄目でした。
2
+
1
3
  ```c
2
4
 
3
- float Frame_Scene_Root[16]={
5
+ double Frame_Scene_Root[16]={
4
6
 
5
7
  1.000000,0.000000,0.000000,0.000000,
6
8
 
@@ -14,7 +16,7 @@
14
16
 
15
17
 
16
18
 
17
- float Frame_body[16]={
19
+ double Frame_body[16]={
18
20
 
19
21
 
20
22
 
@@ -30,7 +32,7 @@
30
32
 
31
33
 
32
34
 
33
- float Frame[16]={
35
+ double Frame[16]={
34
36
 
35
37
 
36
38
 
@@ -46,11 +48,11 @@
46
48
 
47
49
 
48
50
 
49
- float temp[16];
51
+ double temp[16];
50
52
 
51
53
 
52
54
 
53
- void Ranks( float *temp ,float* a, float *b)
55
+ void Ranks( double *temp ,double* a, double *b)
54
56
 
55
57
  {
56
58
 

1

文の改善

2020/09/19 07:06

投稿

txty
txty

スコア298

test CHANGED
@@ -1,3 +1,5 @@
1
+ ```c
2
+
1
3
  float Frame_Scene_Root[16]={
2
4
 
3
5
  1.000000,0.000000,0.000000,0.000000,
@@ -48,7 +50,7 @@
48
50
 
49
51
 
50
52
 
51
- void Ranks( float *temp ,float* a,float *b)
53
+ void Ranks( float *temp ,float* a, float *b)
52
54
 
53
55
  {
54
56
 
@@ -102,6 +104,14 @@
102
104
 
103
105
 
104
106
 
107
+
108
+
109
+
110
+
111
+ ```
112
+
113
+
114
+
105
115
  ロジックがあってるかは別として書いてみたんだけどさ、
106
116
 
107
117
  Frame_Scene_Root[0]とFrame_body[0]がfloat型にできなかったんだが、元の値が変わってしまうのですがどうすべきでしょうか。どこかを、constすればいいのか教えてください