xxxxxxxxxx
48
var points;
function setup() {
createCanvas(400, 400);
points = [];
var sides = 4;
var stepSize = TWO_PI / sides;
var angle = radians(45);
var radius = 100;
for(var i = 0; i < sides; i++, angle += stepSize) {
points.push({
x: radius * sin(angle),
y: radius * cos(angle)
});
}
applyTransform('HORIZONTAL', 25.820992);
}
function applyTransform(type, angle) {
if(type === 'HORIZONTAL') {
for(var i = 0; i < points.length; i++) {
var p = points[i];
p.x = (p.x * 1) + (p.y * tan(angle));
p.y = (p.x * 0) + (p.y * 1);
}
}
else {
for(var i = 0; i < points.length; i++) {
var p = points[i];
p.x = (p.x * 1) + (p.y * 0);
p.y = (p.x * tan(angle)) + (p.y * 1);
}
}
}
function draw() {
background(220);
translate(width / 2, height / 2);
for(var i = 0; i < points.length; i++) {
var p1 = points[i];
var p2 = points[(i + 1) % points.length];
line(p1.x, p1.y, p2.x, p2.y);
}
}