Processing 練習(7)- 抽象空間_欣賞_000
從openProcessing.org上面拷來的一個抽象平面圖
程式碼:
/* Based on CREATIVE CODING course, MONASH UNIVERSITY MOVE CIRCLES IN A STRIGHT LINE AND CONSTRAIN TO SURFACE. IF TWO CIRCLES INTERSECT DRAW A LINE CONNECTING THEIR CENTERS, CLOURING THE LINE BASED ON THE CIRCLE BEING ODD OR EVEN ARROW UP = INCREASE RADIUS OF CIRCLE ARROW DOWN = DECREASE RADIUS OF CIRCLE */ int n = 50; // NUMBER OF CIRCLES float[] x = new float[n]; float[] y = new float[n]; float[] d = new float[n]; // RADIUS OF THE CIRCLES float[] moveX = new float[n]; float[] moveY = new float[n]; void setup() { size(800, 500); background(255); stroke(0, 10); noFill(); smooth(); for (int i = 0; i<n; i++) { //ASSIGN VALUES TO VARIABLES x[i]=random(width); y[i]=random(height); d[i]=random(20, 80); // CALL FUNCTIONS moveX[i]=random(-1, 1); moveY[i]=random(-1, 1); } println(d); //SHOW RADIUS } void draw() { for (int i = 0; i<n; i++) { moveCircle(i); connectCircle(i); } } //####### FUNTIONS ############### // MOVE CIRCLES IN A STRIGHT LINE AND CONSTRAIN TO SURFACE void moveCircle(int i) { x[i]=x[i]+moveX[i]; y[i]=y[i]+moveY[i]; // ellipse(x[i], y[i], d[i], d[i]); if (x[i]>width || x[i]<0) { moveX[i]= moveX[i]>0 ? -random(-1, 1) : random(-1, 1); } if (y[i]>height || y[i]<0) { moveY[i] = moveY[i]>0 ? -random(-1, 1) : random(-1, 1); } } // IF TWO CIRCLES INTERSECT THEN DRAW A LINE CONNECTING THEIR CENTERS, //CLOURING THE LINE BASED ON THE CIRCLE BEING ODD OR EVEN void connectCircle(int i) { for (int j = 0; j<n; j++) { if (j!=i) { if (dist(x[i], y[i], x[j], y[j])<(d[i]+d[j])) { if (i%2==0) { stroke(255, 10); } else { stroke(0, 10); } line(x[i], y[i], x[j], y[j]); } } } } // MODIFY RADIUS OF CIRCLES, SAVE AND REFRESH void keyPressed() { if (keyCode == UP) { for (int i = 0; i <n; i++) { d[i]++; } println(d); } if (keyCode == DOWN) { for (int i = 0; i <n; i++) { d[i]--; } println(d); } if (key == 'r') { background(255); } if (key == 's') { saveFrame("######.png"); } }
相關推薦
Processing 練習(7)- 抽象空間_欣賞_000
從openProcessing.org上面拷來的一個抽象平面圖 程式碼: /* Based on CREATIVE CODING course, MONASH UNIVERSITY MOVE CIRCLES IN A STRIGHT LINE AND CONST
第十六週(OJ 練習一 7)——抽象基類。
/* 02.*煙臺大學計算機學院學生 03.*All right reserved. 04.*檔名稱*煙臺大學計算機學院學生 05.*All right reserved. 06.*檔名稱:抽象基類 07.*作者:王洪海 08.*完成日期:2013年6月12日 09.*版本號:v1.0 10.*對任
野生前端的資料結構基礎練習(7)——二叉樹
網上的相關教程非常多,基礎知識自行搜尋即可。 習題主要選自Orelly出版的《資料結構與演算法javascript描述》一書。 參考程式碼可見:https://github.com/dashnowords/blogs/tree/master/Structure/btree 一.二叉樹的
SSM_CRUD新手練習(7)Spring單元測試分頁請求
好久沒寫這個系列部落格了是因為本人去公司實習去了,公司用的是Spring+SpingMvc+Hibernate現在有時間了不管怎麼樣繼續把這個專案寫完。 因為機器的原因,我的環境變成了IDEA+oracle+1.8+tomc
Processing 練習(10)
float x = 0; void setup() { size(400, 400); background(255); stroke(255); } void draw() {
設計模式練習(3)——抽象工廠模式
抽象工廠模式 一、題目: 某軟體公司要推出一款新的手機遊戲軟體,該軟體支援IOS、Android和Windows Phone等多個智慧手機作業系統平臺,針對不同的手機作業系統,該遊戲軟體提供了不同的遊戲操作控制類(OperationController)和
二、Java面向對象(7)_封裝思想——package語句
使用 ron ... 小寫 命名 同時 一行 目錄 基礎 2018-04-30 package語句 一、package關鍵字 為了更好地組織類,Java 提供了包機制,用於區別類名的命名空間。 包的作用: 1.把功能相似或相關的類或接口組織在同一個
二、Java面向對象(7)_封裝思想——static import(靜態導入)
http bsp oid eclipse out 封裝 靜態 font ips 2018-04-30 static import(靜態導入) import static 是靜態導入,是jdk1.5的新特征,可以不同過調用包名,直接使用包裏的靜態方法。 語法: 1
二、Java面向對象(7)_封裝思想——訪問修飾符
繼承性 mil img inf 情況下 隱藏 -- 解釋 分布 2018-04-30 訪問修飾符 <訪問權限範圍越小,安全性越高> public:表示全局的,可以在當前項目中任何地方訪問 如果幾個相互訪問的public類分布在不用的包中
數碼相框_電子書之程式碼閱讀及編寫(7)
數碼相框_電子書之程式碼閱讀及編寫(7) 在LCD顯示任意編碼的文字檔案,類似電子書 怎樣在LCD上顯示檔案: 需要哪幾個檔案? 1、頂部檔案 通過main.c分析命令列的操作,然後初始化各個管理檔案下的結構體,比如DisplayInit(); 然後進
C#程式設計練習(02):大地座標系(LBH)向空間直角座標系(XYZ)的轉換及其逆轉換
需求說明:以WGS-84軟體為例,實現大地座標系(LBH)向空間直角座標系(XYZ)的轉換及其逆轉換 原理說明: 程式原始碼: using System; using System.Collections.Generic; using System.Linq; using S
java基礎知識整理(7)——繼承與抽象
一、繼承 1、概述 多個類中存在相同屬性和行為時,將這些相同的內容抽取到單獨一個類中,那麼多個類無需再定義這些屬性和行為,只要繼那個類即可。多個類可以稱為子類,單獨這個類稱為父類或者超類。子類可
Processing摸索前行(7)
上一篇,我們經過摸索已經掌握了示波器的靜態圖形繪製的方法,這裡我們繼續前行,將其動態波形的功能實現。 從現實情況來看,動態波形一定是數字一邊產生一邊繪製到螢幕上,而不是一開始就有一堆的資料等著我們用。 這裡估計就要用到類似執行緒之類的概念來操作了《Processing摸索前行(6)-
Python入門筆記(7)_ 列表的生成及表格的生成
列表的生成 range(x,y,z)函式我們已經在前面的學習中接觸過了,它最明顯的特點就是生成的序列的範圍是從 x 到 y-1 的,如果有 z,表示每隔 z 個值取一個。 我們現在來看看它更高階的用法
讓兩臺伺服器的MySQL(5.7)資料同步_主主同步(互為主從關係)
網上找的大部分定義master-host的其實在新的MySQL中已經停用了,於是乎很悲劇的自己探索寫出了這麼一個東西 RedHat版本7.0 MySQL版本 5.7 伺服器名稱為假的!!!伺服器名稱為假的!!!伺服器名稱為假的!!! 重要事情說三遍~ 另外需要注意的是,你同
【杭電100題】C語言程式設計練習(三)2014 青年歌手大獎賽_評委會打分
http://acm.hdu.edu.cn/showproblem.php?pid=2014Problem Description青年歌手大獎賽中,評委會給參賽選手打分。選手得分規則為去掉一個最高分和一個最低分,然後計算平均得分,請程式設計輸出某選手的得分。Input輸入資料
nodejs(7)練習 http 和 express 創建簡單的服務器
客戶端 div 簡單的 tex require expr 字符串 創建 nbsp http const http = require(‘http‘) // 創建服務器 const server = http.createServer() // 綁定事件,監聽客戶端的
二、Linear Regression 練習(轉載)
hold off int 必須 html 移動 根據 which win from 轉載鏈接:http://www.cnblogs.com/tornadomeet/archive/2013/03/15/2961660.html 前言 本文是多元線性回歸的練習,這裏練習的
六、regularized logisitic regssion練習(轉載)
method open lose hold on update import 等高線 algo 2個 轉載鏈接:http://www.cnblogs.com/tornadomeet/archive/2013/03/17/2964858.html 在上一講Deep learn
樹莓派3學習筆記(7):7寸(分辨率800 480)顯示器配置
樹莓派、顯示器配置樹莓派3學習筆記(7):7寸(分辨率800 480)顯示器配置 樹莓派搭載分辨率為800X480的顯示器在顯示的時候可能會遇到無法全屏顯示的問題, 顯示器只有部分能夠顯示,有一部分是黑邊,對於這一種情況,我們只需進入系統的boot目錄,找到config.txt文件,或者直接在命