9 Commits

Author SHA1 Message Date
Nayan Sawyer
5135e3ad90 Revise blog link text in README
Updated blog link text for clarity.
2026-03-16 16:22:38 -04:00
Nayan Sawyer
60de46a657 Update README with blog link for B12NumbersV3
Added a link to the blog for more information about B12NumbersV3.
2026-03-16 16:22:22 -04:00
Nayan Sawyer
a586ace0ad Update README.md 2022-10-28 14:03:33 -04:00
Nayan Sawyer
659c6fba50 Update README.md 2022-10-28 14:03:18 -04:00
Nayan Sawyer
2e54b39771 Update README.md 2022-10-28 13:59:37 -04:00
Nayan Sawyer
7311164c47 Update README.md 2022-10-28 13:59:20 -04:00
61616
ff5ac1f410 Text updates v1.0.0.2 2022-10-28 13:49:47 -04:00
61616
439d5c4161 Update zchangelog.pde 2022-10-28 13:35:20 -04:00
Nayan Sawyer
a621b36d5c Create LICENSE 2022-10-28 13:32:42 -04:00
5 changed files with 56 additions and 90 deletions

View File

@@ -1,14 +1,15 @@
/** /**
* Nayan Sawyer ns9573@bard.edu * Base 12 Toolkit
* Nayan Sawyer
* May 21 2022 * May 21 2022
* CMSC 141
* Final Project: Base 12 Toolkit
* *
* Comments/Reflections: The calculator uses B12Expression, MathPad, B12Button, and MathDisplay. * Comments/Reflections: The calculator uses B12Expression, MathPad, B12Button, and MathDisplay.
* The clock app uses Clock, Stopwatch, Timer, and TimeDisplay * The clock app uses Clock, Stopwatch, Timer, and TimeDisplay
* *
* Collaboration Statement: I used the processing docs, method relay code by Quark - see https://forum.processing.org/two/discussion/13093/how-to-call-function-by-string-content.html * This project uses method relay code by Quark that has been modified
* and the exp4j library see - https://www.objecthunter.net/exp4j/index.html * - see https://forum.processing.org/two/discussion/13093/how-to-call-function-by-string-content.html for the source code
* This project uses the exp4j library unmodified, which is available under the Apache 2.0 license
* - see https://www.objecthunter.net/exp4j/index.html
*/ */
import net.objecthunter.exp4j.*; // Math expression evaluation library import net.objecthunter.exp4j.*; // Math expression evaluation library

View File

@@ -1,70 +0,0 @@
/*
B12NumbersV3
Beta version of a clock in base 12.
by Nayan Sawyer
started Mar 2022
version 0.1.4.3 April 30 2022
Characters are a variation of Kaktovik Inupiaq numerals
reversed and in base 12 instead of 20. I take no credit
for the design.
Includes method relay code be Quark - see https://forum.processing.org/two/discussion/13093/how-to-call-function-by-string-content.html
for more details.
changelog 0.1.4.0
- Added MethodRelay code from Quark. Some fixes and
changes as well. Condesed some things into fewer files
for so the ide is easier to use, but they will be moved
back into their own files as version 1.0 approaches.
Everything is prep for adding gui elements (MethodRelay
included)
changelog 0.1.3
- Deprecated B12Char by rolling it's code into B12Digit.
Makes for easier to handle arrays, and will hopefully
make implementing the math functionality much easier.
It appears that only Clock may need true refactoring to
make the most of this change. B12Int and B12Float seem
to be fine with simply swithing out the reference.
*/
float scale = 2;
PVector offset;
float sMouseX;
float sMouseY;
public static final int DECIMAL = 65;
ClickHandler ch; // Mouse event handler
Calculator calc; ///blblblblb //<>//
void setup(){
size(400,400);
offset = new PVector(width/2, height/2);
ch = new ClickHandler();
}
void draw(){
background(196);
sMouseX = (mouseX - offset.x)/scale;
sMouseY = (mouseY - offset.y)/scale;
translate(offset.x,offset.y);
scale(scale);
point(0,0);
m.display();
clock.display();
//p.display();
t.display();
//println( + " " + ;
}
void mouseClicked(){
//clock.setTime(new Time48(16,0,0));
// Every clickable element needs check whether the mouse is over it every frame, and if both clicked and mouseover then do action.
ch.cascade(sMouseX, sMouseY);
}
void call(String _call){
method(_call);
}

View File

@@ -1,15 +1,15 @@
/* /*
B12NumbersV3 B12NumbersV3
Beta version of a clock in base 12. Beta version of a clock and calculator in base 12.
by Nayan Sawyer by Nayan Sawyer
started Mar 2022 started Mar 2022
version 1.0.0.1 May 20 2022 version 1.0.0.2 Oct 28 2022
Characters are a variation of Kaktovik Inupiaq numerals Characters are a variation of Kaktovik Inupiaq numerals,
reversed and in base 12 instead of 20. I take no credit the orientation of which has been flipped and in base 12
for the design. instead of 20. I take no credit for the design.
Includes method relay code by Quark - see https://forum.processing.org/two/discussion/13093/how-to-call-function-by-string-content.html Includes method relay code by Quark - see https://forum.processing.org/two/discussion/13093/how-to-call-function-by-string-content.html
for more details, and the library exp4j for evaluating mathematical expressions. for more details. Also includes the library exp4j for evaluating mathematical expressions.
// DONE put everything back into seperate tabs // DONE put everything back into seperate tabs
// DONE fully document everything // DONE fully document everything
@@ -30,6 +30,9 @@
- negative signs when timer ends (not urgent) - negative signs when timer ends (not urgent)
- B12Digit.setValue() does not check input and only accepts ints - B12Digit.setValue() does not check input and only accepts ints
- B12Digit.getValue() returns int not byte - B12Digit.getValue() returns int not byte
changelog 1.0.0.2
- Added license and updated main B12NumbersV3 text header
changelog 1.0.0.1 changelog 1.0.0.1
- Some bug fixes, made more things private, and fixed - Some bug fixes, made more things private, and fixed

29
LICENSE Normal file
View File

@@ -0,0 +1,29 @@
BSD 3-Clause License
Copyright (c) 2022, Nayan Sawyer
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -1,16 +1,19 @@
# B12NumbersV3 # B12NumbersV3
Release version 1.0.0.0 now available! see [releases](https://github.com/GShadow5/B12NumbersBeta1/releases) for a download Release version 1.0.0.1 now available! see [releases](https://github.com/GShadow5/B12NumbersBeta1/releases) for a download
The characters are designed after the ingenious Kaktovik Iñupiaq numerals, which were created by a group of middle schoolers in Kaktovik Alaska, to represent the base 20 counting system in Iñupiaq, their Inuit language. Read the full write up on my blog [here](http://localhost:4321/blog/portfolio/b12numbersv3?referrer=github)!
I take no credit for the design of the characters. I have merely co-opted the design for the development of this project because it is elegant and convenient to use for compound base number systems, and looks nothing like the Arabic numeral system. Note - changes after 1.0.0.1 are source code text only, and do not impact the release version
The project is currently in the stage where I am building all of the component parts, so the code does not yet do much when run. This is a basic clock and calculator app that represents all numbers using base 12. The characters are designed after the ingenious Kaktovik Iñupiaq numerals, which were created by a group of middle schoolers in Kaktovik Alaska, to represent the base 20 counting system in Iñupiaq, their Inuit language. I take no credit for the design of the characters. I have merely co-opted the design for the development of this project because it is elegant and convenient to use for compound base number systems, and looks nothing like the Arabic numeral system.
The time system is now complete with robust syncing and offset features. The base 12 time system works slightly differently from our regular base 60 time. The current functionality includes a clock, stopwatch, and timer, all of which run slower than normal time, as days are broken into 24 hours/day, 48 minutes/hour, and 48 seconds/minute. Also included is a calculator for doing math operations in base 12.
Hours are still 24, but because it's in base 12, 10 is noon. The number system is such that horizontal ticks on top represent multiples of four, and vertical ticks represent multiples of one. Decimal 11 is 2 horizontal ticks, and 3 vertical ticks. (8 + 3)
Minutes: there are now 48 minutes in an hour
Seconds: there are now 48 seconds in a minute
The number system is such that horizontal ticks on top represent multiples of four, and vertical ticks represent multiples of one. Decimal 11 is 2 horizontal ticks, and 3 vertical ticks. I had grander plans for this program, but once I got into the details of how to construct event handlers for the mouse, and discovered that singletons are not allowed in Processing, I decided to postpone this project indefinitely. I am currently learning Vulkan and C++, and I hope to do more UI stuff using that at some point in the future, so I will probably remake this project someday, but until then this is all there is.
## How to run
If you have Processing installed all you need to do is download the source code and open B12NumbersV3.pde in the Processing IDE
Alternatively, if you are on windows you can download the release version from the [releases](https://github.com/GShadow5/B12NumbersBeta1/releases) page, unzip it, and run the .exe file.