teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

タイトルを修正

2021/06/29 12:33

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 図形の回転で誤差が出る原因が知りたい。float型
1
+ 図形の回転で誤差が出る原因が知りたい
body CHANGED
@@ -1,5 +1,5 @@
1
1
  提示コード、上がcpu描画で提示画像の緑です。下がシェーダー描画で青です。なぜ同じラジアン度で同じ量回転しているのにも関わらず
2
- なぜ回転で誤差が出て線の大きさが変わるのでしょか?
2
+ なぜ回転で誤差が出て線の大きさが変わるのでしょか?提示コードのコメント部内部のコードです。
3
3
 
4
4
  ###試したこと
5
5
  ######すべての型をfloat型しました。

3

文章を修正

2021/06/29 12:33

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- cpu描画とシェーダー描画同じことを行うと誤差出る原因が知りたい。
1
+ 図形の回転で誤差出る原因が知りたい。float型
body CHANGED
File without changes

2

文章を修正

2021/06/29 10:50

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,10 @@
1
- 提示コード、上がcpu描画で提示画像の緑です。下がシェーダー描画で青です。なぜ同じラジアン度で同じ量回転しているのにも関わらず回転で誤差が出て線の大きさが変わるのでしょか?すべてfloat型で行っています。関数の引数rに PI / 180 の値が毎フレーム入るのですがなぜ誤差出るのでしょうか?
1
+ 提示コード、上がcpu描画で提示画像の緑です。下がシェーダー描画で青です。なぜ同じラジアン度で同じ量回転しているのにも関わらず
2
+ なぜ回転で誤差が出て線の大きさが変わるのでしょか?
2
3
 
3
- #####試したこと
4
+ ###試したこと
4
- #####すべての型をfloat型しました。
5
+ ######すべての型をfloat型しました。
5
- #####ラジアン0,0で線の大きさを確認 同じ大きさでした。
6
+ ######ラジアン0,0で線の大きさを確認 同じ大きさでした。
7
+ ######ラジアン度を固定で度数とラジアンを画面に表示
6
8
 
7
9
 
8
10
 
@@ -14,6 +16,7 @@
14
16
  d += PI / 180;
15
17
  ```
16
18
 
19
+ ![![イメージ説明](6d50a329058dff47b85c1227412f9b35.png)](59cec354a74f9baf90829c495eb611d3.png)
17
20
  ![イメージ説明](f11619fd22e9bbfef7768b82c84c894a.png)
18
21
  ```
19
22
 

1

文章を修正

2021/06/29 10:36

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,10 +1,18 @@
1
- 提示コード、上がcpu描画で提示画像の緑です。下がシェーダー描画で青です。なぜ同じラジアン度で回転しているのにも関わらず回転で誤差が出て線の大きさが変わるのでしょか?すべてfloat型で行っています。関数の引数rに PI / 180 の値が毎フレーム入るのですがなぜ誤差出るのでしょうか?
1
+ 提示コード、上がcpu描画で提示画像の緑です。下がシェーダー描画で青です。なぜ同じラジアン度で同じ量回転しているのにも関わらず回転で誤差が出て線の大きさが変わるのでしょか?すべてfloat型で行っています。関数の引数rに PI / 180 の値が毎フレーム入るのですがなぜ誤差出るのでしょうか?
2
2
 
3
+ #####試したこと
4
+ #####すべての型をfloat型しました。
5
+ #####ラジアンと0,0で線の大きさを確認 同じ大きさでした。
3
6
 
4
7
 
5
8
 
6
9
 
10
+ ```cpp
7
11
 
12
+ FrameWork::DrawLine(glm::vec2(900, 200), glm::vec2(1000, 200), 7, d, glm::vec4(0, 100, 0, 255));
13
+ line->Draw(glm::vec2(900, 200), glm::vec2(1000, 200), 7, d, glm::vec4(0, 100, 255, 255));
14
+ d += PI / 180;
15
+ ```
8
16
 
9
17
  ![イメージ説明](f11619fd22e9bbfef7768b82c84c894a.png)
10
18
  ```