David's Computer Graphics Page

About David Moed

I am a senior at NYU studying Computer Science and Web Design. Over the course of my college career, through both classes and internships I have become interested in front end development. Because of this interest I was thrilled to hear that the CompSci department was offering a front end focused class, Computer Graphics, as an elective. Once I got past my surprise at the existence of the class I was thrilled to see it was focusing on an interesting topic.

I am taking Computer Graphics to improve my design skills, learn about the technologies that allow for interactive and immersive experiences for users, and to learn more about the principles that guide that guide user-tech interaction.

I am most interesting from a software perspective to learn more about AR.

Bounce

By adjusting the sin, cos, and tan of various measurements of vPos.x and vPos.y I created a canvas that gives the impression of a bouncing background with a light blue styled foreground

I first attempted a mix of horizontal and vertical lines, before discovering that by multiplying a number of sin, cos, and tan elements I could create an effect that appears to emanate from the corners of the canvas. This "overlay" helps divide the canvas into a clear foreground and background for the bounce effect.

The shader itself can be found here

Dark Side Of The Moon

Using shading and ray tracing, I was impressed by how starkly different a shape could look by simply adding and removing color. The angle that the color appears seems to be rocking the ball and completely changes the look of the canvas with each rotation.

The tracer and shader can be found here

Magic 8 Ball

Using the Phong Model of shading, I created a sphere that changes its lighting over time. The white effect that shades the black sphere appears to move around the sphere.

The project can be found here

Micro Solar System

Using a ray shader and matrix adjustment I was able to rotate each sphere about the x and y axis using a combination of the sin and cos of different elements of the matrix. The spheres rotate as a result of this, and the shader adds color and definition to each sphere.

The project can be found here

Neon: High Speed Atom

Atoms are constantly buzzing with energy, surrounded by a field of electrons that move from place to place around the hub of the nucleus. Neon is a noble gas with 10 electrons and that is famous for its bright greenish glow. I created an atom viewed from outside the electron field with 10 neon green colored electrons.

The project can be found here

Rotating Rings

I created 2 rings/cylinders that rotate about the X and Y axis. The two change colors slightly over time and use triangle strips to generate.

The project can be found here

Bezier Splines

I tried creating a simple bezier spline that a cylinder runs along, however I ran into a number of problems, specifically an error with the start_gl function that I could not figure out how to solve (or even what the issue was in general).

My attempt at the homework can be found here

Computer Graphic's Potential

Computer Graphics creations surround us each day, we find them on devices, in films, in games. CG, especially with subsets like VR worlds have astounded many users with their creativity and often stunning visuals. It is now a regular occurrence for someone to pick up a game and instantly be transported to a world where everything is computer generated. Outside of games' multiplayer features, however, interactions between people, not just interactions between user and platform are incredibly rare. Today, we are on the cusp of a trend of increased interaction as a result of 3D graphics, and wider, better connectivity.
The emerging world(s) of Virtual Reality are a prime example of the push to interact in worlds that are computer generated, but not just for games. Early VR worlds consisted largely of two main types, open world exploration (often with a curated trip through everything in render distance), and small games where users enjoyed a first person view of the task they were doing. It could be anything from destroying a miniature city to a job simulator where you can "try out" different jobs in a cartoon style game. Gone from these games was human interaction.
Today, a greater push is being made to connect people in VR, though still for a very small amount of purposes. Mozilla recently released an open VR world that anyone can access where users meet in an open area styled with simple shapes like a castle, and speak to those around them. Facebook and other companies have aimed to release similar products allowing for a new and improved version of the internet chatroom, or a "face to face" version of messaging. In VR gaming, there is also a trend to work together, much as in traditional multiplayer games. Sebastian showcased a city editor that allows two users to interact with a virtual world together, changing the layout and look of the city, and even asking the opinion of the other person before confirming changes. This higher level of interaction is a clear sign of the direction that VR is moving in, in terms of collaboration beyond just interactions.
Sebastian also discussed an experience where people can view a scene and interact with it from various viewpoints. Luiz discussed the importance of accessibility for all people in VR. These two thoughts point VR, and by extension the graphics that drive them, to a near future where people meet and interact in VR worlds not just to chat or to play a game, but to teach, learn, experience new things, go to work, and above all include others in these activities. The direction that VR is moving in now seems to make Ready Player One not feel so far fetched anymore. On the one hand it is exciting to imagine a future where a person in New York, and a person in Tokyo can interact in a way that captures body language, emotion, and personality in a much more intimate and powerful way than a video chat or a phone call, but there are very worrying signs that a dive into immersive VR, where interactions that usually happen in the real world could be replaced with those in VR is frightening. This is especially poignant for members of the younger generation (generation z) who grew up with devices in their hands and Computer Graphics being a hugely influential and accessible piece of their lives.

VR Music Castle

We created a music visualizer that maps music and shapes to different walls of our VR castle. The music visualizer was created in P5 with an a-frame wrapped allowing for VR. The visualizer was largely based off this visualizer though we struggled to integrate it into our final project because it was created with its own canvas. We struggled somewhat to implement some of the other functionality we wanted, such as having a visualizer on each of the walls, and mapping keys to sound to allow for more functionality. Additionally, there is a few seconds of lag as the music is loaded when the project first opens. Finally, there was a plane near the top of the fountain whose existence we couldn't (and still can't) explain.
To play music click on any of the walls of the castle. Each song can be paused by clicking again on the wall. If you want to change the song to see new shapes and how different amplitudes affect the visualization, click on another of the walls. This will automatically pause other songs if they are playing.

The final project can be found here