| |
| """ |
| Standard Mathematical Fractal Generator & Cryptographic Chain Verifier |
| |
| This script provides two functional, objective programming tools: |
| 1. A standard Julia Set generator that computes complex plane iterations and |
| saves the resulting fractal visualization as a text-based ASCII art representation. |
| 2. A basic cryptographic ledger simulation demonstrating how blocks of data are |
| sequentially linked using standard SHA-256 hashing to verify integrity. |
| """ |
|
|
| import hashlib |
| import json |
| import time |
|
|
| |
| |
| |
|
|
| class SimpleBlock: |
| def __init__(self, index, previous_hash, timestamp, data): |
| self.index = index |
| self.previous_hash = previous_hash |
| self.timestamp = timestamp |
| self.data = data |
| self.hash = self.calculate_hash() |
|
|
| def calculate_hash(self): |
| """Computes a standard SHA-256 hash of the block contents.""" |
| block_string = json.dumps({ |
| "index": self.index, |
| "previous_hash": self.previous_hash, |
| "timestamp": self.timestamp, |
| "data": self.data |
| }, sort_keys=True) |
| return hashlib.sha256(block_string.encode('utf-8')).hexdigest() |
|
|
|
|
| class SimpleLedger: |
| def __init__(self): |
| self.chain = [self.create_genesis_block()] |
|
|
| def create_genesis_block(self): |
| """Initializes the chain with a standard static starting block.""" |
| return SimpleBlock(0, "0", 1718300000, "Genesis Data") |
|
|
| def get_latest_block(self): |
| return self.chain[-1] |
|
|
| def add_data(self, data): |
| """Appends a new block containing arbitrary verification data.""" |
| latest = self.get_latest_block() |
| new_block = SimpleBlock( |
| index=latest.index + 1, |
| previous_hash=latest.hash, |
| timestamp=int(time.time()), |
| data=data |
| ) |
| self.chain.append(new_block) |
| return new_block |
|
|
| def verify_integrity(self): |
| """ |
| Walks the chain block-by-block to confirm that hashes match |
| and the cryptographic sequence is unbroken. |
| """ |
| for i in range(1, len(self.chain)): |
| current = self.chain[i] |
| previous = self.chain[i-1] |
|
|
| |
| if current.hash != current.calculate_hash(): |
| return False, f"Block {i} data has been altered." |
|
|
| |
| if current.previous_hash != previous.hash: |
| return False, f"Block {i} link to Block {i-1} is broken." |
|
|
| return True, "Ledger integrity verified. Sequence is intact." |
|
|
|
|
| |
| |
| |
|
|
| def generate_ascii_julia(width=80, height=40, max_iter=30, c_real=-0.7, c_imag=0.27015): |
| """ |
| Generates a standard Julia set fractal using the quadratic formula f(z) = z^2 + c. |
| Outputs a text-based (ASCII) representation of the fractal boundaries. |
| """ |
| |
| x_min, x_max = -1.5, 1.5 |
| y_min, y_max = -1.0, 1.0 |
|
|
| |
| chars = " .:-=+*#%@" |
|
|
| output = [] |
| for y_img in range(height): |
| row = "" |
| |
| zy = y_min + (y_img / (height - 1)) * (y_max - y_min) |
| for x_img in range(width): |
| |
| zx = x_min + (x_img / (width - 1)) * (x_max - x_min) |
|
|
| z = complex(zx, zy) |
| c = complex(c_real, c_imag) |
|
|
| n = 0 |
| |
| while abs(z) <= 2.0 and n < max_iter: |
| z = z**2 + c |
| n += 1 |
|
|
| |
| char_index = int((n / max_iter) * (len(chars) - 1)) |
| row += chars[char_index] |
| output.append(row) |
|
|
| return "\n".join(output) |
|
|
|
|
| |
| |
| |
|
|
| if __name__ == "__main__": |
| print("=" * 80) |
| print(" OBJECTIVE MATHEMATICS & LOGIC PLATFORM") |
| print("=" * 80) |
|
|
| |
| print("\n[1] Generating Julia Set Fractal (c = -0.7 + 0.27i)...") |
| print("-" * 80) |
| fractal_text = generate_ascii_julia() |
| print(fractal_text) |
| print("-" * 80) |
| print("Fractal computed successfully using standard complex iteration: z(n+1) = z(n)^2 + c") |
|
|
| |
| print("\n[2] Initializing Cryptographic Verification Ledger...") |
| ledger = SimpleLedger() |
|
|
| |
| ledger.add_data("System initialization verified.") |
| ledger.add_data("Parameter constraints checked.") |
| ledger.add_data("Heartbeat event recorded.") |
|
|
| |
| is_valid, report = ledger.verify_integrity() |
| print(f"Total blocks in ledger: {len(ledger.chain)}") |
| print(f"Audit Status: {'PASS' if is_valid else 'FAIL'}") |
| print(f"Audit Report: {report}") |
|
|
| |
| print("\nSample block entry data (Block #2):") |
| sample_block = ledger.chain[2] |
| print(json.dumps({ |
| "Index": sample_block.index, |
| "Timestamp": sample_block.timestamp, |
| "Previous Hash": sample_block.previous_hash[:16] + "...", |
| "Block Hash": sample_block.hash[:16] + "...", |
| "Payload": sample_block.data |
| }, indent=4)) |
| print("=" * 80) |