查看單個文章
舊 2005-10-22, 10:09 AM   #3 (permalink)
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9935小時 | 升級還需:61小時級別:97 | 在線時長:9935小時 | 升級還需:61小時級別:97 | 在線時長:9935小時 | 升級還需:61小時級別:97 | 在線時長:9935小時 | 升級還需:61小時級別:97 | 在線時長:9935小時 | 升級還需:61小時級別:97 | 在線時長:9935小時 | 升級還需:61小時級別:97 | 在線時長:9935小時 | 升級還需:61小時
註冊日期: 2002-12-07
文章: 13382
精華: 0
現金: 26616 金幣
資產: 3024526 金幣
預設

找了一下 winapi 一來要用 c++ 二來宣告也很麻煩
後來想到自己上次寫的 四星彩程式 可以用三角函數來做

#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;
//DX = Cos(BallMove_AngleValue) * intBallSpeed
//DY = -Sin(BallMove_AngleValue) * intBallSpeed
int main(int argc, char *argv[])
{
int speed;
float dx,dy,i;

speed=100;
for(i=1.0;i<=360;i++){
dx=cos(i/speed)*speed;
dy=-sin(i/speed)*speed;
printf("AngleValue:%0.0f X:%f Y:%f\n",i,dx,dy);
}
system("PAUSE");
return EXIT_SUCCESS;
}

i 等於角度
speed 等於半徑
dx 等於圓心到半徑的 X 座標差
dy 等於圓心到半徑的 Y 座標差

以上只要會畫點 就可拿來使用
使用上還要給個
圓心座標 OX,OY
比如
speed=100
OX=101
OY=101
mini 目前線上  
送花文章: 2027, 收花文章: 8021 篇, 收花: 26846 次
回覆時引用此帖