• R/O
  • HTTP
  • SSH
  • HTTPS

提交

Frequently used words (click to add to your profile)

javac++androidlinuxc#objective-cqt誰得windowscocoapythonphprubygameguibathyscaphec翻訳omegat計画中(planning stage)frameworktwittertestdomvb.netdirectxbtronarduinopreviewerゲームエンジン

Violet Vreath is Shooter Game for Windows XP+(個人制作シューティングゲーム)


Commit MetaInfo

修订版0208a7e6a3bac15544f9898e5328763942d0ecae (tree)
时间2022-05-29 18:52:08
作者gecchi <gecchi@boch...>
Commitergecchi

Log Message

ちょこっと精度アップ?

更改概述

差异

--- a/GgafDx/include/jp/ggaf/dx/util/SphereRadiusVectors.h
+++ b/GgafDx/include/jp/ggaf/dx/util/SphereRadiusVectors.h
@@ -7,6 +7,8 @@
77
88 namespace GgafDx {
99
10+#define SR_AC (2)
11+
1012 /**
1113 * 単位球と、単位ベクトルの座標のマッピング .
1214 * 方向ベクトルからZ軸回転角とY軸回転角、逆にZ軸回転角とY軸回転角から方向ベクトルの相互変換を可能とするために設計。<BR>
@@ -25,11 +27,11 @@ public:
2527 };
2628
2729 struct RzRy {
28- s_ang rz;
29- s_ang ry;
30+ s_ang s_rz;
31+ s_ang s_ry;
3032 };
3133
32- SrVec _sr_vec[(D90SANG + 1)][(D90SANG+1)];
34+ SrVec _sr_vec[(D90SANG*SR_AC + 1)][(D90SANG*SR_AC +1)];
3335 std::map<uint32_t, std::map<uint32_t, RzRy> > _vy_vz_2_rz_ry_rev;
3436
3537 public:
@@ -47,8 +49,8 @@ public:
4749 void getFaceAngClosely(uint32_t prm_x,
4850 uint32_t prm_y,
4951 uint32_t prm_z,
50- s_ang& out_faceZ,
51- s_ang& out_faceY_rev);
52+ angle& out_faceZ,
53+ angle& out_faceY_rev);
5254
5355 /**
5456 * 引数のZ軸回転とY軸回転の値から、相当する単位方向ベクトルの近似を求める .
@@ -60,12 +62,12 @@ public:
6062 * @param out_y 単位方向ベクトルY要素(長さ 1 が 10000000) > 0
6163 * @param out_z 単位方向ベクトルZ要素(長さ 1 が 10000000) > 0
6264 */
63- inline void getVectorClosely(s_ang prm_faceZ,
64- s_ang prm_faceY_rev,
65+ inline void getVectorClosely(angle prm_faceZ,
66+ angle prm_faceY_rev,
6567 uint32_t& out_x,
6668 uint32_t& out_y,
6769 uint32_t& out_z ) {
68- SrVec* pV = &(_sr_vec[prm_faceZ][prm_faceY_rev]);
70+ SrVec* pV = &(_sr_vec[(s_ang)(prm_faceZ/(1.0*SANG_RATE/SR_AC))][(s_ang)(prm_faceY_rev/(1.0*SANG_RATE/SR_AC))]);
6971 out_x = pV->x;
7072 out_y = pV->y;
7173 out_z = pV->z;
--- a/GgafDx/include/jp/ggaf/dx/util/Util.h
+++ b/GgafDx/include/jp/ggaf/dx/util/Util.h
@@ -29,10 +29,10 @@ namespace GgafDx {
2929 */
3030 class Util : public GgafCore::Util {
3131
32- struct AngleSet {
33- angle rz[D360SANG+1];
34- angle ry[D360SANG+1];
35- };
32+// struct AngleSet {
33+// angle rz[D360SANG+1];
34+// angle ry[D360SANG+1];
35+// };
3636
3737 public:
3838
@@ -66,22 +66,22 @@ public:
6666 * 平面射影時にできるなす角 → 2軸の回転角 の変換テーブル(その1-1) .
6767 * 方向ベクトルを、[XY平面へ射影した時のなす角][XZ平面へ射影した時のなす角] → 元の方向ベクトルのZ軸回転角 の変換テーブル
6868 */
69- static angle PROJANG_XY_XZ_TO_ROTANG_z[D90SANG+1][D90SANG+1];
69+ static angle PROJANG_XY_XZ_TO_ROTANG_z[D90SANG*SR_AC+1][D90SANG*SR_AC+1];
7070 /**
7171 * 平面射影時にできるなす角 → 2軸の回転角 の変換テーブル(その1-2) .
7272 * 方向ベクトルを、[XY平面へ射影した時のなす角][XZ平面へ射影した時のなす角] → 元の方向ベクトルのY軸(逆)回転角 の変換テーブル
7373 */
74- static angle PROJANG_XY_XZ_TO_ROTANG_y_REV[D90SANG+1][D90SANG+1];
74+ static angle PROJANG_XY_XZ_TO_ROTANG_y_REV[D90SANG*SR_AC+1][D90SANG*SR_AC+1];
7575 /**
7676 * 平面射影時にできるなす角 → 2軸の回転角 の変換テーブル(その2-1) .
7777 * 方向ベクトルを、[ZY平面へ射影した時のなす角][ZX平面へ射影した時のなす角] → 元の方向ベクトルのX軸(逆)回転角 の変換テーブル
7878 */
79- static angle PROJANG_ZY_ZX_TO_ROTANG_x_REV[D90SANG+1][D90SANG+1];
79+ static angle PROJANG_ZY_ZX_TO_ROTANG_x_REV[D90SANG*SR_AC+1][D90SANG*SR_AC+1];
8080 /**
8181 * 平面射影時にできるなす角 → 2軸の回転角 の変換テーブル(その2-2) .
8282 * 方向ベクトルを、[ZY平面へ射影した時のなす角][ZX平面へ射影した時のなす角] → 元の方向ベクトルのY軸回転角 の変換テーブル
8383 */
84- static angle PROJANG_ZY_ZX_TO_ROTANG_y[D90SANG+1][D90SANG+1];
84+ static angle PROJANG_ZY_ZX_TO_ROTANG_y[D90SANG*SR_AC+1][D90SANG*SR_AC+1];
8585
8686 static double RND_CIRCLE_X[];
8787 static double RND_CIRCLE_Y[];
--- a/GgafDx/src/jp/ggaf/dx/util/SphereRadiusVectors.cpp
+++ b/GgafDx/src/jp/ggaf/dx/util/SphereRadiusVectors.cpp
@@ -11,29 +11,29 @@ SphereRadiusVectors::SphereRadiusVectors() : GgafCore::Object() {
1111 double xXY, yXY, x, y, z;
1212 double radRotAxisZ, radRotAxisY;
1313
14- for (s_ang faceAxisZ = 0; faceAxisZ <= D90SANG; faceAxisZ++) {
14+ for (s_ang s_ang_Rz = 0; s_ang_Rz <= D90SANG*SR_AC; s_ang_Rz++) {
1515 //XY平面上の球表面の点を求める。
16- radRotAxisZ = (((PI * 2.0) * faceAxisZ) / D360SANG) ;
16+ radRotAxisZ = (((PI * 2.0) * s_ang_Rz) / (1.0*D360SANG*SR_AC) ) ;
1717 xXY = cos(radRotAxisZ);
1818 yXY = sin(radRotAxisZ);
1919 n_y = yXY * 10000000.0;
20- for (s_ang faceAxisY_rev = 0; faceAxisY_rev <= D90SANG; faceAxisY_rev++) {
20+ for (s_ang s_ang_Ry_rev = 0; s_ang_Ry_rev <= D90SANG*SR_AC; s_ang_Ry_rev++) {
2121 //XY平面上の球表面の点を、Y軸回転する。
2222 //注意:このY軸回転は、計算の都合上、左手系Y軸回転の逆回転になります。
23- radRotAxisY = (((PI * 2.0) * faceAxisY_rev) / D360SANG);
23+ radRotAxisY = (((PI * 2.0) * s_ang_Ry_rev) / (1.0*D360SANG*SR_AC) );
2424 x = xXY * cos(radRotAxisY);
2525 z = xXY * sin(radRotAxisY);
2626 n_x = x * 10000000.0;
2727 n_z = z * 10000000.0;
2828 //_sr_vec
29- SrVec* pVec = &(_sr_vec[faceAxisZ][faceAxisY_rev]);
29+ SrVec* pVec = &(_sr_vec[s_ang_Rz][s_ang_Ry_rev]);
3030 pVec->x = n_x;
3131 pVec->y = n_y;
3232 pVec->z = n_z;
3333
3434 //逆参照を設定
35- _vy_vz_2_rz_ry_rev[n_y][n_z].rz = faceAxisZ;
36- _vy_vz_2_rz_ry_rev[n_y][n_z].ry = faceAxisY_rev;
35+ _vy_vz_2_rz_ry_rev[n_y][n_z].s_rz = s_ang_Rz;
36+ _vy_vz_2_rz_ry_rev[n_y][n_z].s_ry = s_ang_Ry_rev;
3737 }
3838 }
3939 }
@@ -41,8 +41,8 @@ SphereRadiusVectors::SphereRadiusVectors() : GgafCore::Object() {
4141 void SphereRadiusVectors::getFaceAngClosely(uint32_t prm_x,
4242 uint32_t prm_y,
4343 uint32_t prm_z,
44- s_ang& out_faceZ,
45- s_ang& out_faceY_rev) {
44+ angle& out_faceZ,
45+ angle& out_faceY_rev) {
4646 std::map<uint32_t, std::map<uint32_t, RzRy> >::iterator ite_begin_vy = _vy_vz_2_rz_ry_rev.lower_bound(prm_y);
4747 if (ite_begin_vy == _vy_vz_2_rz_ry_rev.end()) {
4848 ite_begin_vy--;
@@ -53,8 +53,8 @@ void SphereRadiusVectors::getFaceAngClosely(uint32_t prm_x,
5353 ite_begin_vz--;
5454 }
5555 RzRy* pRzRy = &(ite_begin_vz->second);
56- out_faceZ = pRzRy->rz;
57- out_faceY_rev = pRzRy->ry;
56+ out_faceZ = pRzRy->s_rz*((1.0*SANG_RATE)/SR_AC);
57+ out_faceY_rev = pRzRy->s_ry*((1.0*SANG_RATE)/SR_AC);
5858
5959 }
6060
--- a/GgafDx/src/jp/ggaf/dx/util/Util.cpp
+++ b/GgafDx/src/jp/ggaf/dx/util/Util.cpp
@@ -72,10 +72,10 @@ angle Util::SLANT2ANG[100000 + 1];
7272 //angle Util::PROJANG_XY_ZX_YZ_TO_ROTANG_z[D90SANG+1][D90SANG+1];
7373
7474
75-angle Util::PROJANG_XY_XZ_TO_ROTANG_z[D90SANG+1][D90SANG+1];
76-angle Util::PROJANG_XY_XZ_TO_ROTANG_y_REV[D90SANG+1][D90SANG+1];
77-angle Util::PROJANG_ZY_ZX_TO_ROTANG_x_REV[D90SANG+1][D90SANG+1];
78-angle Util::PROJANG_ZY_ZX_TO_ROTANG_y[D90SANG+1][D90SANG+1];
75+angle Util::PROJANG_XY_XZ_TO_ROTANG_z[D90SANG*SR_AC+1][D90SANG*SR_AC+1];
76+angle Util::PROJANG_XY_XZ_TO_ROTANG_y_REV[D90SANG*SR_AC+1][D90SANG*SR_AC+1];
77+angle Util::PROJANG_ZY_ZX_TO_ROTANG_x_REV[D90SANG*SR_AC+1][D90SANG*SR_AC+1];
78+angle Util::PROJANG_ZY_ZX_TO_ROTANG_y[D90SANG*SR_AC+1][D90SANG*SR_AC+1];
7979
8080 double Util::RND_CIRCLE_X[10000];
8181 double Util::RND_CIRCLE_Y[10000];
@@ -89,7 +89,7 @@ void Util::init() {
8989 if (Util::_was_GgafDx_Util_inited_flg) {
9090 return;
9191 }
92-
92+ // ang精度 0 〜 36000 に変更
9393 for (s_ang ang = 0; ang < 36000+1; ang++) {
9494 double rad = (PI2 * ang) / 36000;
9595 Util::COS[ang] = cos(rad);
@@ -189,24 +189,24 @@ void Util::init() {
189189 double vx1 = 1.0;
190190 double vz2 = 1.0;
191191
192- for (s_ang prj_ang = 0; prj_ang <= D90SANG; prj_ang++) {
192+ for (s_ang prj_s_ang = 0; prj_s_ang <= D90SANG*SR_AC; prj_s_ang++) {
193193
194- double prj_rad_xy = (PI * 2.0 * prj_ang) / (1.0*D360SANG);
194+ double prj_rad_xy = (PI * 2.0 * prj_s_ang) / (1.0*D360SANG*SR_AC);
195195 double vy1 = tan(prj_rad_xy);
196196
197- s_ang prj_ang_xy = prj_ang;
198- for (s_ang prj_ang_xz = 0; prj_ang_xz <= D90SANG; prj_ang_xz++) {
199- double prj_rad_xz = (PI * 2.0 * prj_ang_xz) / (1.0*D360SANG);
197+ s_ang prj_s_ang_xy = prj_s_ang;
198+ for (s_ang prj_s_ang_xz = 0; prj_s_ang_xz <= D90SANG*SR_AC; prj_s_ang_xz++) {
199+ double prj_rad_xz = (PI * 2.0 * prj_s_ang_xz) / (1.0*D360SANG*SR_AC);
200200 double vz1 = tan(prj_rad_xz);
201201
202202 //方向ベクトルを作成
203203 //vx,vy,vz を正規化する。
204- double t = 1 / sqrt(vx1 * vx1 + vy1 * vy1 + vz1 * vz1);
204+ double t = 1.0 / sqrt(vx1 * vx1 + vy1 * vy1 + vz1 * vz1);
205205 double nvx = t * vx1;
206206 double nvy = t * vy1;
207207 double nvz = t * vz1;
208208 //単位ベクトルからRzRy(逆回転)を求める
209- s_ang rz, ry_rev;
209+ angle rz, ry_rev;
210210 Util::_srv.getFaceAngClosely(
211211 (uint32_t)(nvx*10000000),
212212 (uint32_t)(nvy*10000000),
@@ -214,39 +214,39 @@ void Util::init() {
214214 rz,
215215 ry_rev
216216 );
217- Util::PROJANG_XY_XZ_TO_ROTANG_z[prj_ang_xy][prj_ang_xz] = rz*SANG_RATE;
218- Util::PROJANG_XY_XZ_TO_ROTANG_y_REV[prj_ang_xy][prj_ang_xz] = ry_rev*SANG_RATE;
217+ Util::PROJANG_XY_XZ_TO_ROTANG_z[prj_s_ang_xy][prj_s_ang_xz] = rz;
218+ Util::PROJANG_XY_XZ_TO_ROTANG_y_REV[prj_s_ang_xy][prj_s_ang_xz] = ry_rev;
219219 }
220220 // prj_rad_zy = (PI * 2.0 * prj_ang_zy) / (1.0*D360SANG);
221221 // vy2 = tan(prj_rad_zy);
222- s_ang prj_ang_zy = prj_ang;
222+ s_ang prj_s_ang_zy = prj_s_ang;
223223 double vy2 = vy1;
224- for (s_ang prj_ang_zx = 0; prj_ang_zx <= D90SANG; prj_ang_zx++) {
225- double prj_rad_zx = (PI * 2.0 * prj_ang_zx) / (1.0*D360SANG);
224+ for (s_ang prj_s_ang_zx = 0; prj_s_ang_zx <= D90SANG*SR_AC; prj_s_ang_zx++) {
225+ double prj_rad_zx = (PI * 2.0 * prj_s_ang_zx) / (1.0*D360SANG*SR_AC);
226226 //方向ベクトルを作成
227227 double vx2 = tan(prj_rad_zx);
228228
229- double t = 1 / sqrt(vx2 * vx2 + vy2 * vy2 + vz2 * vz2);
230- double nvx = t * vx2;
231- double nvy = t * vy2;
232- double nvz = t * vz2;
229+ double t2 = 1.0 / sqrt(vx2 * vx2 + vy2 * vy2 + vz2 * vz2);
230+ double nvx2 = t2 * vx2;
231+ double nvy2 = t2 * vy2;
232+ double nvz2 = t2 * vz2;
233233 //単位ベクトルからRzRy(逆回転)を求める
234- s_ang rz, ry_rev;
234+ angle rz, ry_rev;
235235 Util::_srv.getFaceAngClosely(
236- (uint32_t)(nvx*10000000),
237- (uint32_t)(nvy*10000000),
238- (uint32_t)(nvz*10000000),
236+ (uint32_t)(nvx2*10000000),
237+ (uint32_t)(nvy2*10000000),
238+ (uint32_t)(nvz2*10000000),
239239 rz,
240240 ry_rev
241241 );
242242
243243 //(0,0,1.0)を0°としX軸の正の方を向いて時計回りを正の角(rx_rev)を考える
244244 //これは上で求めたrzと等しくなる。
245- int rx_rev = rz;
245+ angle rx_rev = rz;
246246 //(0,0,1.0)を0°としY軸の正の方を向いて反時計回りを正の角(ry)を考える
247247 //これは上で求めたry_revをD90ANGから引いた値である。
248- Util::PROJANG_ZY_ZX_TO_ROTANG_x_REV[prj_ang_zy][prj_ang_zx] = rx_rev*SANG_RATE;
249- Util::PROJANG_ZY_ZX_TO_ROTANG_y[prj_ang_zy][prj_ang_zx] = D90ANG - ry_rev*SANG_RATE;
248+ Util::PROJANG_ZY_ZX_TO_ROTANG_x_REV[prj_s_ang_zy][prj_s_ang_zx] = rx_rev;
249+ Util::PROJANG_ZY_ZX_TO_ROTANG_y[prj_s_ang_zy][prj_s_ang_zx] = D90ANG - ry_rev;
250250 }
251251 }
252252 }
@@ -598,18 +598,19 @@ void Util::convVectorToRzRy(coord vx,
598598 const angle prj_rXZ = Util::getAngle2D_first_quadrant(dx, dz);
599599 const angle prj_rXY = Util::getAngle2D_first_quadrant(dx, dy); //Rz
600600 angle rot_z, rot_y_rev;
601+ const double rate = ((1.0/SANG_RATE)*SR_AC);
601602 if (0 <= prj_rXZ && prj_rXZ <= D45ANG) {
602- int xy = (int)(prj_rXY*0.01);
603- int xz = (int)(prj_rXZ*0.01);
604- rot_z = Util::PROJANG_XY_XZ_TO_ROTANG_z[xy][xz];
605- rot_y_rev = Util::PROJANG_XY_XZ_TO_ROTANG_y_REV[xy][xz];
603+ s_ang prj_s_ang_rXY = (s_ang)(prj_rXY*rate);
604+ s_ang prj_s_ang_rXZ = (s_ang)(prj_rXZ*rate);
605+ rot_z = Util::PROJANG_XY_XZ_TO_ROTANG_z[prj_s_ang_rXY][prj_s_ang_rXZ];
606+ rot_y_rev = Util::PROJANG_XY_XZ_TO_ROTANG_y_REV[prj_s_ang_rXY][prj_s_ang_rXZ];
606607 } else if (prj_rXZ <= D90ANG) {
607608 const angle prj_rZY = Util::getAngle2D_first_quadrant(dz, dy); //Rz
608609 const angle prj_rZX = Util::getAngle2D_first_quadrant(dz, dx);
609- int zy = (int)(prj_rZY*0.01);
610- int zx = (int)(prj_rZX*0.01);
611- rot_z = Util::PROJANG_ZY_ZX_TO_ROTANG_x_REV[zy][zx];
612- rot_y_rev = D90ANG - Util::PROJANG_ZY_ZX_TO_ROTANG_y[zy][zx];
610+ s_ang prj_s_ang_rZY = (s_ang)(prj_rZY*rate);
611+ s_ang prj_s_ang_rZX = (s_ang)(prj_rZX*rate);
612+ rot_z = Util::PROJANG_ZY_ZX_TO_ROTANG_x_REV[prj_s_ang_rZY][prj_s_ang_rZX];
613+ rot_y_rev = D90ANG - Util::PROJANG_ZY_ZX_TO_ROTANG_y[prj_s_ang_rZY][prj_s_ang_rZX];
613614 } else {
614615 throwCriticalException("範囲が破綻してます。prj_rXZ="<<prj_rXZ<<" 引数:"<<vx<<","<<vy<<","<<vz);
615616 }
@@ -686,27 +687,27 @@ void Util::convRzRyToVector(angle prm_rz,
686687 //void SphereRadiusVectors::getVectorClosely(int out_faceY, int prm_angZ, uint16_t& out_x, uint16_t& out_y, uint16_t& out_z) {
687688 //回転角によって卦限を考慮し、getVectorCloselyのパラメータ角(< 900)を出す
688689 int xsign, ysign, zsign;
689- s_ang rz, ry_rev;
690+ angle rz, ry_rev;
690691
691692 if (0 <= prm_rz && prm_rz < D90ANG) {
692- rz = (prm_rz - D0ANG) * (1.0 / SANG_RATE);
693+ rz = (prm_rz - D0ANG);
693694 if (0 <= prm_ry && prm_ry < D90ANG) { //第五卦限
694- ry_rev = prm_ry * (1.0 / SANG_RATE);
695+ ry_rev = prm_ry;
695696 xsign = 1;
696697 ysign = 1;
697698 zsign = -1;
698699 } else if (prm_ry < D180ANG) { //第六卦限
699- ry_rev = (D180ANG - prm_ry) * (1.0 / SANG_RATE);
700+ ry_rev = (D180ANG - prm_ry);
700701 xsign = -1;
701702 ysign = 1;
702703 zsign = -1;
703704 } else if (prm_ry < D270ANG) { //第二卦限
704- ry_rev = (prm_ry - D180ANG) * (1.0 / SANG_RATE);
705+ ry_rev = (prm_ry - D180ANG);
705706 xsign = -1;
706707 ysign = 1;
707708 zsign = 1;
708709 } else if (prm_ry <= D360ANG) { //第一卦限
709- ry_rev = (D360ANG - prm_ry) * (1.0 / SANG_RATE);
710+ ry_rev = (D360ANG - prm_ry);
710711 xsign = 1;
711712 ysign = 1;
712713 zsign = 1;
@@ -714,25 +715,25 @@ void Util::convRzRyToVector(angle prm_rz,
714715 throwCriticalException("getNormalizedVectorZY: なんかおかしいですぜ(1) prm_rz="<<prm_rz<<" prm_ry="<<prm_ry);
715716 }
716717 } else if (prm_rz < D180ANG) {
717- rz = (D180ANG - prm_rz) * (1.0 / SANG_RATE);
718+ rz = (D180ANG - prm_rz);
718719
719720 if (0 <= prm_ry && prm_ry < D90ANG) { //第二卦限
720- ry_rev = prm_ry * (1.0 / SANG_RATE);
721+ ry_rev = prm_ry;
721722 xsign = -1;
722723 ysign = 1;
723724 zsign = 1;
724725 } else if (prm_ry < D180ANG) { //第一卦限
725- ry_rev = (D180ANG - prm_ry) * (1.0 / SANG_RATE);
726+ ry_rev = (D180ANG - prm_ry);
726727 xsign = 1;
727728 ysign = 1;
728729 zsign = 1;
729730 } else if (prm_ry < D270ANG) { //第五卦限
730- ry_rev = (prm_ry - D180ANG) * (1.0 / SANG_RATE);
731+ ry_rev = (prm_ry - D180ANG);
731732 xsign = 1;
732733 ysign = 1;
733734 zsign = -1;
734735 } else if (prm_ry <= D360ANG) { //第六卦限
735- ry_rev = (D360ANG - prm_ry) * (1.0 / SANG_RATE);
736+ ry_rev = (D360ANG - prm_ry);
736737 xsign = -1;
737738 ysign = 1;
738739 zsign = -1;
@@ -741,24 +742,24 @@ void Util::convRzRyToVector(angle prm_rz,
741742 }
742743
743744 } else if (prm_rz < D270ANG) {
744- rz = (prm_rz - D180ANG) * (1.0 / SANG_RATE);
745+ rz = (prm_rz - D180ANG);
745746 if (0 <= prm_ry && prm_ry < D90ANG) { //第三卦限
746- ry_rev = prm_ry * (1.0 / SANG_RATE);
747+ ry_rev = prm_ry;
747748 xsign = -1;
748749 ysign = -1;
749750 zsign = 1;
750751 } else if (prm_ry < D180ANG) { //第四卦限
751- ry_rev = (D180ANG - prm_ry) * (1.0 / SANG_RATE);
752+ ry_rev = (D180ANG - prm_ry);
752753 xsign = 1;
753754 ysign = -1;
754755 zsign = 1;
755756 } else if (prm_ry < D270ANG) { //第八卦限
756- ry_rev = (prm_ry - D180ANG) * (1.0 / SANG_RATE);
757+ ry_rev = (prm_ry - D180ANG);
757758 xsign = 1;
758759 ysign = -1;
759760 zsign = -1;
760761 } else if (prm_ry <= D360ANG) { //第七卦限
761- ry_rev = (D360ANG - prm_ry) * (1.0 / SANG_RATE);
762+ ry_rev = (D360ANG - prm_ry);
762763 xsign = -1;
763764 ysign = -1;
764765 zsign = -1;
@@ -766,24 +767,24 @@ void Util::convRzRyToVector(angle prm_rz,
766767 throwCriticalException("getNormalizedVectorZY: なんかおかしいですぜ(3) prm_rz="<<prm_rz<<" prm_ry="<<prm_ry);
767768 }
768769 } else if (prm_rz <= D360ANG) {
769- rz = (D360ANG - prm_rz) * (1.0 / SANG_RATE);
770+ rz = (D360ANG - prm_rz);
770771 if (0 <= prm_ry && prm_ry < D90ANG) { //第八卦限
771- ry_rev = prm_ry * (1.0 / SANG_RATE);
772+ ry_rev = prm_ry;
772773 xsign = 1;
773774 ysign = -1;
774775 zsign = -1;
775776 } else if (prm_ry < D180ANG) { //第七卦限
776- ry_rev = (D180ANG - prm_ry) * (1.0 / SANG_RATE);
777+ ry_rev = (D180ANG - prm_ry);
777778 xsign = -1;
778779 ysign = -1;
779780 zsign = -1;
780781 } else if (prm_ry < D270ANG) { //第三卦限
781- ry_rev = (prm_ry - D180ANG) * (1.0 / SANG_RATE);
782+ ry_rev = (prm_ry - D180ANG);
782783 xsign = -1;
783784 ysign = -1;
784785 zsign = 1;
785786 } else if (prm_ry <= D360ANG) { //第四卦限
786- ry_rev = (D360ANG - prm_ry) * (1.0 / SANG_RATE);
787+ ry_rev = (D360ANG - prm_ry);
787788 xsign = 1;
788789 ysign = -1;
789790 zsign = 1;
--- a/VioletVreath_launcher/src/VioletVreath_launcher.cpp
+++ b/VioletVreath_launcher/src/VioletVreath_launcher.cpp
@@ -494,7 +494,6 @@ INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {
494494 break;
495495 }
496496 return (INT_PTR) FALSE;
497-
498497 }
499498
500499 //LRESULT SysMenuProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)