// Use this for initialization void Start() { rb = GetComponent <Rigidbody>(); Cursor.lockState = CursorLockMode.Locked; rb.inertiaTensor = new Vector3(1, 1, 1); Debug.Log("J: " + rb.inertiaTensor.ToString()); // Create wings airfoils[0] = new Airfoil(new Vector3(span / 4, 0, 0), Quaternion.Euler(0, 0, 0), span / 2, cord, 0.1f, 0.01f); airfoils[1] = new Airfoil(new Vector3(-span / 4, 0, 0), Quaternion.Euler(0, 0, 0), span / 2, cord, 0.1f, 0.01f); airfoils[2] = new Airfoil(new Vector3(0, 0, -.5f), Quaternion.Euler(0, 0, 0), span / 2, cord, 0.1f, 0.01f); airfoils[3] = new Airfoil(new Vector3(0, span / 8, -.5f), Quaternion.Euler(90, 0, 0), span / 4, cord, 0, 0.01f); }
public async Task AddAirfoil() { var picker = new Windows.Storage.Pickers.FileOpenPicker(); picker.FileTypeFilter.Add(".dat"); //ファイルを開く var files = await picker.PickMultipleFilesAsync(); foreach (StorageFile file in files) { Stream stream = await file.OpenStreamForReadAsync(); string name = file.DisplayName; AirfoilReader ar = new AirfoilReader(stream, name); Airfoil airfoil = ar.Read(); Project.Airfoil.Add(airfoil); } }
public Airfoil Read() { var detector = new CoordinateDetector(file); var result = new Airfoil(); result.Name.Value = name; result.Coordinate = detector.Detect(); detector.Close(); string[] datstring = file.Split(' '); //いったん格納して後から二つずつPosにぶち込む List <double> posraw = new List <double>(); for (int i = 0; i < datstring.Length; i++) { double x; if (double.TryParse(datstring[i], out x)) { posraw.Add(x); } } //偶数個ならぶち込む if (posraw.Count % 2 == 1) { //エラーとして空のAirfoilインスタンスを投げる return(null); } List <Pos> Coordinate = new List <Pos>(); for (int i = 0; i < posraw.Count / 2; i++) { Coordinate.Add(new Pos(posraw[2 * i], posraw[2 * i + 1])); } result.Coordinate.Points = Coordinate; return(result); }
public void AirfoilInitialize() { //Clark_Yを読み込む Airfoil = new Airfoil(); Airfoil.Coordinate.Points = new List <Pos>() { { new Pos(1.00000, 0.00060) }, { new Pos(0.99344, 0.00216) }, { new Pos(0.98165, 0.00494) }, { new Pos(0.96782, 0.00820) }, { new Pos(0.95254, 0.01174) }, { new Pos(0.93656, 0.01540) }, { new Pos(0.92034, 0.01904) }, { new Pos(0.90394, 0.02264) }, { new Pos(0.88745, 0.02620) }, { new Pos(0.87096, 0.02969) }, { new Pos(0.85444, 0.03311) }, { new Pos(0.83791, 0.03647) }, { new Pos(0.82138, 0.03975) }, { new Pos(0.80484, 0.04296) }, { new Pos(0.78829, 0.04609) }, { new Pos(0.77175, 0.04914) }, { new Pos(0.75520, 0.05211) }, { new Pos(0.73864, 0.05500) }, { new Pos(0.72207, 0.05782) }, { new Pos(0.70549, 0.06054) }, { new Pos(0.68890, 0.06319) }, { new Pos(0.67234, 0.06575) }, { new Pos(0.65579, 0.06822) }, { new Pos(0.63925, 0.07058) }, { new Pos(0.62277, 0.07284) }, { new Pos(0.60630, 0.07497) }, { new Pos(0.58980, 0.07700) }, { new Pos(0.57336, 0.07890) }, { new Pos(0.55689, 0.08068) }, { new Pos(0.54041, 0.08233) }, { new Pos(0.52391, 0.08386) }, { new Pos(0.50740, 0.08528) }, { new Pos(0.49093, 0.08658) }, { new Pos(0.47448, 0.08773) }, { new Pos(0.45804, 0.08876) }, { new Pos(0.44164, 0.08964) }, { new Pos(0.42531, 0.09037) }, { new Pos(0.40900, 0.09093) }, { new Pos(0.39270, 0.09133) }, { new Pos(0.37637, 0.09156) }, { new Pos(0.36001, 0.09163) }, { new Pos(0.34360, 0.09155) }, { new Pos(0.32714, 0.09133) }, { new Pos(0.31066, 0.09097) }, { new Pos(0.29417, 0.09050) }, { new Pos(0.27783, 0.08991) }, { new Pos(0.26173, 0.08917) }, { new Pos(0.24588, 0.08824) }, { new Pos(0.23032, 0.08707) }, { new Pos(0.21499, 0.08564) }, { new Pos(0.19990, 0.08391) }, { new Pos(0.18499, 0.08184) }, { new Pos(0.17016, 0.07943) }, { new Pos(0.15538, 0.07667) }, { new Pos(0.14076, 0.07361) }, { new Pos(0.12636, 0.07023) }, { new Pos(0.11227, 0.06655) }, { new Pos(0.09860, 0.06257) }, { new Pos(0.08537, 0.05829) }, { new Pos(0.07278, 0.05382) }, { new Pos(0.06126, 0.04929) }, { new Pos(0.05105, 0.04478) }, { new Pos(0.04218, 0.04032) }, { new Pos(0.03460, 0.03598) }, { new Pos(0.02824, 0.03180) }, { new Pos(0.02293, 0.02781) }, { new Pos(0.01848, 0.02403) }, { new Pos(0.01473, 0.02054) }, { new Pos(0.01155, 0.01741) }, { new Pos(0.00885, 0.01465) }, { new Pos(0.00660, 0.01217) }, { new Pos(0.00472, 0.00989) }, { new Pos(0.00318, 0.00774) }, { new Pos(0.00194, 0.00569) }, { new Pos(0.00100, 0.00372) }, { new Pos(0.00035, 0.00181) }, { new Pos(-0.00000, -0.00003) }, { new Pos(-0.00004, -0.00185) }, { new Pos(0.00022, -0.00368) }, { new Pos(0.00082, -0.00552) }, { new Pos(0.00173, -0.00735) }, { new Pos(0.00293, -0.00918) }, { new Pos(0.00443, -0.01100) }, { new Pos(0.00623, -0.01280) }, { new Pos(0.00837, -0.01457) }, { new Pos(0.01086, -0.01630) }, { new Pos(0.01379, -0.01790) }, { new Pos(0.01726, -0.01936) }, { new Pos(0.02137, -0.02066) }, { new Pos(0.02632, -0.02186) }, { new Pos(0.03239, -0.02309) }, { new Pos(0.03973, -0.02447) }, { new Pos(0.04842, -0.02584) }, { new Pos(0.05871, -0.02701) }, { new Pos(0.07083, -0.02794) }, { new Pos(0.08476, -0.02870) }, { new Pos(0.09979, -0.02937) }, { new Pos(0.11534, -0.02985) }, { new Pos(0.13129, -0.03015) }, { new Pos(0.14744, -0.03027) }, { new Pos(0.16378, -0.03023) }, { new Pos(0.18028, -0.03005) }, { new Pos(0.19687, -0.02974) }, { new Pos(0.21359, -0.02932) }, { new Pos(0.23047, -0.02883) }, { new Pos(0.24741, -0.02827) }, { new Pos(0.26443, -0.02766) }, { new Pos(0.28157, -0.02701) }, { new Pos(0.29876, -0.02636) }, { new Pos(0.31597, -0.02571) }, { new Pos(0.33319, -0.02507) }, { new Pos(0.35042, -0.02444) }, { new Pos(0.36766, -0.02381) }, { new Pos(0.38492, -0.02318) }, { new Pos(0.40218, -0.02255) }, { new Pos(0.41944, -0.02192) }, { new Pos(0.43669, -0.02129) }, { new Pos(0.45393, -0.02066) }, { new Pos(0.47116, -0.02003) }, { new Pos(0.48838, -0.01939) }, { new Pos(0.50557, -0.01876) }, { new Pos(0.52274, -0.01813) }, { new Pos(0.53990, -0.01749) }, { new Pos(0.55706, -0.01687) }, { new Pos(0.57423, -0.01623) }, { new Pos(0.59142, -0.01560) }, { new Pos(0.60864, -0.01498) }, { new Pos(0.62583, -0.01434) }, { new Pos(0.64299, -0.01371) }, { new Pos(0.66015, -0.01308) }, { new Pos(0.67729, -0.01245) }, { new Pos(0.69444, -0.01182) }, { new Pos(0.71158, -0.01119) }, { new Pos(0.72873, -0.01056) }, { new Pos(0.74587, -0.00993) }, { new Pos(0.76302, -0.00930) }, { new Pos(0.78018, -0.00867) }, { new Pos(0.79735, -0.00804) }, { new Pos(0.81454, -0.00741) }, { new Pos(0.83176, -0.00678) }, { new Pos(0.84894, -0.00615) }, { new Pos(0.86610, -0.00552) }, { new Pos(0.88324, -0.00489) }, { new Pos(0.90035, -0.00426) }, { new Pos(0.91741, -0.00364) }, { new Pos(0.93432, -0.00301) }, { new Pos(0.95093, -0.00240) }, { new Pos(0.96680, -0.00182) }, { new Pos(0.98113, -0.00129) }, { new Pos(0.99325, -0.00085) }, { new Pos(1.00000, -0.00060) } }; Airfoil.Coordinate.N = 604; }