![]() |
||
|
Junior Member
![]() ![]() ![]() ¥[¤J¤é´Á: Aug 2001 ±zªº¦í§}: ¸°¨¬P
¤å³¹: 771
|
¤Þ¥Î:
«¢«¢«¢¡@¡@¡@¡@¡@¡@¡@¡@¡@
__________________
![]()
|
||||||||
|
|
|
*°±Åv¤¤*
¥[¤J¤é´Á: Dec 2002
¤å³¹: 1,157
|
«ØÄ³³o¼ËªºªB¤Í, ¤£n¥h·d¸ò§Þ³N¦³Ãöªº¸ê°T¤u§@,
¦n¦n½m¥´¼L¯¥¯à¤O, ·d¤£¦n¥H«á´NÅܦ¨¦ÑÁó¤F ![]() |
||
|
|
|
Basic Member
¥[¤J¤é´Á: Aug 2003 ±zªº¦í§}: ¬¥§üÁF
¤å³¹: 19
|
¤Þ¥Î:
§Ú¥H¬°¥u¦³§Úªº¾Ç®Õ¦³³oºØ¤H....= =||| §ó§èªº¬O³sGoogle´N¦³µª®×ªº³£¤£·| ÁÙn°Ý¤H..... |
|
|
|
|
Regular Member
![]() ![]() ¥[¤J¤é´Á: Mar 2006 ±zªº¦í§}: ¥x¤¤Taichung
¤å³¹: 78
|
¤Þ¥Î:
¤£¬O¸ê¤uªº.. ¤]¤£ª¾¹D¬O¤£¬O²V..@@ ¥u¬O..§Ú¨ä¹ê¤]¦³¾Ç¹LC++..¦ý¬O¨S·Q¨ì¬O¦p¦¹Ãøªº...orz.. ¥H«e¤]´¿¸gC++ ³Q³s·í4¾Ç´Á...( §Ú¯u¬OC++¥Õè..)
__________________
Diving... |
|
|
|
|
Regular Member
![]() ![]() ¥[¤J¤é´Á: Mar 2006 ±zªº¦í§}: ¥x¤¤Taichung
¤å³¹: 78
|
¤Þ¥Î:
google¯uªº¦³»ò@.@.... ¦n®£©ÆªºGoogle...... ´N¦p¦P§Ú¥t¤@ÓªB¤Í¥ÎGoogle¬d¸ß¨ì¨ä °ê¤p¦P¾Ç¤@¼Ë.. ¯u¬O±jªÌ§ÚªB¤Í Äò¶°XD... anyway..¹ê¦b¬O«Ü·PÁ¤j®a... ![]()
__________________
Diving... |
|
|
|
|
Elite Member
![]() ![]() ![]() ![]() ![]() ¥[¤J¤é´Á: Nov 1999 ±zªº¦í§}: Arlington, Texas
¤å³¹: 6,045
|
¤Þ¥Î:
¬ü°ê«Ü¦h¾Ç®Õ¤£½×¬O¤½¥ßÁÙ¬O¨p¥ßªº¡A¥u¬°¤FÁÈ¿ú¡A©Û¦¬¤F¤@°ï¾Ç¥Í¶i¨Ó¡A ¤]¤£ºÞ³o¨Ç¾Ç¥Í¨ì©³¬O¤£¬O°÷¸ê®æ....... ![]()
__________________
My PC: AMD Athlon64 3500+ S939 2200mhz Corsair DDR500 512MB*2 Abit AV8 K8T800 Pro Hitachi HDS72251 6VLAT80 SCSI Disk Device 160GB/8MB Buffer Pioneer DVD-RW DVR-110D LITE-ON LTR-52327S USB2.0 CD-RW PNY Verto GeForce 6800 GT 256MB Linksys Wireless-G PCI Adapter Creative Sound Blaster Audigy 2 ZS ViewSonic A71f+ ViewSonic VX2025WM Creative Inspire P5800 ASUS A2428PDV Microsoft XBOX 360 |
|
|
|
|
*°±Åv¤¤*
¥[¤J¤é´Á: Apr 2005 ±zªº¦í§}: Äè·À®Â½Ã¹D¼w¤H¤hÁp·ù
¤å³¹: 131
|
¸Ü»¡
§Ú±MÃD¤]¬OC ªá¤F¤@±i¤pªB¤Í............... |
|
|
|
Major Member
![]() ¥[¤J¤é´Á: Aug 2005 ±zªº¦í§}: Åwªï¥[¤JTHK
¤å³¹: 161
|
°Ñ¦Ò¥Î..¨ä¥L¾a§AªB¤Í¦Û¤vÅo..
¥[ªo¡A
§O¿éµ¹®aùØÃÛ¼o§÷... ¥N½X:
#include <iostream.h>
#include <math.h>
float calculate_Sx(float Vinit, float degree, float timeSlice);
float calculate_Sy(float Vinit, float degree, float Height,float timeSlice);
void receiveInputData(float &Vinit,float &height, float °ree);
float G=9.8;
struct ObjectInfo // ª«Å骺®É¶¡¡A®y¼Ð
{
float currentTime;
float x;
float y;
};
void receiveInputData(float &Vinit,float &height,float °ree)
{
cout<<"©ßÅé¹B°Ê\n" ;
cout<<"½Ð¿é¤Jªì©l³t«×(¥H¯BÂI¼Æ©Î¾ã¼Æ)¡G";
cin>>Vinit;
cout<<"§A¿é¤Jªºªì©l³t«×¬°¡G"<<Vinit<<endl;
cout<<"½Ð¿é¤Jªì©l°ª«×(¥H¯BÂI¼Æ©Î¾ã¼Æ)¡G";
cin>>height;
cout<<"§A¿é¤Jªºªì©l°ª«×¬°¡G"<<height<<endl;
cout<<"½Ð¿é¤J©ßÅ騤«×(¥H¯BÂI¼Æ©Î¾ã¼Æ)(³æ¦ì¡G«×)¡G";
cin>>degree;
cout<<"§A¿é¤Jªº©ßÅ騤«×¬°¡G"<<degree<<endl;
}
float calculate_Sx(float Vinit, float degree, float time)
{
float Sx=0;
float radian=0;
radian = (3.14*degree)/180.0;
Sx = Vinit*cos(radian)*time;
return Sx;
}
float calculate_Sy(float Vinit, float degree, float height,float time)
{
float Sy=0;
float radian=0;
radian = (3.14*degree)/180.0;
Sy = height + Vinit*sin(radian)*time - 0.5*G*pow(time,2.0);
if(Sy <= 0) return 0;
return Sy;
}
bool isItOnAir(float currentSy)
{
if (currentSy <= 0)
{
return false;
}
else
{
return true;
}
}
float onAirTime(float Vinit, float degree, float height,float timeSlice)
{
float elapseTime=0;
float Sy=0;
do
{
elapseTime = elapseTime+timeSlice;
Sy = calculate_Sy(Vinit,degree,height,elapseTime);
}
while(isItOnAir(Sy)); // ©Î while(Sy > 0) ;
return elapseTime;
}
int main(void)
{
float Sx=0;
float Sy=0;
float time=0;
float degree=0;
float Vinitial=0;
float height=0;
float timeSlice = 0.1;
float currentTime=0;
float elapseTime=0;
int arraySize=0;
int index=0;
receiveInputData(Vinitial,height,degree); // ¿é¤J¤¶±
elapseTime = onAirTime(Vinitial,degree,height,timeSlice); // º¢ªÅ®É¶¡
elapseTime = elapseTime + 3; //¸¨¦a«ùÄò3¬í¹B°Ê
arraySize = (int)(elapseTime/timeSlice);
ObjectInfo *objectInfoArray;
// ªì©l¤Æ¹B°Êª«Å骺Àx¦s¸ê°T ¡A°t¸m°O¾ÐÅé
objectInfoArray = (ObjectInfo *)malloc(arraySize*sizeof(ObjectInfo));
do
{
currentTime = currentTime+timeSlice;
Sx = calculate_Sx(Vinitial,degree,currentTime);
Sy = calculate_Sy(Vinitial,degree,height,currentTime);
objectInfoArray[index].currentTime = currentTime;
objectInfoArray[index].x = Sx;
objectInfoArray[index].y = Sy;
index++;
}
while(isItOnAir(Sy)); //©Î while(Sy > 0);
// continue move 3 seconds
float onGroundTime = currentTime;
do
{
currentTime = currentTime+timeSlice;
Sx = calculate_Sx(Vinitial,degree,currentTime);
Sy = calculate_Sy(Vinitial,degree,height,currentTime);
objectInfoArray[index].currentTime = currentTime;
objectInfoArray[index].x = Sx;
objectInfoArray[index].y = Sy;
index++;
}while((onGroundTime+3) >= currentTime);
//¿é¥X¤¶±
for(int i=0;i<arraySize;i++)
cout<<i<<",time="<<objectInfoArray[i].currentTime<<",(x="<<objectInfoArray[i].x<<",y="<<objectInfoArray[i].y<<")"<<endl;
return 0;
}
ªº§Ú...ü...
__________________
»@ª÷100¸U¤¸¡C ¬ì§Þ¤£¼Ä¤H©Ê¡C ¦¹¤å³¹©ó 2007-01-09 08:13 PM ³Q ½Ö§ä§Ú ½s¿è. |
|
|