这篇教程C++ DegToRad函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中DegToRad函数的典型用法代码示例。如果您正苦于以下问题:C++ DegToRad函数的具体用法?C++ DegToRad怎么用?C++ DegToRad使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了DegToRad函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: GetValueLivevoid RotationMC::GetValueLive(TimeValue t,void *val, GetSetMethod method) { Point3 pt = base; for (int i=0; i<3; i++) if (bind[i]) pt[i] += DegToRad(bind[i]->Eval(t)); Quat q; EulerToQuat(pt,q); if (method==CTRL_ABSOLUTE) { *((Quat*)val) = q; } else { Matrix3 *tm = (Matrix3*)val; PreRotateMatrix(*tm,q); } }
开发者ID:2asoft,项目名称:xray,代码行数:13,
示例2: GetPerspectiveMatrixvoid GetPerspectiveMatrix(M4* result, float fov, float aspect, float znear, float zfar){ float rad = DegToRad(fov); float frustum_scale = 1.0f / (float)tan(rad / 2.0f); memset(result, 0, M4SIZE); result->data[0] = frustum_scale / aspect; result->data[5] = frustum_scale; result->data[10] = (zfar + znear) / (znear - zfar); result->data[14] = (2.0f * zfar * znear) / (znear - zfar); result->data[11] = -1.0f;}
开发者ID:eygbey,项目名称:Cynfiny,代码行数:13,
示例3: RotateXstatic glm::mat3 RotateX(float angDeg){ float angRad = DegToRad(angDeg); float cos = cosf(angRad); float sin = sinf(angRad); glm::mat3 theMat(1.0f); theMat[1].y = cos; theMat[2].y = -sin; theMat[1].z = sin; theMat[2].z = cos; return theMat;}
开发者ID:captainadamo,项目名称:glfw_gltut,代码行数:13,
示例4: sinfMatrix Matrix::CreateRotationByAxisAngle(Vector3 axis, float angle){ float x = axis.x; float y = axis.y; float z = axis.z; float sin = sinf(DegToRad(-angle)); float cos = cosf(DegToRad(-angle)); float x2 = x*x; float y2 = y*y; float z2 = z*z; float xy = x*y; float xz = x*z; float yz = y*z; return Matrix(x2 + (cos * (1.0f - x2)), (xy - (cos * xy)) + (sin * z), (xz - (cos * xz)) - (sin * y), 0.0f, (xy - (cos * xy)) - (sin * z), y2 + (cos * (1.0f - y2)), (yz - (cos * yz)) + sin * x, 0.0f, (xz - (cos * xz)) + sin * y, (yz - (cos * yz)) - sin * x, z2 + (cos * (1.0f - z2)), 0.0f, 0.0f, 0.0f, 0.0f, 1.0f); }
开发者ID:ariabonczek,项目名称:DSATriangleThing,代码行数:22,
示例5: Lockvoid FreqCircle::UpdateBars(){ //Exclusive Lock this object while bars are updated. //Fill our buffer with frequency information Lock(); FrequencyAnalysis::Instance().Fill(buffer, specLeft, specRight); //Apply the correct transformations to the children (the bars) for (unsigned int i = 0; i< children.size(); ++i){ float angle = ((float) i / accuracy) * 360; float modification = (float) i+1.0f; float value = clamp(buffer[i] * modification , 0.0f, 1.0f); //This method is threadsafe, no children locks necessary children[i]->SetModelMatrix( Matrix4::Translation(Vector3( value * cos(DegToRad( angle )), value * sin(DegToRad( angle )), -0.05f))); } Unlock();}
开发者ID:Matth3wThomson,项目名称:S3-Project,代码行数:22,
示例6: directionVectorvoid RenderHelper::DrawCircle3D(const Vector3 & center, const Vector3 &emissionVector, float32 radius, bool useFilling){ Polygon3 pts; float32 angle = SEGMENT_LENGTH / radius; int ptsCount = (int)(PI_2 / (DegToRad(angle))) + 1; for (int k = 0; k < ptsCount; ++k) { float32 angleA = ((float)k / (ptsCount - 1)) * PI_2; float sinAngle = 0.0f; float cosAngle = 0.0f; SinCosFast(angleA, sinAngle, cosAngle); Vector3 directionVector(radius * cosAngle, radius * sinAngle, 0.0f); // Rotate the direction vector according to the current emission vector value. Vector3 zNormalVector(0.0f, 0.0f, 1.0f); Vector3 curEmissionVector = emissionVector; curEmissionVector.Normalize(); // This code rotates the (XY) plane with the particles to the direction vector. // Taking into account that a normal vector to the (XY) plane is (0,0,1) this // code is very simplified version of the generic "plane rotation" code. float32 length = curEmissionVector.Length(); if (FLOAT_EQUAL(length, 0.0f) == false) { float32 cosAngleRot = curEmissionVector.z / length; float32 angleRot = acos(cosAngleRot); Vector3 axisRot(curEmissionVector.y, -curEmissionVector.x, 0); Matrix3 planeRotMatrix; planeRotMatrix.CreateRotation(axisRot, angleRot); Vector3 rotatedVector = directionVector * planeRotMatrix; directionVector = rotatedVector; } Vector3 pos = center - directionVector; pts.AddPoint(pos); } if (useFilling) { FillPolygon(pts); } else { DrawPolygon(pts, false); }}
开发者ID:droidenko,项目名称:dava.framework,代码行数:51,
示例7: AddForceByNameHRESULT CPartEmitter::AddForce(char *Name, CPartForce::TForceType Type, int PosX, int PosY, float Angle, float Strength) { CPartForce *Force = AddForceByName(Name); if (!Force) return E_FAIL; Force->m_Type = Type; Force->m_Pos = Vector2(PosX, PosY); Force->m_Direction = Vector2(0, Strength); Matrix4 MatRot; MatRot.RotationZ(DegToRad(CBUtils::NormalizeAngle(Angle - 180))); MatRot.TransformVector2(Force->m_Direction); return S_OK;}
开发者ID:somaen,项目名称:Wintermute-git,代码行数:14,
示例8: E_IMPL_NEW//---------------------------------------------------------------------------GrProjection::GrProjection(): E_IMPL_NEW( GrProjection ), m_fFovY( DegToRad(60.0F) ), m_fAspect( 1.0F ), m_fZNear( 1.0F ), m_fZFar( 0.0F ), m_fFarCull( 10000.0F ), m_fLeft( -1.0F ), m_fRight( 1.0F ), m_fBottom( -1.0F ), m_fTop( 1.0F ), m_bDirty( true ){}
开发者ID:jjiezheng,项目名称:arachnid,代码行数:15,
示例9: sinvoid CStage::Draw(){ /*for(int x=0;x<width;x++){ for(int y=0;y<height;y++){ } }*/ if (quakeFlag && pauseFlag == false) { gStage->Draw(cos(DegToRad((double)GetRand(360)))*20, sin(DegToRad((double)GetRand(360))) * 20,num); } else { gStage->Draw(num); } quakeFlag = false; DrawJiki(); enemy.Draw(); barrageManager.Draw(); enemy.enemyBarrage.Draw(); jikiBarrage->Draw(); gScore->Draw(); DrawScore(); DrawIcon();}
开发者ID:photon70,项目名称:BTB,代码行数:23,
示例10: DegToRadbool EC_MeshmoonWater::AddWind(float speed, float direction){#ifndef MESHMOON_TRITON return false;#else if(framework->IsHeadless() || !state_.environment) return false; Triton::WindFetch fetch; fetch.SetWind(speed, DegToRad(direction)); state_.environment->AddWindFetch(fetch); return true;#endif}
开发者ID:Adminotech,项目名称:meshmoon-plugins,代码行数:14,
示例11: PROFILEvoid EC_MeshmoonWater::UpdateWeatherConditions(){#ifdef MESHMOON_TRITON if (!state_.environment) return; PROFILE(EC_MeshmoonWater_UpdateWeatherConditions); state_.environment->ClearWindFetches(); state_.environment->SimulateSeaState(beaufortScale.Get(), DegToRad(fmod(state_.windDirDegrees, 360.0f))); if (state_.windSpeedPerSec != 0.0f) AddWind(state_.windSpeedPerSec, state_.windDirDegrees);#endif}
开发者ID:Adminotech,项目名称:meshmoon-plugins,代码行数:14,
示例12: eye_worldROSE_NAMESPACE_START PinholeCamera::PinholeCamera(const Vector3f &eye, const Vector3f &at, const Vector3f &up, float fov, uint32_t w, uint32_t h) : eye_world(eye), width(w), height(h) { // Compute cameras view volume top = std::tan(DegToRad(fov / 2.f)); bottom = -top; right = (width / (float) height) * top; left = -right; // Compute look at matrix look_at = LookAt(eye, at, up); }
开发者ID:SRaimondi,项目名称:Rose,代码行数:14,
示例13: D3DXMatrixRotationYawPitchRollHRESULT CBObject::GetMatrix(D3DXMATRIX* ModelMatrix, D3DXVECTOR3* PosVect){ if(PosVect==NULL) PosVect = &m_PosVector; D3DXMATRIX matRot, matScale, matTrans; D3DXMatrixRotationYawPitchRoll(&matRot, DegToRad(m_Angle), 0, 0); D3DXMatrixScaling(&matScale, m_Scale3D, m_Scale3D, m_Scale3D); D3DXMatrixTranslation(&matTrans, PosVect->x, PosVect->y, PosVect->z); D3DXMatrixMultiply(ModelMatrix, &matRot, &matScale); D3DXMatrixMultiply(ModelMatrix, ModelMatrix, &matTrans); return S_OK;}
开发者ID:segafan,项目名称:wme1_jankavan_tlc_edition-repo,代码行数:14,
示例14: GetRandomNumbervoid Item::SpawnSubItems(){ int numItems = GetRandomNumber(2, 4); if(m_itemType == eItem_Chest) { numItems += 3; // Spawn more coins } for(int i = 0; i < numItems; i++) { float scale = 0.15f; float lifeTime = 1.0f; float r = 0.13f; float g = 0.65f; float b = 1.0f; float a = 1.0f; float radius = 0.5f; //float angle = DegToRad(((float)i/(float)numItems) * 360.0f); float angle = DegToRad(GetRandomNumber(0, 360, 1)); vec3 ItemPosition = GetCenter() + vec3(cos(angle) * radius, 0.0f, sin(angle) * radius); vec3 gravity = vec3(0.0f, -1.0f, 0.0f); gravity = normalize(gravity); Item* pItem = NULL; ItemSubSpawnData *pItemSubSpawnData = m_pItemManager->GetItemSubSpawnData(m_itemType); if(pItemSubSpawnData != NULL) { pItem = m_pItemManager->CreateItem(GetCenter(), vec3(0.0f, 0.0f, 0.0f), vec3(0.0f, 0.0f, 0.0f), pItemSubSpawnData->m_spawnedItemFilename.c_str(), pItemSubSpawnData->m_spawnedItem, pItemSubSpawnData->m_spawnedItemTitle.c_str(), pItemSubSpawnData->m_interactable, pItemSubSpawnData->m_collectible, pItemSubSpawnData->m_scale); if(pItem != NULL) { pItem->SetGravityDirection(gravity); vec3 vel = ItemPosition - GetCenter(); pItem->SetVelocity(normalize(vel)*(float)GetRandomNumber(2, 4, 2) + vec3(0.0f, 9.5f+GetRandomNumber(-2, 4, 2), 0.0f)); pItem->SetRotation(vec3(0.0f, GetRandomNumber(0, 360, 2), 0.0f)); pItem->SetAngularVelocity(vec3(0.0f, 90.0f, 0.0f)); if(pItemSubSpawnData->m_droppedItemItem != eItem_Coin) { pItem->SetDroppedItem(pItemSubSpawnData->m_droppedItemFilename.c_str(), pItemSubSpawnData->m_droppedItemTextureFilename.c_str(), pItemSubSpawnData->m_droppedItemInventoryType, pItemSubSpawnData->m_droppedItemItem, pItemSubSpawnData->m_droppedItemStatus, pItemSubSpawnData->m_droppedItemEquipSlot, pItemSubSpawnData->m_droppedItemQuality, pItemSubSpawnData->m_droppedItemLeft, pItemSubSpawnData->m_droppedItemRight, pItemSubSpawnData->m_droppedItemTitle.c_str(), pItemSubSpawnData->m_droppedItemDescription.c_str(), pItemSubSpawnData->m_droppedItemPlacementR, pItemSubSpawnData->m_droppedItemPlacementG, pItemSubSpawnData->m_droppedItemPlacementB, pItemSubSpawnData->m_droppedItemQuantity); } pItem->SetAutoDisappear(20.0f + (GetRandomNumber(-20, 20, 1) * 0.2f)); } } }}
开发者ID:AlwaysGeeky,项目名称:Vox,代码行数:49,
示例15: GetCurrentPoint// draws a an arc to two tangents connecting (current) to (x1,y1) and (x1,y1) to (x2,y2), also a straight line from (current) to (x1,y1)void wxGraphicsPathData::AddArcToPoint( wxDouble x1, wxDouble y1 , wxDouble x2, wxDouble y2, wxDouble r ){ wxPoint2DDouble current; GetCurrentPoint(¤t.m_x,¤t.m_y); wxPoint2DDouble p1(x1,y1); wxPoint2DDouble p2(x2,y2); wxPoint2DDouble v1 = current - p1; v1.Normalize(); wxPoint2DDouble v2 = p2 - p1; v2.Normalize(); wxDouble alpha = v1.GetVectorAngle() - v2.GetVectorAngle(); if ( alpha < 0 ) alpha = 360 + alpha; // TODO obtuse angles alpha = DegToRad(alpha); wxDouble dist = r / sin(alpha/2) * cos(alpha/2); // calculate tangential points wxPoint2DDouble t1 = dist*v1 + p1; wxPoint2DDouble t2 = dist*v2 + p1; wxPoint2DDouble nv1 = v1; nv1.SetVectorAngle(v1.GetVectorAngle()-90); wxPoint2DDouble c = t1 + r*nv1; wxDouble a1 = v1.GetVectorAngle()+90; wxDouble a2 = v2.GetVectorAngle()-90; AddLineToPoint(t1.m_x,t1.m_y); AddArc(c.m_x,c.m_y,r,DegToRad(a1),DegToRad(a2),true); AddLineToPoint(p2.m_x,p2.m_y);}
开发者ID:252525fb,项目名称:rpcs3,代码行数:37,
示例16: EulerAnglesToQuaternionQuaternion Quaternion::EulerAnglesToQuaternion(float pitch, float yaw, float roll) { float y2 = (float)DegToRad(yaw / 2.0f); float p2 = (float)DegToRad(pitch / 2.0f); float r2 = (float)DegToRad(roll / 2.0f); float cosy = (float)cos(y2); float cosp = (float)cos(p2); float cosr = (float)cos(r2); float siny = (float)sin(y2); float sinp = (float)sin(p2); float sinr = (float)sin(r2); Quaternion q; q.x = cosr * sinp * cosy + sinr * cosp * siny; q.y = cosr * cosp * siny - sinr * sinp * cosy; q.z = sinr * cosp * cosy - cosr * sinp * siny; q.w = cosr * cosp * cosy + sinr * sinp * siny; return q;};
开发者ID:callanwhite,项目名称:GraphicsForGames,代码行数:24,
示例17: GetCOREInterfacevoidConeAngleManipulator::SetAngle(float angle){ // Check for self-manipulation if (mhTarget) { TimeValue t = GetCOREInterface()->GetTime(); ConeAngleManipulator* pManip = (ConeAngleManipulator*) mhTarget; angle = DegToRad(angle); pManip->mpPblock->SetValue(kConeAngleAngle, t, angle); pManip->mpPblock->GetDesc()->InvalidateUI(kConeAngleAngle); }}
开发者ID:2asoft,项目名称:xray,代码行数:15,
示例18: switchvoid PDF_D_HFAGfit_4D::setObservables(config c){ switch(c) { case truth:{ setObservablesTruth(); break; } case toy:{ setObservablesToy(); break; } case hfagFP2014:{ // http://www.slac.stanford.edu/xorg/hfag/charm/FPCP14/results_mix+cpv.html obsValSource = "HFAG FP2014, CPV allowed"; setObservable("dD_kpi_obs", DegToRad(7.3+180.0)); setObservable("rD_kpi_obs", 0.349e-2); setObservable("AcpDpipi_obs", 0.14e-2); setObservable("AcpDKK_obs", -0.11e-2); break; } case hfagCHARM2015:{ // http://www.slac.stanford.edu/xorg/hfag/charm/CHARM15/results_mix_cpv.html obsValSource = "HFAG CHARM2015, CPV allowed"; setObservable("dD_kpi_obs", DegToRad(11.8+180.0)); setObservable("rD_kpi_obs", 0.349e-2); setObservable("AcpDpipi_obs", 0.10e-2); setObservable("AcpDKK_obs", -0.15e-2); break; } default:{ cout << "PDF_D_HFAGfit_4D::setObservables() : ERROR : config "+ConfigToTString(c)+" not found." << endl; exit(1); } }}
开发者ID:PashaPodolsky,项目名称:pygammacombo,代码行数:36,
示例19: AddForceByNameHRESULT CPartEmitter::AddForce(char* Name, CPartForce::TForceType Type, int PosX, int PosY, float Angle, float Strength){ CPartForce* Force = AddForceByName(Name); if(!Force) return E_FAIL; Force->m_Type = Type; Force->m_Pos = D3DXVECTOR2(PosX, PosY); Force->m_Direction = D3DXVECTOR2(0, Strength); D3DXMATRIX MatRot; D3DXMatrixRotationZ(&MatRot, DegToRad(CBUtils::NormalizeAngle(Angle - 180))); D3DXVec2TransformCoord(&Force->m_Direction, &Force->m_Direction, &MatRot); return S_OK;}
开发者ID:segafan,项目名称:wme1_jankavan_tlc_edition-repo,代码行数:15,
示例20: cosMatrix4 Matrix4::Rotation(float degrees, const Vector3 &inaxis) { Matrix4 m; Vector3 axis = inaxis; axis.Normalise(); float c = cos((float)DegToRad(degrees)); float s = sin((float)DegToRad(degrees)); m.values[0] = (axis.x * axis.x) * (1.0f - c) + c; m.values[1] = (axis.y * axis.x) * (1.0f - c) + (axis.z * s); m.values[2] = (axis.z * axis.x) * (1.0f - c) - (axis.y * s); m.values[4] = (axis.x * axis.y) * (1.0f - c) - (axis.z * s); m.values[5] = (axis.y * axis.y) * (1.0f - c) + c; m.values[6] = (axis.z * axis.y) * (1.0f - c) + (axis.x * s); m.values[8] = (axis.x * axis.z) * (1.0f - c) + (axis.y * s); m.values[9] = (axis.y * axis.z) * (1.0f - c) - (axis.x * s); m.values[10] = (axis.z * axis.z) * (1.0f - c) + c; return m;}
开发者ID:RequiemSouls,项目名称:nclgame,代码行数:24,
示例21: DegToRadVec3f BloodFx::NewPos() const{ // Origin should be at mouth, which depends on dino size float d = 30.0f; // TODO TEMP TEST float y = 35.0f; float rad = DegToRad(m_dino->GetDir()); float x = sin(rad); // flipping sin/cos to match atan2 call in AIChasePet float z = cos(rad);//std::cout << "Dino heading: " << m_dino->GetDir() << " x: " << x << " z: " << z << "/n"; x *= d; z *= d; return m_dino->GetPos() + Vec3f(x, y, z);}
开发者ID:jason-amju,项目名称:amju-ww,代码行数:15,
示例22: switchvoid PDF_D_Cleo::setObservables(config c){ switch(c) { case truth: { setObservablesTruth(); break; } case toy: { setObservablesToy(); break; } case cleo: obsValSource = "Cleo 2009 ARXIV:0903.4853"; setObservable("kD_k3pi_obs",0.33); setObservable("dD_k3pi_obs",DegToRad(114.0)); setObservable("kD_kpipi0_obs",0.84); setObservable("dD_kpipi0_obs",DegToRad(227.)); setObservable("xD_obs", 0.96 /100.); setObservable("yD_obs", 0.81 /100.); setObservable("dD_kpi_obs", DegToRad(-151.5+360.)); setObservable("B1_obs", 3.89e-2); setObservable("B2_obs", 1.47e-4); setObservable("B3_obs", 7.96e-2); setObservable("B4_obs", 2.65e-4); setObservable("B5_obs", 13.8e-2); setObservable("B6_obs", 3.05e-4); break; default: cout << "PDF_D_Cleo::setObservables() : ERROR : config "+ConfigToTString(c)+" not found." << endl; exit(1); }}
开发者ID:PashaPodolsky,项目名称:pygammacombo,代码行数:36,
示例23: switchvoid PDF_Dmixing_CLEO2D::setObservables(config c){ switch(c) { case truth: { setObservablesTruth(); break; } case toy: { setObservablesToy(); break; } case cleo2009: { obsValSource = "arXiv:0903.4853 - CLEO 2009"; setObservable("dD_k3pi_obs",DegToRad(114.0)); setObservable("kD_k3pi_obs",0.33); break; } case cleo2014: { obsValSource = "arXiv:1401.1904 - CLEO 2013"; setObservable("dD_k3pi_obs",DegToRad(255.0)); // CLEO 2014 setObservable("kD_k3pi_obs",0.32); // CLEO 2014 break; } case cleo2015: { obsValSource = "Guy"; setObservable("dD_k3pi_obs",DegToRad(170.0)); // CLEO 2015 setObservable("kD_k3pi_obs",0.32); // CLEO 2015 break; } default: { cout << "PDF_Dmixing_CLEO2D::setObservables() : ERROR : config "+ConfigToTString(c)+" not found." << endl; exit(1); } }}
开发者ID:PashaPodolsky,项目名称:pygammacombo,代码行数:36,
示例24: DegToRadvoid WASDCameraController::UpdateCamAlt3But(Camera * camera){ if (!camera)return; viewZAngle += (stopPt.x - startPt.x); viewYAngle += (stopPt.y - startPt.y); if(viewYAngle < -MAX_ANGLE) viewYAngle = -MAX_ANGLE; if(viewYAngle > MAX_ANGLE) viewYAngle = MAX_ANGLE; Matrix4 mt, mt2; mt.CreateRotation(Vector3(0,0,1), DegToRad(viewZAngle)); mt2.CreateRotation(Vector3(1,0,0), DegToRad(viewYAngle)); mt2 *= mt; Vector3 position = center - Vector3(0, radius, 0) * mt2; camera->SetTarget(center); camera->SetPosition(position);}
开发者ID:dima-belsky,项目名称:dava.framework,代码行数:24,
示例25: while//================================================================================// SIMPLE 2D rotation matrix for rose compass// To speed up CPU we use a table of sin and cos for 10° increments.// Todo: Try to compute in integer by multipling all trigonometrics values by 16384// to get 4 digits of precision.// Then shift out results for x and y values.//================================================================================CRoseMatrix::CRoseMatrix(){ int inx = 0; float deg = 0; float rad = 0; while (inx < 9) { rad = DegToRad(deg); sinB[inx] = sin(rad); cosB[inx] = cos(rad); deg += 10; inx ++; } sinN = 1; cosN = 0; sin5 = sin(5 * DEG2RAD); cos5 = cos(5 * DEG2RAD);}
开发者ID:FlySimvol,项目名称:FlyLegacy,代码行数:23,
示例26: MakeRectvoid CTestGame::Render(){ //draw background SDL_Rect* rect = MakeRect(0,0,GetScreenWidth(),GetScreenHeight()); int col = SDL_MapRGB(Display_Surface->GetSDLSurface()->format,255,255,255); Display_Surface->FillRect(rect,col); delete rect; //draw rotated image mysurface->Draw(Display_Surface,x,y,DegToRad(angle)); //mysurface->Draw(Display_Surface,100,100); //draw fps and other stats CGame::GameStats->Draw(Display_Surface); CGame::GameOutput->Draw(Display_Surface);}
开发者ID:conwill708,项目名称:Code-Blocks-Projects,代码行数:16,
示例27: Point3void ProtHelpObject::BuildMesh(){ if(meshBuilt) return; int nverts = 7; int nfaces = 8; mesh.setNumVerts(nverts); mesh.setNumFaces(nfaces); float d = 5.0f; float ds = 0.866f * d; float h = 2.0f * 0.866f * 5.0f; mesh.setVert(0, Point3(0.0f, 0.0f, 0.0f )); mesh.setVert(1, Point3( -d, -ds, -h )); mesh.setVert(2, Point3( d, -ds, -h )); mesh.setVert(3, Point3(0.0f, ds, -h )); mesh.setVert(4, Point3( -d, -ds, h )); mesh.setVert(5, Point3( d, -ds, h )); mesh.setVert(6, Point3(0.0f, ds, h )); mesh.faces[0].setVerts(0, 1, 2); mesh.faces[0].setEdgeVisFlags(1,1,1); mesh.faces[1].setVerts(0, 2, 3); mesh.faces[1].setEdgeVisFlags(1,1,1); mesh.faces[2].setVerts(0, 3, 1); mesh.faces[2].setEdgeVisFlags(1,1,1); mesh.faces[3].setVerts(3, 2, 1); mesh.faces[3].setEdgeVisFlags(1,1,1); mesh.faces[4].setVerts(0, 5, 4); mesh.faces[4].setEdgeVisFlags(1,1,1); mesh.faces[5].setVerts(0, 6, 5); mesh.faces[5].setEdgeVisFlags(1,1,1); mesh.faces[6].setVerts(0, 4, 6); mesh.faces[6].setEdgeVisFlags(1,1,1); mesh.faces[7].setVerts(4, 5, 6); mesh.faces[7].setEdgeVisFlags(1,1,1);#if 1 // whoops- rotate 90 about x to get it facing the right way Matrix3 mat; mat.IdentityMatrix(); mat.RotateX(DegToRad(90.0)); for (int i=0; i<nverts; i++) mesh.getVert(i) = mat*mesh.getVert(i);#endif// mesh.buildNormals(); meshBuilt = 1;}
开发者ID:innovatelogic,项目名称:ilogic-vm,代码行数:47,
示例28: DegToRad//-----------------------------------------------------------------------------CPUTResult CPUTCamera::LoadCamera(CPUTConfigBlock *pBlock, int *pParentID){ // TODO: Have render node load common properties. CPUTResult result = CPUT_SUCCESS; mName = pBlock->GetValueByName("name")->ValueAsString(); *pParentID = pBlock->GetValueByName("parent")->ValueAsInt(); mFov = pBlock->GetValueByName("FieldOfView")->ValueAsFloat(); mFov = DegToRad(mFov); mNearPlaneDistance = pBlock->GetValueByName("NearPlane")->ValueAsFloat(); mFarPlaneDistance = pBlock->GetValueByName("FarPlane")->ValueAsFloat(); LoadParentMatrixFromParameterBlock( pBlock ); return result;}
开发者ID:GameTechDev,项目名称:FaceMapping2,代码行数:18,
示例29: ComputeMouseVectorvoid ComputeMouseVector(int winx,int winy){ /* Win32 is a bit strange about the x, y position that it returns when the mouse is off the left or top edge of the window (due to them being unsigned). therefore, roll the Win32's 0..2^16 pointer co-ord range to the more amenable (and useful) 0..+/-2^15. */ if(winx & 1 << 15) winx -= (1 << 16); if(winy & 1 << 15) winy -= (1 << 16); MouseX=winx; MouseY=Height-winy; // I prefer opengl's standard of origin in bootom left float spread = tanf(DegToRad(viewangle/2)); float y = spread * ((MouseY)-Height/2) /(Height/2.0f); float x = spread * (MouseX-Width/2) /(Height/2.0f); float3 v(x ,y,-1.0f); // v=UserOrientation *v; v=normalize(v); MouseVector = v;}
开发者ID:Thyfate,项目名称:melax,代码行数:18,
示例30: DrawCirclevoid RenderHelper::DrawCircle(const Vector3 & center, float32 radius){ Polygon3 pts; float32 angle = SEGMENT_LENGTH / radius; int ptsCount = (int)(2 * PI / (DegToRad(angle))) + 1; for (int k = 0; k < ptsCount; ++k) { float32 angle = ((float)k / (ptsCount - 1)) * 2 * PI; float32 sinA = sinf(angle); float32 cosA = cosf(angle); Vector3 pos = center - Vector3(sinA * radius, cosA * radius, 0); pts.AddPoint(pos); } DrawPolygon(pts, false);}
开发者ID:droidenko,项目名称:dava.framework,代码行数:18,
注:本文中的DegToRad函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ Degrees函数代码示例 C++ DegOfRad函数代码示例 |