LO: 3D Computer Graphics

My artist is Adam Martinakis, a digital 3D artist based in Greece. Since 2000, Marinakis has been making computer-generated visuals. What caught my attention about Martinakis’ work is how he portrays the human figure. To covey the fragility of humans, Martinakis would create 3D humans and then shatter them. I admire the artist’s 3D graphic skills in creating a detailed rendering of the space and subjects in his art. His artworks perfectly captured the critical moment when the figures were destroyed, leaving a strong visual impact. The artist achieved his vision by making the human figure almost featureless, which supported his idea that fragility is a universal characteristic of all humans. In an interview with Marinakis, he described the process and algorithms that he employed. First, he creates 3D models using the software 3ds Max and then renders them. Since he constructed his art in 3D, Martinakis could render different angles of the same model and publish the best ones. This workflow is a unique feature of digital 3D art, which is not possible without the help of computers. Overall, Adam Martinakis inspires me by combining an engaging visual style and actualizing it through computer programs.

website

interview

Looking Outwards 05: 3D Computer Graphics

behance_PSD_03.jpg
“Spells” by Sasha Vinogradova

One project that caught my attention immediately is “Spells” created by Sasha Vinogradova in 2021. “Spells” is a series composed of 3 pieces, “Air”, “Whisper”, and “Fire”, intending to express “the magic one feels when inspiration strikes”. The 3D strings in the work represent the energy streams that allow us to connect, feel, and create. I really like this project because the artist did an incredible job in creating dimensions. Although it’s a 2D image, the way the strings are twisted and wrapped in the space creates depth and the illusion of a 3D sphere. “Spells” was designed using C4D and Zbrush, which are both 3D software for the creative industries. I explored both of these tools, and I found their features to be quite fascinating. For instance, Zbrush can actually allow users to sculpt 3D figures through “digital clay”. This week’s LO allowed me to gain some insight on how digital art and computer graphics can now exceed 2D and allow artists to generate 3D and interactive art.

Project 05: Wallpaper

sketchDownload
var b; //x position for badfruit
var c; //y position for badfruit

function setup() {
    createCanvas(600, 600);
    background(180, 199, 137);
}


function goodfruit(x,y) {
    stroke(241, 240, 217);
    bezier(x,y+5,x-35,y-25,x-15,y+45,x,y+25); //leftside
    bezier(x,y+5,x+35,y-25,x+15,y+45,x,y+25); //rightside
}


function vine(x) {

    //vines
    noStroke();
    fill(241, 240, 217);
    rect(x-12,0,24,600);
    triangle(x,505,x,540,x+60,460); //bottomright
    triangle(x,480,x,445,x-60,400); //bottomleft
    triangle(x,360,x,325,x+60,280); //middleright
    triangle(x,300,x,265,x-60,220); //middleleft
    triangle(x,180,x,145,x+60,100); //topleft
    triangle(x,120,x,85,x-60,40); //topright

    //branches
    triangle(x+42,480,x+38,545,x+46,545); //bottomright
    goodfruit(x+42,535);
    triangle(x-42,420,x-38,485,x-46,485); //bottomleft
    goodfruit(x-42,475);

    triangle(x+42,300,x+38,365,x+46,365); //middleright
    goodfruit(x+42,355);
    triangle(x-42,240,x-38,305,x-46,305); //middleleft
    goodfruit(x-42, 295);

    triangle(x+42,120,x+38,185,x+46,185); //topright
    goodfruit(x+42,175);
    triangle(x-42,60,x-38,125,x-46,125); //topleft
    goodfruit(x-42, 115);

}

function badfruit(b,c) {
    stroke(96, 93, 42);
    fill(96, 93, 42);
    triangle(b,c-10,b-2,c+4,b+2,c+4); //stem
    bezier(b,c+5,b-35,c-25,b-15,c+45,b,c+25); //leftside
    bezier(b,c+5,b+35,c-25,b+15,c+45,b,c+25); //rightside
}


function draw() {

    vine(300);
    vine(480);
    vine(120);

    for (var b=35; b<=600; b+=176.5) { //increase from first to fourth row
       for(var c=25; c<=600; c+=176.5)  { //count from first to fourth column
        badfruit(b,c);
    }
}


//bible verse
fill(241, 240, 217);
    noStroke();
    textSize(12);
    textAlign(CENTER);
    text("JOHN 15:5",560,590);

}

LO: Computer Graphics

This piece, called “Secret Ramen”, is by 3D student Laura Keuk, who used programs Brush and 3ds Max, as well as Adobe photoshop and aftereffects to create the final image of the beautiful ramen bowl. I admire the simple beauty of the image; the detail, the colors, the lighting that invoke a warm, dreamy atmosphere. A secondary source cites that she used displacement for the oily soup texture, and particle simulation to spread out the onion rings around as garnish. I love that she chose something as simple and “commonplace” as food to painstakingly detail and craft, and shows her appreciation for the small joys in life, especially the importance of having and sharing good meals.

LO: Sound Art

This project, called Knight of Infinite Resignation, is a motorized sound installation by Diane Landry, an installation, video, and performance artist from France. It uses bicycle wheels to rotate sand-filled water-bottles (12 on each wheel) that align with the hour of the day and month of the year, with the sound of the sand filling the room as it moves with the motion of the bottles. Although they can be seen as a sort of clock for the human pattern of time, the cold, churring machines evoke an uncanny sense of perpetuality and vastness that also allude to eternity, space, serenity, and the unfathomable spans of time. The algorithm itself must be fairly simple; just programmed to run along a reference to the hour of the day or month of the year. However, the ingenuity of using such regular household items such as the bicycle wheel and plastic water bottle point to the artists’ ability to turn every-day, human objects into something bigger, more vast, more extensive.

http://dianelandry.com/installations-en/knight-of-infinite-resignation-2/https://www.youtube.com/watch?v=K_jWA_o-Cvg

Project 04: String Art

sketchDownload
var dx1;
var dy1;
var dx2;
var dy2;

var numLines = 40;

function makeStringArt(x1, y1, x2, y2, x3, y3, x4, y4) { //function to make string art from points of two lines
    line(x1,y1,x2,y2);
    line(x3,y3,x4,y4);
    dx1 = (x2-x1)/numLines; //changes x value of first point
    dy1 = (y2-y1)/numLines; //changes y value of first point
    dx2 = (x4-x3)/numLines; //changes x value of second point
    dy2 = (y4-y3)/numLines; //changes y value of second point

    //initial points
    var firstx = x1; 
    var firsty = y1;
    var secondx = x3;
    var secondy = y3;

    //draws lines and adjusts points for next line
    for (var i = 0; i <= numLines; i += 1) {
        line(firstx, firsty, secondx, secondy);
        firstx += dx1;
        firsty += dy1;
        secondx += dx2;
        secondy += dy2;
    }
}

function setup() {
    createCanvas(400, 400);
    background(218, 190, 229); //purple

}

function draw() {
    stroke(255); //white: corner shapes
    makeStringArt(0,0,200,0,0,400,0,0);
    makeStringArt(200,400,400,400,400,400,400,0);
    //quarters of the star shape
    stroke(166, 155, 52); //gold
    makeStringArt(200,0,200,200,200,200,380,200);
    stroke(0, 142, 219) //blue
    makeStringArt(200,400,200,200,200,200,380,200);
    stroke(166, 155, 52); //gold
    makeStringArt(200,400,200,200,200,200,20,200);
    stroke(0, 142, 219) //blue
    makeStringArt(200,0,200,200,200,200,20,200);

    noLoop();
}

Project 05: Wallpaper

sketch

//Alana Wu
//ID: alanawu
//Project 05: Wallpaper


function setup()
{
    createCanvas(400, 400);
    background(255);
}

function draw()
{

    bigGrid (.25, 0);
    bigGrid(.125, 50);
    bigGrid(.0625, 75);
    noLoop();
}

//blue, dark red, yellow color scheme
/*function bigGrid (s, dist)
{
    for (var x = 0; x < 4; x ++)
    {
        for (var y = 0; y < 4; y ++)
        { 
            push();
            translate (x*100 + dist, y*100 + dist);
            scale (s);
            grid (40, 0, 13, 78, 255, 100, 10); //blue             
            grid (15, 300, 100, 0, 255, 255, 30); //violet
            grid (2, 150, 76, 25, 255, 120, 5); //red
            grid(10, 200, 255, 0, 0, 100, 10); //mustard
            grid (10, 300, 255, 236, 0, 150, 15); //yellow
            pop();
        }
    }
}*/

//green, blue, yellow, red color scheme
function bigGrid (s, dist)
{
    for (var x = 0; x < 4; x ++)
    {
        for (var y = 0; y < 4; y ++)
        { 
            push();
            translate (x*100 + dist, y*100 + dist);
            scale (s);
            grid (40, 0, 0, 255, 50, 150, 10); //green            
            grid (15, 300, 255, 0, 0, 255, 30); //red
            grid (10, 150, 0, 0, 55, 180, 15); //blue
            grid(10, 200, 255, 255, -200, 100, 10); //yellow
            grid (10, 300, 180, -100, -100, 150, 15); //dark red
            pop();
        }
    }
}

//pastels color scheme
/*function bigGrid (s, dist)
{
    for (var x = 0; x < 4; x ++)
    {
        for (var y = 0; y < 4; y ++)
        { 
            noStroke();
            push();
            translate (x*100 + dist, y*100 + dist);
            scale (s);
            grid (40, 0, 150, 255, 255, 100, 10); //pale blue             
            grid (30, 300, 150, 150, 255, 255, 30); //lavender
            grid (2, 150, 255, 80, 255, 120, 5); //pale pink
            grid(10, 200, 255, 200, 200, 100, 10); //pink
            grid (10, 300, 250, 250, 190, 150, 15); //pale yellow
            pop();
        }
    }
}*/


function grid (rectW, start, red, green, blue, opacity, dist)
{
    for (x = start; x <= width - rectW; x += dist)
    {
        var count = 0;
        fill (red, green, blue, opacity);
        rect (x, 0, rectW, height);
        rect (0, x, width/2, rectW);
        red += 10;
        blue += 20;
        green += 10;
    }

}

To generate ideas for this project, I experimented with building different functions that played with a variety of geometric shapes. I eventually decided to use a function that interwove and layered rectangles in different colors and opacities.

After building the initial function, I played around with a lot of different color schemes and opacities, a few of which are shown below (scroll down past the code). For the future, I think it’d be interesting to try and create optical illusions.

Looking Outwards 05: 3D Computer Graphics

Reading about the 3d computer graphics was very intriguing. I like how the there are connections between our last weeks project (string art) and the previous looking out blog posts where we had to talk about data in nature. Most of the computer generated graphic photos looked alike to repetitive or familiar patterns. Specific projects I am highly interested in is programs such as “DALL E”, a programmed neural network that creates images from text captions for a wide range of concepts which are expressible in natural language. When a user puts in a text, the AI will generate images which correspond to such texts. DALL E’s capabilities include drawing multiple objects simultaneously, control abilities, inferring contextual details, combining unrelated concepts, animal illustrations, etc. Text to image synthesis is still an active area of research and DALL E continues to improve contemporarily.

https://openai.com/blog/dall-e/

Looking Outwards 4

The Clock

This post is regarding Christian Marclay’s works. I really enjoyed his work, ‘The Clock’, in 2010. Christian Marclay worked with fine art and audio cultures, transforming sound and music into a visible, physical form through performance, collage, sculpture, installation, photography and video. His work uses gramophone records and turntables as musical instruments to produce amazing works from sounds. I love the idea that Matclays purposefully damages records to create intentional effects on the music that he creates. In this work I really appreciate the concept of Time being a complex interaction being introduced within his work.

https://whitecube.com/exhibitions/exhibition/christian_marclay_masons_yard_2010

Looking Outwards 05: 3D Computer Graphics

New York 2140 Book Cover

Artist: Stephan Martiniere, a concept illustrator and artist who’s created graphics for Avenger: Age of Ultron, Ready Player One, Avatar, Star Wars, and many other acclaimed films. He’s also produced 150+ book covers, comic book covers, and editorial illustrations for clients like National Geographic, Penguin and Random House, Pyr, etc.

Link to Artist’s Site: https://www.martiniere.com/portfolio

Link to article: https://archive.factordaily.com/cli-fi-science-fiction/

This piece of imagery was created for the book New York 2140 by Kim Stanley Robinson, which is set in a futuristic NYC that’s been flooded by rising sea level. I particularly like this piece of computer graphics because it helps people visualize the effects of climate change. Because the scope of climate change and its effects is so huge, for many of us, it’s hard to comprehend what the world will look like in 50, or even 10 years because of it. Not being able to comprehend the effects of climate change can result in either denying its existence, not doing anything about climate change (due to a feeling of helplessness), eco-anxiety, or taking tangible action. I think 3D computer graphics like this that depict how our world will look like with climate change will really help communicate the effects of climate change to people. This particular image is very optimistic and depicts a world in which we adapt to a changing Earth, so we could assume that the creator is optimistic about how humanity will adapt in the future. Pairing this piece with equally possible dystopian imagery would help show people what results from taking action now vs. not taking action now.

New World artwork by Stephen Martiniere

An interesting possibility would be to put together a project that exhibits an image of a current city, a produced image of how it’ll look in 50 years if we reduce carbon emissions by X amount by a certain time, and a produced image of how the city will look if we don’t reduce carbon emissions by X amount.

Environments artwork by Stephen Martiniere

Environments artwork by Stephen Martiniere