#include <Adafruit_ILI9341.h>
Adafruit_ILI9341 tft(10, 9);
void setup() {
tft.begin();
}
void loop() {
int x = 60;
int y = 80;
int z = 280;
for(int i=0; i<=180; i++) {
double rad = (i*3.14159)/180;
double dz = x*sin(rad);
double x1 = x*cos(rad);
double dy = (y*dz)/(z-dz);
double y1 = y+dy;
double y2 = y-dy;
// tft.drawLine(120,160-y, 120+x1, 160-y1, 0xffff); // Top
// tft.drawLine(120+x1,160-y1, 120+x1,160+y1, 0xffff); // Right
// tft.drawLine(120+x1,160+y1, 120,160+y, 0xffff); // Bottom
// tft.drawLine(120,160+y, 120,160-y, 0xffff); // Left
tft.drawLine(120-x1,160-y2, 120+x1, 160-y1, 0xffff); // Top
tft.drawLine(120+x1,160-y1, 120+x1,160+y1, 0xffff); // Right
tft.drawLine(120+x1,160+y1, 120-x1,160+y2, 0xffff); // Bottom
tft.drawLine(120-x1,160+y2, 120-x1,160-y2, 0xffff); // Left
delay(30);
// tft.drawLine(120,160-y, 120+x1, 160-y1, 0x0); // Top
// tft.drawLine(120+x1,160-y1, 120+x1,160+y1, 0x0); // Right
// tft.drawLine(120+x1,160+y1, 120,160+y, 0x0); // Bottom
// tft.drawLine(120,160+y, 120,160-y, 0x0); // Left
tft.drawLine(120-x1,160-y2, 120+x1, 160-y1, 0x0); // Top
tft.drawLine(120+x1,160-y1, 120+x1,160+y1, 0x0); // Right
tft.drawLine(120+x1,160+y1, 120-x1,160+y2, 0x0); // Bottom
tft.drawLine(120-x1,160+y2, 120-x1,160-y2, 0x0); // Left
// tft.fillScreen(0x0);
}
}