├── LICENSE ├── README.md ├── blender-sverchok ├── non-0.1-A Traditional Random Walk.blend └── non-0.1.jpg ├── maxmsp ├── non-examples0.1-A Traditional Random Walk.maxpat └── non-examples0.1-random-walk.jpg └── touchdesigner ├── 00_randomness ├── non-ex-0-1-RandomWalkTraditional.toe ├── non-ex-0-10-NoiseTerrain.toe ├── non-ex-0-2-RandomDistribution.toe ├── non-ex-0-3-RandomWalkerThatTendsTo4Directions .toe ├── non-ex-0-4-GaussianDistribution.toe ├── non-ex-0-5-Accept-RejectDistribution.toe └── non-ex-0-6-APerlinNoiseWalker.toe ├── 01_vector ├── non-ex-1-1-BouncingBallWithNoVectors.toe ├── non-ex-1-10-Motion_101_Acceleration.toe ├── non-ex-1-2-BallWithVectors.toe ├── non-ex-1-3-VectorSubtraction.toe ├── non-ex-1-4-VectorMultiplication.toe ├── non-ex-1-5-VectorMagnitude.toe ├── non-ex-1-6-VectorNormalize.toe ├── non-ex-1-7-Motion_101_Velocity.toe ├── non-ex-1-8-Motion_101_velocityAndConstantAcceleration.toe └── non-ex-1-9-Motion_101_VelocityAndRandomAcceleration.toe └── 02_force ├── non-ex-2-1-Forces.toe ├── non-ex-2-2-ForcesMany.toe ├── non-ex-2-3-ForcesManyRealG.toe ├── non-ex-2-4-ForcesManyRealGFriction.toe └── non-ex-2-5FluidResistance.toe /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Code2Art 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Nature of Node 2 | Node based implement of Nature of Code 2 3 | 4 | Nature of Code 2:https://natureofcode.com/ 5 | 6 | It was originally implemented based on p5js, and is re-implemented here using various node-based programming. 7 | 8 | 9 | 10 | # RE-implement 11 | - [MaxMSP](./maxmsp) 12 | - Contributors: [@avantcontra](https://github.com/avantcontra) 13 | - [Blender Sverchok](./blender-sverchok) 14 | - Contributors: [@avantcontra](https://github.com/avantcontra) 15 | - Blender XXX Nodes 16 | - Unreal Blueprint 17 | - Unity Visual Scripting 18 | - [TouchDesigner](./touchdesigner) 19 | - Contributors: [@3eyesnuts](https://github.com/boohboohmuyi) 20 | - XXX 21 | 22 | # Discussion 23 | ### Discord 24 | https://discord.gg/ytXY5mrAAH 25 | 26 | ### Wechat group 27 | 28 | -------------------------------------------------------------------------------- /blender-sverchok/non-0.1-A Traditional Random Walk.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/blender-sverchok/non-0.1-A Traditional Random Walk.blend -------------------------------------------------------------------------------- /blender-sverchok/non-0.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/blender-sverchok/non-0.1.jpg -------------------------------------------------------------------------------- /maxmsp/non-examples0.1-A Traditional Random Walk.maxpat: -------------------------------------------------------------------------------- 1 | { 2 | "patcher" : { 3 | "fileversion" : 1, 4 | "appversion" : { 5 | "major" : 8, 6 | "minor" : 6, 7 | "revision" : 2, 8 | "architecture" : "x64", 9 | "modernui" : 1 10 | } 11 | , 12 | "classnamespace" : "box", 13 | "rect" : [ 2089.0, 77.0, 585.0, 340.0 ], 14 | "bglocked" : 0, 15 | "openinpresentation" : 0, 16 | "default_fontsize" : 12.0, 17 | "default_fontface" : 0, 18 | "default_fontname" : "Arial", 19 | "gridonopen" : 1, 20 | "gridsize" : [ 15.0, 15.0 ], 21 | "gridsnaponopen" : 1, 22 | "objectsnaponopen" : 1, 23 | "statusbarvisible" : 2, 24 | "toolbarvisible" : 1, 25 | "lefttoolbarpinned" : 0, 26 | "toptoolbarpinned" : 0, 27 | "righttoolbarpinned" : 0, 28 | "bottomtoolbarpinned" : 0, 29 | "toolbars_unpinned_last_save" : 0, 30 | "tallnewobj" : 0, 31 | "boxanimatetime" : 200, 32 | "enablehscroll" : 1, 33 | "enablevscroll" : 1, 34 | "devicewidth" : 0.0, 35 | "description" : "", 36 | "digest" : "", 37 | "tags" : "", 38 | "style" : "", 39 | "subpatcher_template" : "", 40 | "assistshowspatchername" : 0, 41 | "boxes" : [ { 42 | "box" : { 43 | "id" : "obj-31", 44 | "maxclass" : "number", 45 | "numinlets" : 1, 46 | "numoutlets" : 2, 47 | "outlettype" : [ "", "bang" ], 48 | "parameter_enable" : 0, 49 | "patching_rect" : [ 577.659570336341858, 324.468082785606384, 50.0, 22.0 ] 50 | } 51 | 52 | } 53 | , { 54 | "box" : { 55 | "id" : "obj-32", 56 | "maxclass" : "newobj", 57 | "numinlets" : 2, 58 | "numoutlets" : 1, 59 | "outlettype" : [ "int" ], 60 | "patching_rect" : [ 532.978719592094421, 325.531912565231323, 29.5, 22.0 ], 61 | "text" : "+" 62 | } 63 | 64 | } 65 | , { 66 | "box" : { 67 | "id" : "obj-30", 68 | "maxclass" : "number", 69 | "numinlets" : 1, 70 | "numoutlets" : 2, 71 | "outlettype" : [ "", "bang" ], 72 | "parameter_enable" : 0, 73 | "patching_rect" : [ 458.510635018348694, 325.531912565231323, 50.0, 22.0 ] 74 | } 75 | 76 | } 77 | , { 78 | "box" : { 79 | "id" : "obj-29", 80 | "maxclass" : "newobj", 81 | "numinlets" : 2, 82 | "numoutlets" : 1, 83 | "outlettype" : [ "int" ], 84 | "patching_rect" : [ 413.829784274101257, 326.595742344856262, 29.5, 22.0 ], 85 | "text" : "+" 86 | } 87 | 88 | } 89 | , { 90 | "box" : { 91 | "id" : "obj-28", 92 | "maxclass" : "message", 93 | "numinlets" : 2, 94 | "numoutlets" : 1, 95 | "outlettype" : [ "" ], 96 | "patching_rect" : [ 746.808505296707153, 257.446806669235229, 35.0, 22.0 ], 97 | "text" : "clear" 98 | } 99 | 100 | } 101 | , { 102 | "box" : { 103 | "id" : "obj-27", 104 | "maxclass" : "message", 105 | "numinlets" : 2, 106 | "numoutlets" : 1, 107 | "outlettype" : [ "" ], 108 | "patching_rect" : [ 697.872335433959961, 257.446806669235229, 29.5, 22.0 ], 109 | "text" : "0" 110 | } 111 | 112 | } 113 | , { 114 | "box" : { 115 | "id" : "obj-26", 116 | "maxclass" : "message", 117 | "numinlets" : 2, 118 | "numoutlets" : 1, 119 | "outlettype" : [ "" ], 120 | "patching_rect" : [ 653.191484689712524, 257.446806669235229, 29.5, 22.0 ], 121 | "text" : "0" 122 | } 123 | 124 | } 125 | , { 126 | "box" : { 127 | "id" : "obj-25", 128 | "maxclass" : "message", 129 | "numinlets" : 2, 130 | "numoutlets" : 1, 131 | "outlettype" : [ "" ], 132 | "patching_rect" : [ 670.212761163711548, 215.95744526386261, 35.0, 22.0 ], 133 | "text" : "reset" 134 | } 135 | 136 | } 137 | , { 138 | "box" : { 139 | "id" : "obj-24", 140 | "maxclass" : "newobj", 141 | "numinlets" : 1, 142 | "numoutlets" : 2, 143 | "outlettype" : [ "jit_matrix", "" ], 144 | "patching_rect" : [ 437.234039425849915, 471.276592373847961, 53.0, 22.0 ], 145 | "text" : "jit.matrix" 146 | } 147 | 148 | } 149 | , { 150 | "box" : { 151 | "id" : "obj-19", 152 | "maxclass" : "newobj", 153 | "numinlets" : 0, 154 | "numoutlets" : 1, 155 | "outlettype" : [ "" ], 156 | "patching_rect" : [ 532.978719592094421, 215.95744526386261, 47.0, 22.0 ], 157 | "text" : "r metro" 158 | } 159 | 160 | } 161 | , { 162 | "box" : { 163 | "id" : "obj-20", 164 | "maxclass" : "newobj", 165 | "numinlets" : 2, 166 | "numoutlets" : 1, 167 | "outlettype" : [ "int" ], 168 | "patching_rect" : [ 532.978719592094421, 356.382976174354553, 39.0, 22.0 ], 169 | "text" : "+ 270" 170 | } 171 | 172 | } 173 | , { 174 | "box" : { 175 | "id" : "obj-21", 176 | "maxclass" : "newobj", 177 | "numinlets" : 2, 178 | "numoutlets" : 1, 179 | "outlettype" : [ "int" ], 180 | "patching_rect" : [ 532.978719592094421, 292.553189396858215, 29.5, 22.0 ], 181 | "text" : "- 11" 182 | } 183 | 184 | } 185 | , { 186 | "box" : { 187 | "id" : "obj-23", 188 | "maxclass" : "newobj", 189 | "numinlets" : 2, 190 | "numoutlets" : 1, 191 | "outlettype" : [ "" ], 192 | "patching_rect" : [ 532.978719592094421, 258.510636448860168, 66.0, 22.0 ], 193 | "text" : "random 23" 194 | } 195 | 196 | } 197 | , { 198 | "box" : { 199 | "id" : "obj-18", 200 | "maxclass" : "newobj", 201 | "numinlets" : 0, 202 | "numoutlets" : 1, 203 | "outlettype" : [ "" ], 204 | "patching_rect" : [ 413.829784274101257, 215.95744526386261, 47.0, 22.0 ], 205 | "text" : "r metro" 206 | } 207 | 208 | } 209 | , { 210 | "box" : { 211 | "id" : "obj-17", 212 | "maxclass" : "newobj", 213 | "numinlets" : 2, 214 | "numoutlets" : 1, 215 | "outlettype" : [ "int" ], 216 | "patching_rect" : [ 413.829784274101257, 356.382976174354553, 39.0, 22.0 ], 217 | "text" : "+ 480" 218 | } 219 | 220 | } 221 | , { 222 | "box" : { 223 | "id" : "obj-16", 224 | "maxclass" : "newobj", 225 | "numinlets" : 2, 226 | "numoutlets" : 1, 227 | "outlettype" : [ "int" ], 228 | "patching_rect" : [ 413.829784274101257, 292.553189396858215, 29.5, 22.0 ], 229 | "text" : "- 11" 230 | } 231 | 232 | } 233 | , { 234 | "box" : { 235 | "id" : "obj-15", 236 | "maxclass" : "newobj", 237 | "numinlets" : 2, 238 | "numoutlets" : 1, 239 | "outlettype" : [ "" ], 240 | "patching_rect" : [ 413.829784274101257, 258.510636448860168, 66.0, 22.0 ], 241 | "text" : "random 23" 242 | } 243 | 244 | } 245 | , { 246 | "box" : { 247 | "id" : "obj-13", 248 | "maxclass" : "number", 249 | "numinlets" : 1, 250 | "numoutlets" : 2, 251 | "outlettype" : [ "", "bang" ], 252 | "parameter_enable" : 0, 253 | "patching_rect" : [ 532.978719592094421, 387.234039783477783, 50.0, 22.0 ] 254 | } 255 | 256 | } 257 | , { 258 | "box" : { 259 | "id" : "obj-14", 260 | "maxclass" : "newobj", 261 | "numinlets" : 1, 262 | "numoutlets" : 1, 263 | "outlettype" : [ "" ], 264 | "patching_rect" : [ 532.978719592094421, 423.404252290725708, 88.0, 22.0 ], 265 | "text" : "prepend pos_y" 266 | } 267 | 268 | } 269 | , { 270 | "box" : { 271 | "id" : "obj-12", 272 | "maxclass" : "number", 273 | "numinlets" : 1, 274 | "numoutlets" : 2, 275 | "outlettype" : [ "", "bang" ], 276 | "parameter_enable" : 0, 277 | "patching_rect" : [ 413.829784274101257, 387.234039783477783, 50.0, 22.0 ] 278 | } 279 | 280 | } 281 | , { 282 | "box" : { 283 | "id" : "obj-11", 284 | "maxclass" : "newobj", 285 | "numinlets" : 1, 286 | "numoutlets" : 1, 287 | "outlettype" : [ "" ], 288 | "patching_rect" : [ 413.829784274101257, 423.404252290725708, 88.0, 22.0 ], 289 | "text" : "prepend pos_x" 290 | } 291 | 292 | } 293 | , { 294 | "box" : { 295 | "id" : "obj-9", 296 | "maxclass" : "newobj", 297 | "numinlets" : 1, 298 | "numoutlets" : 2, 299 | "outlettype" : [ "jit_matrix", "" ], 300 | "patching_rect" : [ 348.93616771697998, 525.531911134719849, 271.0, 22.0 ], 301 | "text" : "jit.gl.videoplane WINDOW @preserve_aspect 1 1" 302 | } 303 | 304 | } 305 | , { 306 | "box" : { 307 | "id" : "obj-8", 308 | "maxclass" : "newobj", 309 | "numinlets" : 2, 310 | "numoutlets" : 2, 311 | "outlettype" : [ "jit_matrix", "" ], 312 | "patcher" : { 313 | "fileversion" : 1, 314 | "appversion" : { 315 | "major" : 8, 316 | "minor" : 6, 317 | "revision" : 2, 318 | "architecture" : "x64", 319 | "modernui" : 1 320 | } 321 | , 322 | "classnamespace" : "jit.gen", 323 | "rect" : [ 534.0, 386.0, 600.0, 450.0 ], 324 | "bglocked" : 0, 325 | "openinpresentation" : 0, 326 | "default_fontsize" : 12.0, 327 | "default_fontface" : 0, 328 | "default_fontname" : "Arial", 329 | "gridonopen" : 1, 330 | "gridsize" : [ 15.0, 15.0 ], 331 | "gridsnaponopen" : 1, 332 | "objectsnaponopen" : 1, 333 | "statusbarvisible" : 2, 334 | "toolbarvisible" : 1, 335 | "lefttoolbarpinned" : 0, 336 | "toptoolbarpinned" : 0, 337 | "righttoolbarpinned" : 0, 338 | "bottomtoolbarpinned" : 0, 339 | "toolbars_unpinned_last_save" : 0, 340 | "tallnewobj" : 0, 341 | "boxanimatetime" : 200, 342 | "enablehscroll" : 1, 343 | "enablevscroll" : 1, 344 | "devicewidth" : 0.0, 345 | "description" : "", 346 | "digest" : "", 347 | "tags" : "", 348 | "style" : "", 349 | "subpatcher_template" : "", 350 | "assistshowspatchername" : 0, 351 | "boxes" : [ { 352 | "box" : { 353 | "id" : "obj-14", 354 | "maxclass" : "newobj", 355 | "numinlets" : 2, 356 | "numoutlets" : 1, 357 | "outlettype" : [ "" ], 358 | "patching_rect" : [ 79.0, 332.0, 29.5, 22.0 ], 359 | "text" : "+" 360 | } 361 | 362 | } 363 | , { 364 | "box" : { 365 | "id" : "obj-13", 366 | "maxclass" : "newobj", 367 | "numinlets" : 0, 368 | "numoutlets" : 1, 369 | "outlettype" : [ "" ], 370 | "patching_rect" : [ 81.0, 242.0, 19.0, 22.0 ], 371 | "text" : "0" 372 | } 373 | 374 | } 375 | , { 376 | "box" : { 377 | "id" : "obj-12", 378 | "maxclass" : "newobj", 379 | "numinlets" : 0, 380 | "numoutlets" : 1, 381 | "outlettype" : [ "" ], 382 | "patching_rect" : [ 50.0, 242.0, 19.0, 22.0 ], 383 | "text" : "8" 384 | } 385 | 386 | } 387 | , { 388 | "box" : { 389 | "id" : "obj-11", 390 | "maxclass" : "newobj", 391 | "numinlets" : 3, 392 | "numoutlets" : 1, 393 | "outlettype" : [ "" ], 394 | "patching_rect" : [ 63.0, 293.0, 71.0, 22.0 ], 395 | "text" : "smoothstep" 396 | } 397 | 398 | } 399 | , { 400 | "box" : { 401 | "id" : "obj-10", 402 | "maxclass" : "newobj", 403 | "numinlets" : 1, 404 | "numoutlets" : 1, 405 | "outlettype" : [ "" ], 406 | "patching_rect" : [ 115.0, 237.0, 41.0, 22.0 ], 407 | "text" : "length" 408 | } 409 | 410 | } 411 | , { 412 | "box" : { 413 | "id" : "obj-9", 414 | "maxclass" : "newobj", 415 | "numinlets" : 2, 416 | "numoutlets" : 1, 417 | "outlettype" : [ "" ], 418 | "patching_rect" : [ 115.0, 206.0, 29.5, 22.0 ], 419 | "text" : "-" 420 | } 421 | 422 | } 423 | , { 424 | "box" : { 425 | "id" : "obj-8", 426 | "maxclass" : "newobj", 427 | "numinlets" : 0, 428 | "numoutlets" : 1, 429 | "outlettype" : [ "" ], 430 | "patching_rect" : [ 115.0, 160.0, 27.0, 22.0 ], 431 | "text" : "cell" 432 | } 433 | 434 | } 435 | , { 436 | "box" : { 437 | "id" : "obj-7", 438 | "maxclass" : "newobj", 439 | "numinlets" : 2, 440 | "numoutlets" : 1, 441 | "outlettype" : [ "" ], 442 | "patching_rect" : [ 203.0, 160.0, 47.0, 22.0 ], 443 | "text" : "vec 1 1" 444 | } 445 | 446 | } 447 | , { 448 | "box" : { 449 | "id" : "obj-6", 450 | "maxclass" : "newobj", 451 | "numinlets" : 0, 452 | "numoutlets" : 1, 453 | "outlettype" : [ "" ], 454 | "patching_rect" : [ 316.0, 121.0, 101.0, 22.0 ], 455 | "text" : "param pos_y 100" 456 | } 457 | 458 | } 459 | , { 460 | "box" : { 461 | "id" : "obj-5", 462 | "maxclass" : "newobj", 463 | "numinlets" : 0, 464 | "numoutlets" : 1, 465 | "outlettype" : [ "" ], 466 | "patching_rect" : [ 203.0, 121.0, 101.0, 22.0 ], 467 | "text" : "param pos_x 100" 468 | } 469 | 470 | } 471 | , { 472 | "box" : { 473 | "id" : "obj-1", 474 | "maxclass" : "newobj", 475 | "numinlets" : 0, 476 | "numoutlets" : 1, 477 | "outlettype" : [ "" ], 478 | "patching_rect" : [ 50.0, 14.0, 28.0, 22.0 ], 479 | "text" : "in 1" 480 | } 481 | 482 | } 483 | , { 484 | "box" : { 485 | "id" : "obj-2", 486 | "maxclass" : "newobj", 487 | "numinlets" : 0, 488 | "numoutlets" : 1, 489 | "outlettype" : [ "" ], 490 | "patching_rect" : [ 183.0, 293.0, 28.0, 22.0 ], 491 | "text" : "in 2" 492 | } 493 | 494 | } 495 | , { 496 | "box" : { 497 | "id" : "obj-4", 498 | "maxclass" : "newobj", 499 | "numinlets" : 1, 500 | "numoutlets" : 0, 501 | "patching_rect" : [ 176.0, 418.0, 35.0, 22.0 ], 502 | "text" : "out 1" 503 | } 504 | 505 | } 506 | ], 507 | "lines" : [ { 508 | "patchline" : { 509 | "destination" : [ "obj-11", 2 ], 510 | "source" : [ "obj-10", 0 ] 511 | } 512 | 513 | } 514 | , { 515 | "patchline" : { 516 | "destination" : [ "obj-14", 0 ], 517 | "source" : [ "obj-11", 0 ] 518 | } 519 | 520 | } 521 | , { 522 | "patchline" : { 523 | "destination" : [ "obj-11", 0 ], 524 | "source" : [ "obj-12", 0 ] 525 | } 526 | 527 | } 528 | , { 529 | "patchline" : { 530 | "destination" : [ "obj-11", 1 ], 531 | "source" : [ "obj-13", 0 ] 532 | } 533 | 534 | } 535 | , { 536 | "patchline" : { 537 | "destination" : [ "obj-4", 0 ], 538 | "source" : [ "obj-14", 0 ] 539 | } 540 | 541 | } 542 | , { 543 | "patchline" : { 544 | "destination" : [ "obj-14", 1 ], 545 | "source" : [ "obj-2", 0 ] 546 | } 547 | 548 | } 549 | , { 550 | "patchline" : { 551 | "destination" : [ "obj-7", 0 ], 552 | "source" : [ "obj-5", 0 ] 553 | } 554 | 555 | } 556 | , { 557 | "patchline" : { 558 | "destination" : [ "obj-7", 1 ], 559 | "source" : [ "obj-6", 0 ] 560 | } 561 | 562 | } 563 | , { 564 | "patchline" : { 565 | "destination" : [ "obj-9", 1 ], 566 | "source" : [ "obj-7", 0 ] 567 | } 568 | 569 | } 570 | , { 571 | "patchline" : { 572 | "destination" : [ "obj-9", 0 ], 573 | "source" : [ "obj-8", 0 ] 574 | } 575 | 576 | } 577 | , { 578 | "patchline" : { 579 | "destination" : [ "obj-10", 0 ], 580 | "source" : [ "obj-9", 0 ] 581 | } 582 | 583 | } 584 | ] 585 | } 586 | , 587 | "patching_rect" : [ 348.93616771697998, 471.276592373847961, 41.0, 22.0 ], 588 | "text" : "jit.gen" 589 | } 590 | 591 | } 592 | , { 593 | "box" : { 594 | "id" : "obj-7", 595 | "maxclass" : "newobj", 596 | "numinlets" : 1, 597 | "numoutlets" : 2, 598 | "outlettype" : [ "jit_matrix", "" ], 599 | "patching_rect" : [ 348.93616771697998, 178.723402976989746, 149.0, 22.0 ], 600 | "text" : "jit.matrix 3 float32 960 540" 601 | } 602 | 603 | } 604 | , { 605 | "box" : { 606 | "id" : "obj-6", 607 | "maxclass" : "newobj", 608 | "numinlets" : 0, 609 | "numoutlets" : 1, 610 | "outlettype" : [ "" ], 611 | "patching_rect" : [ 348.93616771697998, 126.595743775367737, 47.0, 22.0 ], 612 | "text" : "r metro" 613 | } 614 | 615 | } 616 | , { 617 | "box" : { 618 | "fontface" : 0, 619 | "fontname" : "Arial", 620 | "fontsize" : 12.0, 621 | "id" : "obj-5", 622 | "maxclass" : "jit.fpsgui", 623 | "numinlets" : 1, 624 | "numoutlets" : 2, 625 | "outlettype" : [ "", "" ], 626 | "patching_rect" : [ 635.106378436088562, 119.148935317993164, 80.0, 36.0 ] 627 | } 628 | 629 | } 630 | , { 631 | "box" : { 632 | "id" : "obj-4", 633 | "maxclass" : "newobj", 634 | "numinlets" : 1, 635 | "numoutlets" : 0, 636 | "patching_rect" : [ 536.170208930969238, 122.340424656867981, 49.0, 22.0 ], 637 | "text" : "s metro" 638 | } 639 | 640 | } 641 | , { 642 | "box" : { 643 | "id" : "obj-3", 644 | "maxclass" : "toggle", 645 | "numinlets" : 1, 646 | "numoutlets" : 1, 647 | "outlettype" : [ "int" ], 648 | "parameter_enable" : 0, 649 | "patching_rect" : [ 341.489359259605408, 17.021276473999023, 24.0, 24.0 ] 650 | } 651 | 652 | } 653 | , { 654 | "box" : { 655 | "id" : "obj-2", 656 | "maxclass" : "newobj", 657 | "numinlets" : 1, 658 | "numoutlets" : 3, 659 | "outlettype" : [ "jit_matrix", "bang", "" ], 660 | "patching_rect" : [ 341.489359259605408, 74.468084573745728, 410.0, 22.0 ], 661 | "text" : "jit.world WINDOW @fsaa 1 @size 960 540 @erase_color 0 0 0 1 @fps 120" 662 | } 663 | 664 | } 665 | , { 666 | "box" : { 667 | "fontsize" : 16.0, 668 | "id" : "obj-22", 669 | "linecount" : 10, 670 | "maxclass" : "comment", 671 | "numinlets" : 1, 672 | "numoutlets" : 0, 673 | "patching_rect" : [ 5.0, 17.0, 323.0, 191.0 ], 674 | "text" : "Nature of Node \nRe-implement of Nature of Code.\nExample 0.1: A Traditional Random Walk\n\nhttps://github.com/code-2-art/natureofnode\n\nMax patch by @avantcontra\nhttps://avantcontra.com/about/\nhttps://www.youtube.com/user/avantcontra\n公众号:实验编程" 675 | } 676 | 677 | } 678 | ], 679 | "lines" : [ { 680 | "patchline" : { 681 | "destination" : [ "obj-8", 0 ], 682 | "source" : [ "obj-11", 0 ] 683 | } 684 | 685 | } 686 | , { 687 | "patchline" : { 688 | "destination" : [ "obj-11", 0 ], 689 | "source" : [ "obj-12", 0 ] 690 | } 691 | 692 | } 693 | , { 694 | "patchline" : { 695 | "destination" : [ "obj-14", 0 ], 696 | "source" : [ "obj-13", 0 ] 697 | } 698 | 699 | } 700 | , { 701 | "patchline" : { 702 | "destination" : [ "obj-8", 0 ], 703 | "source" : [ "obj-14", 0 ] 704 | } 705 | 706 | } 707 | , { 708 | "patchline" : { 709 | "destination" : [ "obj-16", 0 ], 710 | "source" : [ "obj-15", 0 ] 711 | } 712 | 713 | } 714 | , { 715 | "patchline" : { 716 | "destination" : [ "obj-29", 0 ], 717 | "source" : [ "obj-16", 0 ] 718 | } 719 | 720 | } 721 | , { 722 | "patchline" : { 723 | "destination" : [ "obj-12", 0 ], 724 | "source" : [ "obj-17", 0 ] 725 | } 726 | 727 | } 728 | , { 729 | "patchline" : { 730 | "destination" : [ "obj-15", 0 ], 731 | "source" : [ "obj-18", 0 ] 732 | } 733 | 734 | } 735 | , { 736 | "patchline" : { 737 | "destination" : [ "obj-23", 0 ], 738 | "source" : [ "obj-19", 0 ] 739 | } 740 | 741 | } 742 | , { 743 | "patchline" : { 744 | "destination" : [ "obj-4", 0 ], 745 | "order" : 1, 746 | "source" : [ "obj-2", 1 ] 747 | } 748 | 749 | } 750 | , { 751 | "patchline" : { 752 | "destination" : [ "obj-5", 0 ], 753 | "order" : 0, 754 | "source" : [ "obj-2", 1 ] 755 | } 756 | 757 | } 758 | , { 759 | "patchline" : { 760 | "destination" : [ "obj-13", 0 ], 761 | "source" : [ "obj-20", 0 ] 762 | } 763 | 764 | } 765 | , { 766 | "patchline" : { 767 | "destination" : [ "obj-32", 0 ], 768 | "source" : [ "obj-21", 0 ] 769 | } 770 | 771 | } 772 | , { 773 | "patchline" : { 774 | "destination" : [ "obj-21", 0 ], 775 | "source" : [ "obj-23", 0 ] 776 | } 777 | 778 | } 779 | , { 780 | "patchline" : { 781 | "destination" : [ "obj-8", 1 ], 782 | "source" : [ "obj-24", 0 ] 783 | } 784 | 785 | } 786 | , { 787 | "patchline" : { 788 | "destination" : [ "obj-26", 0 ], 789 | "order" : 2, 790 | "source" : [ "obj-25", 0 ] 791 | } 792 | 793 | } 794 | , { 795 | "patchline" : { 796 | "destination" : [ "obj-27", 0 ], 797 | "order" : 1, 798 | "source" : [ "obj-25", 0 ] 799 | } 800 | 801 | } 802 | , { 803 | "patchline" : { 804 | "destination" : [ "obj-28", 0 ], 805 | "order" : 0, 806 | "source" : [ "obj-25", 0 ] 807 | } 808 | 809 | } 810 | , { 811 | "patchline" : { 812 | "destination" : [ "obj-29", 1 ], 813 | "source" : [ "obj-26", 0 ] 814 | } 815 | 816 | } 817 | , { 818 | "patchline" : { 819 | "destination" : [ "obj-32", 1 ], 820 | "source" : [ "obj-27", 0 ] 821 | } 822 | 823 | } 824 | , { 825 | "patchline" : { 826 | "destination" : [ "obj-24", 0 ], 827 | "order" : 0, 828 | "source" : [ "obj-28", 0 ] 829 | } 830 | 831 | } 832 | , { 833 | "patchline" : { 834 | "destination" : [ "obj-8", 0 ], 835 | "order" : 1, 836 | "source" : [ "obj-28", 0 ] 837 | } 838 | 839 | } 840 | , { 841 | "patchline" : { 842 | "destination" : [ "obj-17", 0 ], 843 | "order" : 1, 844 | "source" : [ "obj-29", 0 ] 845 | } 846 | 847 | } 848 | , { 849 | "patchline" : { 850 | "destination" : [ "obj-30", 0 ], 851 | "order" : 0, 852 | "source" : [ "obj-29", 0 ] 853 | } 854 | 855 | } 856 | , { 857 | "patchline" : { 858 | "destination" : [ "obj-2", 0 ], 859 | "source" : [ "obj-3", 0 ] 860 | } 861 | 862 | } 863 | , { 864 | "patchline" : { 865 | "destination" : [ "obj-29", 1 ], 866 | "source" : [ "obj-30", 0 ] 867 | } 868 | 869 | } 870 | , { 871 | "patchline" : { 872 | "destination" : [ "obj-32", 1 ], 873 | "source" : [ "obj-31", 0 ] 874 | } 875 | 876 | } 877 | , { 878 | "patchline" : { 879 | "destination" : [ "obj-20", 0 ], 880 | "order" : 1, 881 | "source" : [ "obj-32", 0 ] 882 | } 883 | 884 | } 885 | , { 886 | "patchline" : { 887 | "destination" : [ "obj-31", 0 ], 888 | "order" : 0, 889 | "source" : [ "obj-32", 0 ] 890 | } 891 | 892 | } 893 | , { 894 | "patchline" : { 895 | "destination" : [ "obj-7", 0 ], 896 | "source" : [ "obj-6", 0 ] 897 | } 898 | 899 | } 900 | , { 901 | "patchline" : { 902 | "destination" : [ "obj-8", 0 ], 903 | "source" : [ "obj-7", 0 ] 904 | } 905 | 906 | } 907 | , { 908 | "patchline" : { 909 | "destination" : [ "obj-24", 0 ], 910 | "order" : 0, 911 | "source" : [ "obj-8", 0 ] 912 | } 913 | 914 | } 915 | , { 916 | "patchline" : { 917 | "destination" : [ "obj-9", 0 ], 918 | "order" : 1, 919 | "source" : [ "obj-8", 0 ] 920 | } 921 | 922 | } 923 | ], 924 | "dependency_cache" : [ ], 925 | "autosave" : 0 926 | } 927 | 928 | } 929 | -------------------------------------------------------------------------------- /maxmsp/non-examples0.1-random-walk.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/maxmsp/non-examples0.1-random-walk.jpg -------------------------------------------------------------------------------- /touchdesigner/00_randomness/non-ex-0-1-RandomWalkTraditional.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/00_randomness/non-ex-0-1-RandomWalkTraditional.toe -------------------------------------------------------------------------------- /touchdesigner/00_randomness/non-ex-0-10-NoiseTerrain.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/00_randomness/non-ex-0-10-NoiseTerrain.toe -------------------------------------------------------------------------------- /touchdesigner/00_randomness/non-ex-0-2-RandomDistribution.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/00_randomness/non-ex-0-2-RandomDistribution.toe -------------------------------------------------------------------------------- /touchdesigner/00_randomness/non-ex-0-3-RandomWalkerThatTendsTo4Directions .toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/00_randomness/non-ex-0-3-RandomWalkerThatTendsTo4Directions .toe -------------------------------------------------------------------------------- /touchdesigner/00_randomness/non-ex-0-4-GaussianDistribution.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/00_randomness/non-ex-0-4-GaussianDistribution.toe -------------------------------------------------------------------------------- /touchdesigner/00_randomness/non-ex-0-5-Accept-RejectDistribution.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/00_randomness/non-ex-0-5-Accept-RejectDistribution.toe -------------------------------------------------------------------------------- /touchdesigner/00_randomness/non-ex-0-6-APerlinNoiseWalker.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/00_randomness/non-ex-0-6-APerlinNoiseWalker.toe -------------------------------------------------------------------------------- /touchdesigner/01_vector/non-ex-1-1-BouncingBallWithNoVectors.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/01_vector/non-ex-1-1-BouncingBallWithNoVectors.toe -------------------------------------------------------------------------------- /touchdesigner/01_vector/non-ex-1-10-Motion_101_Acceleration.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/01_vector/non-ex-1-10-Motion_101_Acceleration.toe -------------------------------------------------------------------------------- /touchdesigner/01_vector/non-ex-1-2-BallWithVectors.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/01_vector/non-ex-1-2-BallWithVectors.toe -------------------------------------------------------------------------------- /touchdesigner/01_vector/non-ex-1-3-VectorSubtraction.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/01_vector/non-ex-1-3-VectorSubtraction.toe -------------------------------------------------------------------------------- /touchdesigner/01_vector/non-ex-1-4-VectorMultiplication.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/01_vector/non-ex-1-4-VectorMultiplication.toe -------------------------------------------------------------------------------- /touchdesigner/01_vector/non-ex-1-5-VectorMagnitude.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/01_vector/non-ex-1-5-VectorMagnitude.toe -------------------------------------------------------------------------------- /touchdesigner/01_vector/non-ex-1-6-VectorNormalize.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/01_vector/non-ex-1-6-VectorNormalize.toe -------------------------------------------------------------------------------- /touchdesigner/01_vector/non-ex-1-7-Motion_101_Velocity.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/01_vector/non-ex-1-7-Motion_101_Velocity.toe -------------------------------------------------------------------------------- /touchdesigner/01_vector/non-ex-1-8-Motion_101_velocityAndConstantAcceleration.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/01_vector/non-ex-1-8-Motion_101_velocityAndConstantAcceleration.toe -------------------------------------------------------------------------------- /touchdesigner/01_vector/non-ex-1-9-Motion_101_VelocityAndRandomAcceleration.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/01_vector/non-ex-1-9-Motion_101_VelocityAndRandomAcceleration.toe -------------------------------------------------------------------------------- /touchdesigner/02_force/non-ex-2-1-Forces.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/02_force/non-ex-2-1-Forces.toe -------------------------------------------------------------------------------- /touchdesigner/02_force/non-ex-2-2-ForcesMany.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/02_force/non-ex-2-2-ForcesMany.toe -------------------------------------------------------------------------------- /touchdesigner/02_force/non-ex-2-3-ForcesManyRealG.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/02_force/non-ex-2-3-ForcesManyRealG.toe -------------------------------------------------------------------------------- /touchdesigner/02_force/non-ex-2-4-ForcesManyRealGFriction.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/02_force/non-ex-2-4-ForcesManyRealGFriction.toe -------------------------------------------------------------------------------- /touchdesigner/02_force/non-ex-2-5FluidResistance.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/code-2-art/natureofnode/bf7448d228490f4aba979f1a290a012a5f40fb59/touchdesigner/02_force/non-ex-2-5FluidResistance.toe --------------------------------------------------------------------------------