地月模型

#include
#include
#include

#define OLED_RESET 4
Adafruit_SSD1306 oled(OLED_RESET);

//resolution 128 * 64

float x0 = 64;
float y0 = 32;//圆心--sun位置

float r1 = 24;//sun-earth距离
float r2 = 6;//earth-moon距离

float deg1 = 0;//地球角度
float deg2 = 0;//月球角度

void setup() {
    oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);
    oled.clearDisplay();
    oled.display();

}

void loop() {

    float earth_x = cos(deg1) * r1 + x0;
    float earth_y = sin(deg1) * r1 + y0;
    float moon_x = cos(deg2) * r2 + earth_x;
    float moon_y = sin(deg2) * r2 + earth_y;
    deg1 = deg1 + 0.01;
    deg2 = deg2 + 0.12;

    //draw
    oled.clearDisplay();
    oled.fillCircle(x0, y0, 6, WHITE);//sun
    oled.fillCircle(earth_x, earth_y, 3, WHITE);//earth
    oled.fillCircle(moon_x, moon_y, 1, WHITE);//moon
    oled.display();
}

转载于:https://my.oschina.net/u/4170695/blog/3082352


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部