xxxxxxxxxx
366
let sceneNum = 0;
let url = "https://collectionapi.metmuseum.org/public/collection/v1/";
//deparmentID & displayName(modern,photographs...)
let dep = "departments";
//objectID;isHgihlight(indicates a popular and important artwork in the collection);accessionYear;primaryImageSmall(lower-res image of it);department;objectName;title;culture;period;dynasty;artistDisplayName;artistDisplayBio;artistGender;objectDate;medium;city;state;county;region;
//total 474671
// let obj = "objects/[objectID]";
//search query request: "search?q= keyword to search"
//isHighlight request: "search?isHighlight=true&q=keyword to search"
//Artist or Culture Request: "search?artistOrCulture=ture&q=french"
//Geolocation Request:"search?geoLocation=France&q=flowers"
//isOnView: "search?isOnView=true&q=chinese"
let ser = "search?";
let Gtotal;
let Govtotal;
let Ctotal;
let Covtotal;
let Ftotal;
let Fovtotal;
let Vtotal;
let Vovtotal;
let Jtotal;
let Jovtotal;
let Stotal;
let Sovtotal;
let Etotal;
let Eovtotal;
let Ptotal;
let Povtotal;
let GStotal;
let GSovtotal;
let Mtotal;
let Movtotal;
let a = 4;
let speed = 0;
let objectTitle;
let objectArtist;
let objectDep;
let objectOnView;
let objectImage;
let objectN = 0;
function setup() {
createCanvas(400, 400);
ellipseMode(CENTER);
background(30);
noStroke();
textFont('Georgia');
// textSize(18);
// fill(255);
speed += 0.01;
//GeorgiaO'Keeffe
loadJSON(url + ser + "artist=GeorgiaO'Keeffe & q=GeorgiaO'Keeffe", GData);
loadJSON(url + ser + "artist=GeorgiaO'Keeffe & q=GeorgiaO'Keeffe & isOnView=ture", GovData);
//ClaudeMonet
loadJSON(url + ser + "artist=ClaudeMonet & q=Monet", CData);
loadJSON(url + ser + "artist=ClaudeMonet & q=Monet & isOnView=ture", CovData);
//PabloPicasso
loadJSON(url + ser + "artist=PabloPicasso & q=Picasso", FData);
loadJSON(url + ser + "artist=PabloPicasso & q=Picasso & isOnView=ture", FovData);
//Vincent van Gogh
loadJSON(url + ser + "artist=van Gogh & q=van Gogh", VData);
loadJSON(url + ser + "artist=van Gogh & q=van Gogh & isOnView=ture", VovData);
//PeterPaulRubens
loadJSON(url + ser + "artist=PeterPaulRubens & q=PeterPaulRubens", JData);
loadJSON(url + ser + "artist=PeterPaulRubens & q=PeterPaulRubens & isOnView=ture", JovData);
//FranciscoGoya
loadJSON(url + ser + "artist=FranciscoGoya & q=FranciscoGoya", SData);
loadJSON(url + ser + "artist=FranciscoGoya & q=FranciscoGoya & isOnView=ture", SovData);
//Edgar Degas
loadJSON(url + ser + "artist=EdgarDegas & q=EdgarDegas", EData);
loadJSON(url + ser + "artist=EdgarDegas & q=EdgarDegas & isOnView=ture", EovData);
//PaulGauguin
loadJSON(url + ser + "artist=PaulGauguin & q=PaulGauguin", PData);
loadJSON(url + ser + "artist=PaulGauguin & q=PaulGauguin & isOnView=ture", PovData);
//GeorgesSeurat
loadJSON(url + ser + "artist=GeorgesSeurat & q=GeorgesSeurat", GSData);
loadJSON(url + ser + "artist=GeorgesSeurat & q=GeorgesSeurat & isOnView=ture", GSovData);
//Mary Cassatt
loadJSON(url + ser + "artist=MaryCassatt & q=MaryCassatt", MData);
loadJSON(url + ser + "artist=MaryCassatt & q=MaryCassatt & isOnView=ture", MovData);
let ran = random(400);
}
function draw() {
background(30);
fill(0, 0, 204,160);
ellipse(300,190,Mtotal/a+1);
fill(30);
ellipse(300,190,Movtotal/a+1);
fill(102, 0, 204,160);
ellipse(70,250,Jtotal/a+1);
fill(30);
ellipse(70,250,Jovtotal/a+1);
fill(0, 102, 0,160);
ellipse(50,50,Gtotal/a+1);
fill(30);
ellipse(50,50,Govtotal/a+1);
fill(204, 0, 0,160);
ellipse(250,250,Ctotal/a+1);
fill(30);
ellipse(250,250,Covtotal/a+1);
fill(153, 0, 153,160);
ellipse(250,50,Ftotal/a+1);
fill(30);
ellipse(250,50,Fovtotal/a+1);
fill(0, 102, 102,160);
ellipse(50,200,Vtotal/a+1);
fill(30);
ellipse(50,200,Vovtotal/a+1);
fill(204, 0, 0,160);
ellipse(100,350,Stotal/a+1);
fill(30);
ellipse(100,350,Sovtotal/a+1);
fill(0, 0, 204,160);
ellipse(150,370,Etotal/a+1);
fill(30);
ellipse(150,370,Eovtotal/a+1);
fill(255, 51, 204,160);
ellipse(350,350,Ptotal/a+1);
fill(30);
ellipse(350,350,Povtotal/a+1);
fill(51, 204, 255,160);
ellipse(200,360,GStotal/a+1);
fill(30);
ellipse(200,360,GSovtotal/a+1);
fill(255,10,10);
ellipse(50,50,30);
fill(100);
ellipse(50,50,22);
fill(255,80,80);
ellipse(50,50,20);
textSize(10);
textAlign(CENTER);
fill(255,0,0);
textStyle(BOLD);
text('CLICK FOR',50,15);
text('RANDOM ARTWORK',60,30);
//generate random points if the artwork is not on display
// print(objectN);
for(let i = 0; i < objectN; i++ ){
// translate(200,200);
let ran1 = noise (i);
let ran2 = noise (i-1);
fill(cos(speed+=0.015)*255);
ellipse (400*ran1,400*ran2, 5, 5);
// print(noise(i));
// translate (noise(i),noise(i));
// rotate(PI/8*i);
}
if(objectOnView == false){
fill(255,150);
rectMode(CENTER);
rect(200,200,380,200,20);
textAlign(CENTER);
fill(255,0,0);
text('This work is NOT on display!',200,135);
fill(0);
text('Title: ',200,160);
text(objectTitle,200,175);
text('Artist:', 200, 200);
text(objectArtist,200,215);
text('Department:', 200, 240);
text(objectDep,200,255);
} else if(objectOnView == true){
fill(0,150);
rectMode(CENTER);
rect(200,200,380,200,20);
textAlign(CENTER);
fill(255);
text('This work is on display!',200,135);
fill(255);
text('Title: ',200,160);
text(objectTitle,200,175);
text('Artist:', 200, 200);
text(objectArtist,200,215);
text('Department:', 200, 240);
text(objectDep,200,255);
} else{
fill(0,150);
rectMode(CENTER);
rect(200,200,380,200,20);
textAlign(CENTER);
fill(255);
text('ObjectID does not exist',200,200);
}
}
function mousePressed(){
if(mouseX > 20 && mouseX < 80 && mouseY > 20 && mouseY < 80){
loadJSON(url + 'objects/' + Math.round(random(1,843569)), ObjectData);
if(objectOnView == false){
objectN = objectN + 1;
// print(objectTitle,)
}
}
}
function ObjectData(data){
objectTitle = data.title;
objectArtist = data.artistDisplayName;
objectDep = data.department;
objectOnView = data.isPublicDomain;
objectImage = data.primaryImage;
// print(data.title);
// print(data.isPublicDomain);
}
function GData(data) {
Gtotal = data.total;
print(data.total);
}
function GovData(data) {
Govtotal = data.total;
print(data.total);
}
function CData(data) {
Ctotal = data.total;
print(data.total);
}
function CovData(data) {
Covtotal = data.total;
print(data.total);
}
function FData(data){
Ftotal = data.total;
print(data.total);
}
function FovData(data){
Fovtotal = data.total;
print(data.total);
}
function VData(data){
Vtotal = data.total;
print(data.total);
}
function VovData(data){
Vovtotal = data.total;
print(data.total);
}
function JData(data){
Jtotal = data.total;
print(data.total);
}
function JovData(data){
Jovtotal = data.total;
print(data.total);
}
function SData(data){
Stotal = data.total;
print(data.total);
}
function SovData(data){
Sovtotal = data.total;
print(data.total);
}
function EData(data){
Etotal = data.total;
print(data.total);
}
function EovData(data){
Eovtotal = data.total;
print(data.total);
}
function PData(data){
Ptotal = data.total;
print(data.total);
}
function PovData(data){
Povtotal = data.total;
print(data.total);
}
function GSData(data){
GStotal = data.total;
print(data.total);
}
function GSovData(data){
GSovtotal = data.total;
print(data.total);
}
function MData(data){
Mtotal = data.total;
print(data.total);
}
function MovData(data){
Movtotal = data.total;
print(data.total);
}