作业写了吗 |
您所在的位置:网站首页 › 轨迹英文怎么写 › 作业写了吗 |
guodu_m = glm::mat4(1.Of); guodu_m_2= glm::mat4(1.Of); model = glm::mat4(1.Of); float ra=0.0f,rb=0.0f; ra = 1*sin(glm::radians(A)); rb =1*(1-cos(glm::radians(A))); guodu_m = glm::rotate(guodu_m,glm::radians(B), glm::vec3(1.0, 0.0, 0.0));guodu_m = glm::translate(guodu_m,glm::vec3(0.0, -rb, ra)); guodu_m = glm::translate(guodu_m,glm::vec3(0.0,-1.0, 0.0)); guodu_m = glm::translate(guodu_m,glm::vec3(0.0, -0.5986, 0.21f)); guodu_m_2 = glm::translate(guodu_m_2,glm::vec3(0.0, 1.0, 0.0));guodu_m_2 = glm::translate(guodu_m_2, glm::vec3(0.0, 0.5986,-0.21f));guodu_m =glm::translate(guodu_m, glm::vec3(0.0, rb, -ra)); fourShader.setMat4("guodu_m",guodu_m); fourShader.setMat4("model",model); fourModel.Draw(fourShader);
#include #include #include int i,j=0,sudu; int x, y,p,q=1,f=0; void beijingtupian(); void SunandTrack()//太阳与八大行星运行轨迹 { beijingtupian(); //绘制太阳 setfillcolor(RGB(255, 0, 0));//太阳的颜色是红色 solidcircle(0, 0, 75);//太阳坐标 //绘制行星运转轨迹 setlinecolor(BLACK); setlinestyle(PS_DASH, 1); for (i = 0; i < 8; i++) { ellipse(-150 - j, 100 + j, 150 + j, -100 - j);//八大行星运行轨迹 j = j + 50; } j = 0; } void panduan(long long p, long long &f, long long &q, long long y, long long daxiao, COLORREF RGB,int b ,int sudu) { if (p < 0) { p = -p; f = 1; } x= sqrt(p); if (f == 1) { x = -x; f = 0; } if (q == -1) { x = -x; } setfillcolor(RGB); solidcircle(x, y, daxiao); Sleep(sudu); if (y == b) { q = -1; } if (y == -b) { q = 1; } } //实现行星绕轨迹运动 void Planetarymotion()//绘制水星 { long long y1 = -100, x1, p1, f1 = 0, q1 = 5, b1 = 100, a1 = 150;//水星 long long y2 = -150, x2, p2, f2 = 0, q2 = 4, b2 = 150, a2 = 200;//金星 long long y3 = -200, x3, p3, f3 = 0, q3 = 2, b3 = 200, a3 = 250;//地球 long long y4 = -250, x4, p4, f4 = 0, q4 = 2, b4 = 250, a4 = 300;//火星 long long y5 = -300, x5, p5, f5 = 0, q5 = 2, b5 = 300, a5 = 350;//木星 long long y6 = -350, x6, p6, f6 = 0, q6 = 2, b6 = 350, a6 = 400;//土星 long long y7 = -400, x7, p7, f7 = 0, q7 = 1, b7 = 400, a7 = 450;//天王星 long long y8 = -450, x8, p8, f8 = 0, q8 = 3, b8 = 450, a8 = 500;//海王星 BeginBatchDraw(); while (1)//行星运动嘛,肯定是要死循环的 { cleardevice(); //如何动起来,改变以下y值即可 y1 = y1 + q1; y2 = y2 + q2; y3 = y3 + q3; y4 = y4 + q4; y5 = y5 + q5; y6 = y6 + q6; y7 = y7 + q7; y8 = y8 + q8; p1 = a1 * a1 - (a1 * a1 * y1 * y1) / (b1 * b1); p2 = a2 * a2 - (a2 * a2 * y2 * y2) / (b2 * b2); p3 = a3 * a3 - (a3 * a3 * y3 * y3) / (b3 * b3); p4 = a4 * a4 - (a4 * a4 * y4 * y4) / (b4 * b4); p5 = a5 * a5 - (a5 * a5 * y5 * y5) / (b5 * b5); p6 = a6 * a6 - (a6 * a6 * y6 * y6) / (b6 * b6); p7 = a7 * a7 - (a7 * a7 * y7 * y7) / (b7 * b7); p8 = a8 * a8 - (a8 * a8 * y8 * y8) / (b8 * b8); SunandTrack(); panduan(p1, f1, q1, y1, 7, BLACK, b1,1); panduan(p2, f2, q2, y2,12, RGB(166, 118, 72),b2,1); panduan(p3, f3, q3, y3, 14, RGB(34, 90, 242), b3,1); panduan(p4, f4, q4, y4, 7, RGB(225, 168, 45), b4,1); panduan(p5, f5, q5, y5, 27, RGB(189, 172, 161), b5,1); panduan(p6, f6, q6, y6, 25, RGB(240, 235, 229), b6,1); panduan(p7, f7, q7, y7, 17, RGB(117, 232, 255), b7,1); panduan(p8, f8, q8, y8, 17, RGB(54, 41, 255), b8,50); FlushBatchDraw(); } EndBatchDraw(); } //绘制背景图片 void beijingtupian() { IMAGE beijing; //loadimage(&beijing, "2.jpg",1100,900);有图片的可以用这行代码 setbkcolor(RGB(255,244,187)); setaspectratio(1, 1);//翻转Y坐标轴 putimage(-550, -450, &beijing); } int main() { system("pause"); initgraph(1100, 900);//画布大小 //绘制背景图 setorigin(550, 450);//移动逻辑坐标点 setaspectratio(1, -1);//翻转Y坐标轴 Planetarymotion();//绘制水星 getchar(); closegraph(); return 0; }
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |