by Nara @ 1:53 am 12 January 2010
Part A
GDE Error: Unable to load profile settings
void draw( )
{
background( #FFFFFF) ;
int waveHeight = 30 ;
for ( int i = 0 ; i & lt; 90 ; i++ )
{
int yOffset = waveHeight + 10 + ( i * 8 ) ;
beginShape( ) ;
for ( float x = 0 ; x & lt; 360 ; x+= 5 )
{
float y = ( ( TWO_PI* 4 ) * ( radians( x) / TWO_PI) ) + ( PI* 3 / 4 ) ;
curveVertex( sq( x) / 120 , yOffset + ( waveHeight * sin( y) ) ) ;
}
endShape( ) ;
}
}
Part B
I also for the life of me cannot get the iframes to work, so the applet can be found here .
Ball myBall;
Paddle myPaddle;
void setup( )
{
size( 400 , 400 ) ;
rectMode( CENTER) ;
ellipseMode( CENTER) ;
noStroke( ) ;
fill( #FFFFFF) ;
myPaddle = new Paddle( ) ;
myBall = new Ball( ) ;
noCursor( ) ;
smooth( ) ;
}
void draw( )
{
background( #000000) ;
myBall.display ( ) ;
myPaddle.display ( ) ;
myBall.move ( ) ;
if ( out( ) ) { myBall.reset ( ) ; }
if ( boundaryCollision( ) || paddleCollision( ) ) { myBall.changeDir ( ) ; }
}
void mouseMoved( )
{
float hOffset = myPaddle.h / 2 ;
myPaddle.ypos = constrain( mouseY, 0 + hOffset, height - hOffset) ;
}
boolean out( )
{
if ( myBall.xpos & lt;= 0 ) { return true ; }
return false ;
}
boolean boundaryCollision( )
{
if ( myBall.xpos & lt;= 0 ) { return false ; }
if ( myBall.ypos & lt;= 0 || myBall.ypos & gt;= height) { return true ; }
if ( myBall.xpos & gt;= width) { return true ; }
return false ;
}
boolean paddleCollision( )
{
float pTop = myPaddle.ypos - ( myPaddle.h / 2 ) ;
float pBot = myPaddle.ypos + ( myPaddle.h / 2 ) ;
if ( myBall.ypos & lt;= pTop || myBall.ypos & gt;= pBot) { return false ; }
float bLeft = myBall.xpos - ( myBall.w / 2 ) ;
float pLeft = myPaddle.xpos + ( myPaddle.w / 2 ) ;
if ( bLeft ( pLeft- 3 ) ) { return true ; }
return false ;
}
final class Ball
{
float xpos = width/ 2 ;
float ypos = height/ 2 ;
float [ ] dir = { - 3 , 2 } ;
int w = 20 ;
void display( )
{
ellipse( xpos, ypos, w, w) ;
}
void move( )
{
xpos += dir[ 0 ] ;
ypos += dir[ 1 ] ;
}
void changeDir( )
{
if ( ypos & lt;= 0 || ypos & gt;= height) { dir[ 1 ] *= - 1 ; }
else { dir[ 0 ] *= - 1 ; }
}
void reset( )
{
xpos = width/ 2 ;
ypos = height/ 2 ;
dir = new float [ 2 ] ;
dir[ 0 ] = - 3 ;
dir[ 1 ] = 2 ;
}
}
final class Paddle
{
float xpos = 25 ;
float ypos = height/ 2 ;
int w = 15 ;
int h = 60 ;
void display( )
{
rect( xpos, ypos, w, h) ;
}
}
Comments Off on Project 0
by Cheng @ 10:51 pm 11 January 2010
Part A. Noll Pattern
/* @Cheng
@Jan 11, 2010
Ninety Parallel Sinusoids With Linearly Increasing Period
https://ems.andrew.cmu.edu/2010spring/projects/project-0/
*/
import processing.pdf.* ;
float altitude= 20 .; // altitude of sine wave
float gain = .0038; // how fashttps://ems.andrew.cmu.edu/2010spring/wp-admin/media-upload.php?post_id=576&TB_iframe=truet the period grow
float period ; //
float initialPeriod = .55;
int LeftMargin = 0 ; // white space
int upperMargin = 5 ;
int x ;
float y ;
smooth( ) ;
size ( 400 ,410 ,PDF,"NollSine.pdf" ) ;
background ( 255 ) ;
noFill( ) ;
strokeWeight( .7) ;
for ( int i = 0 ; i& lt; 90 ; i++ ) {
//point() could induce discrete point;vertext works better
beginShape( ) ;
for ( x= LeftMargin; x& lt; degrees( width) ; x++ ) {
period = initialPeriod+ gain* float ( x) ; //increase period
//notice y axis direct downwards; sine wave needs to be reversed
y = upperMargin + altitude* ( - sin( 2 .* PI* radians( x- LeftMargin) / period) + 1 .) ;
vertex ( x,y+ i* 4 ) ;
}
endShape( ) ;
}
GDE Error: Unable to load profile settings
Part B. Pong Game
WordPress has been constantly deleting the iFrame code, so just click on the link
Comments Off on project 0
by Jon Miller @ 4:39 pm
Part A
Notes:
Created in Flash AS3.
PDF created with AlivePDF libraries.
GDE Error: Unable to load profile settings
//static parameters
var startPointY:Number = 39 ; //starting position of each wave
var amplitude:Number = 30 ;
graphics.lineStyle ( 1.49 , 0 , 1 ) ;
//drawing the sine waves
for ( var i:int =0 ; i& lt;90 ; i++) {
graphics.moveTo ( 0 , startPointY) ;
angle = -0.1 ;
xpos = 0 ;
period = 9 ;
for ( var j:int =0 ; j& lt;1000 ; j++) {
xpos++;
ypos = startPointY - Math .sin ( xpos/ period) * amplitude;
graphics.lineTo ( xpos, ypos) ;
period += 0.0325 ;
}
startPointY += 5.8 ;
}
Part B
Notes:
Created in Flash AS3.
Source code:link
Part of the challenge is scrolling down the page fast enough before the computer gets his first point.
Comments Off on Jon Miller – Project 0
by Karl DD @ 3:29 pm
Noll
GDE Error: Unable to load profile settings
P5 APPLET
size( 700 , 700 ) ;
background( 255 ) ;
smooth( ) ;
int yOffset = 50 ;
int waveHeight = 40 ;
for ( int j = 0 ; j& lt; 90 ; j++ ) {
for ( int i = 0 ; i& lt; 750 ; i++ ) {
float divider = map( i, 0 , 749 , 10 , 35 ) ;
line( i, yOffset + - sin( i / divider) * waveHeight, i+ 1 , yOffset + - sin( ( i + 1 ) / divider) * waveHeight) ;
}
yOffset += 6 ;
}
Pong
I decided to OOP my PONG out a little.
I couldn’t add an IFRAME here because WordPress kept removing it when I saved the draft. So here is the separate page anyway:
P5 PONG
The .pde file links are dead because the .pde file type gets rejected on upload 🙁
PongBall ball;
PongPaddleUser myPaddle;
PongPaddleBot theirPaddle;
void setup( ) {
size( 600 , 600 ) ;
rectMode( CENTER_RADIUS) ;
ellipseMode( CENTER_RADIUS) ;
noStroke( ) ;
smooth( ) ;
myPaddle = new PongPaddleUser( width - PongPaddle.width * 2 , height / 2 ) ;
theirPaddle = new PongPaddleBot( PongPaddle.width * 2 , height / 2 ) ;
ball = new PongBall( myPaddle, theirPaddle, width / 2 , height / 2 ) ;
}
void draw( ) {
background( 0 ) ;
ball.draw ( ) ;
myPaddle.draw ( ) ;
theirPaddle.draw ( ) ;
}
FULL PONG SOURCE
Comments Off on Karl DD – Project Zero
by paulshen @ 3:18 pm
implemented in oF
GDE Error: Unable to load profile settings
void testApp:: drawNollSinusoids ( )
{
float amplitude = 30.0 ;
float phase = PI;
output.setColor ( 0x333333 ) ;
output.setLineWidth ( 1.0 ) ;
output.noFill ( ) ;
for ( int i = 0 ; i & lt; 90 ; i++ ) {
float period = 30 / PI;
float offsetY = 15 + i * 5.8 ;
output.beginShape ( ) ;
for ( int x = 0 ; x & lt; windowWidth; x++ ) {
float y = sin ( x / period + phase) ;
output.curveVertex ( x, amplitude * y + amplitude + offsetY) ;
period + = 0.031 ;
}
output.endShape ( ) ;
}
}
pong
link [ iframe code is removed on update ]
implemented in processing.js
int paddleWidth = 100 ;
int ballSize = 20 ;
// all the following deal with center of object
int compPos, userPos;
int ballX, ballY, ballDX, ballDY;
float multiplier = 1.0 ; // speed up ball
void setup( ) {
size( 400 , 400 ) ;
frameRate( 30 ) ;
noStroke( ) ;
resetGame( ) ;
}
void resetGame( ) {
multiplier = 1.0 ;
compPos = ( height - paddleWidth) / 2 ;
userPos = compPos;
ballX = ( width - ballSize) / 2 ;
ballY = ( height - ballSize) / 2 ;
ballDX = 0 ;
ballDY = 0 ;
}
void draw( ) {
background( #333333 ) ;
fill( #f0f0f0) ;
// update ball position
ballX += ballDX * multiplier;
ballY += ballDY * multiplier;
multiplier += 0.003 ;
// check for collision
// computer side
if ( ballX - ballSize / 2 & lt; 10 ) {
if ( abs( ballY - compPos) width - 10 ) {
if ( abs( ballY - userPos) & lt;= paddleWidth / 2 ) {
ballDX = - ballDX;
ballX = height - 10 - ballSize / 2 ;
ballDY += ( ballY - userPos) / 5 ;
} else {
resetGame( ) ;
}
}
// top
if ( ballY - ballSize / 2 height) {
ballDY = - ballDY;
ballY = height - ballSize / 2 ;
}
// update user position
userPos = mouseY;
if ( userPos height - paddleWidth / 2 )
userPos = height - paddleWidth / 2 ;
// update computer position
float compDY = ( ballY - compPos) ;
if ( compDY & gt; 10 )
compDY = 10 ;
compPos += compDY;
if ( compPos height - paddleWidth / 2 )
compPos = height - paddleWidth / 2 ;
// draw computer paddle
rect( 0 , compPos - paddleWidth / 2 , 10 , paddleWidth) ;
// draw user paddle
rect( width - 10 , userPos - paddleWidth / 2 , 10 , paddleWidth) ;
// draw ball
ellipse( ballX, ballY, ballSize, ballSize) ;
}
void mousePressed( ) {
if ( ballDX == 0 & amp;& amp; ballDY == 0 ) {
ballDX = 5 ;
ballDY = 2 ;
}
}
Comments Off on project 0 by paul shen
by teecher @ 4:24 am
Hi, I’m Placebo Ersatzspieler , a bogus student! Here’s my attempt to upload a PDF for Project 0:
GDE Error: Unable to load profile settings
Comments Off on Placebo’s Project 0