Jon Bray's banner
Jon Bray's profile picture

Jon Bray

@jonaaronbray34,313 subscribers

Shorts

His rooftop escape path exceeded 90 meters. Starting from a prone position, the shooter would have needed to stand up, turn around, secure his rifle, and then sprint across a gravel roof—all in under 24 seconds. Even using his observed path across the grass as a generous benchmark for speed, covering that same 90-meter distance on the rooftop would have been physically impossible within the official narrative’s timeline.

His rooftop escape path exceeded 90 meters. Starting from a prone position, the shooter would have needed to stand up, turn around, secure his rifle, and then sprint across a gravel roof—all in under 24 seconds. Even using his observed path across the grass as a generous benchmark for speed, covering that same 90-meter distance on the rooftop would have been physically impossible within the official narrative’s timeline.

20,628 次观看

Jake Shields "The same type of genius" that planned the Lebanon pager attacks killed Charlie with his wireless microphone.

Sensitive content

Jake Shields "The same type of genius" that planned the Lebanon pager attacks killed Charlie with his wireless microphone.

575,045 次观看

The last post was flagged and my account was locked. Looks like my days are numbered on this platform. Regardless here is a blurred version.... nothing about what we witnessed suggest that Charlie was shot from any angle that day. The epicenter of shirt deformation, flesh cavitation, necklace trajectory and shrapnel all point to area underneath his RØDE Wireless PRO transmitter. Nothing else can explain what we witnessed. Soon I will replicate the event and leave no doubt.

Sensitive content

The last post was flagged and my account was locked. Looks like my days are numbered on this platform. Regardless here is a blurred version.... nothing about what we witnessed suggest that Charlie was shot from any angle that day. The epicenter of shirt deformation, flesh cavitation, necklace trajectory and shrapnel all point to area underneath his RØDE Wireless PRO transmitter. Nothing else can explain what we witnessed. Soon I will replicate the event and leave no doubt.

182,852 次观看

The RØDE magnetic clasp stayed attached but the case underneath the shirt suffered a catastrophic failure and the fragments from it can be seen flying through the air, scattered about on the table and the floorboard of the suv. A 44mm x 44mm x 18mm bulge doesn't just disappear in a instant.

The RØDE magnetic clasp stayed attached but the case underneath the shirt suffered a catastrophic failure and the fragments from it can be seen flying through the air, scattered about on the table and the floorboard of the suv. A 44mm x 44mm x 18mm bulge doesn't just disappear in a instant.

18,227 次观看

Lozzy B 🇦🇺𝕏 They have literally told us every country imaginable had "modified devices"

Lozzy B 🇦🇺𝕏 They have literally told us every country imaginable had "modified devices"

61,835 次观看

Mute the sound... This original is being used to create Cheap fakes ment to distract from the most important detail of this event. There have now been 4 videos produced and circulating as new detail evidence but anyone who analyzes the videos can find the obvious renders used to overlay the blurred areas from the original. Look at the edge of the speaker that's blocking some of Charlie's body. The original has some of the edge of the speaker blurred while the rendering fills in the edge with jagged pixels when overlayed with the rendered assets. Please refrain from using these cheap fakes as sources.

Mute the sound... This original is being used to create Cheap fakes ment to distract from the most important detail of this event. There have now been 4 videos produced and circulating as new detail evidence but anyone who analyzes the videos can find the obvious renders used to overlay the blurred areas from the original. Look at the edge of the speaker that's blocking some of Charlie's body. The original has some of the edge of the speaker blurred while the rendering fills in the edge with jagged pixels when overlayed with the rendered assets. Please refrain from using these cheap fakes as sources.

87,946 次观看

"But where's the flash?" Watch this CNN demonstration of 6g of PETN being ignited by open flame. What happens? The PETN burns with a visible flame for several seconds. Then it detonates. The detonation happens so fast there is no visible flash — the camera goes straight from fire to debris field. And here's the key: the fire that WAS there is blown OUT by the blast wave. This is not a shaped charge. This is unconfined PETN in open air. No flash. No fireball. The blast wave actually extinguishes the existing flame. Why? Three reasons: PETN's reaction zone is measured in microns and completes in nanoseconds (Anderson et al., Propellants Explosives Pyrotechnics, 2022). At gram scale, the entire detonation event is over in single-digit microseconds. A 30fps camera captures 33,000 μs per frame. The event occupies <0.03% of one frame. The visible "flash" people expect from explosions comes from compression-heating of surrounding air — not the explosive itself. At gram scale there simply isn't enough gas volume being heated to produce visible light that registers on a standard camera. In a shaped charge, it's even less visible because the energy is directed INTO the target as a hydrodynamic metal jet (Munroe effect), not radiated outward as heat and light. The Hezbollah pager attacks (Sept 2024) used 3-6g PETN per device. Watch the CCTV footage — no fireballs. Just a pop and casualties. Sandia National Labs detonates ~32mg PETN and researchers stand next to the chamber in safety glasses. No flash. No fire. "No flash = no explosive" is a Hollywood education, not a physics one. Joe Rogan shaw

"But where's the flash?" Watch this CNN demonstration of 6g of PETN being ignited by open flame. What happens? The PETN burns with a visible flame for several seconds. Then it detonates. The detonation happens so fast there is no visible flash — the camera goes straight from fire to debris field. And here's the key: the fire that WAS there is blown OUT by the blast wave. This is not a shaped charge. This is unconfined PETN in open air. No flash. No fireball. The blast wave actually extinguishes the existing flame. Why? Three reasons: PETN's reaction zone is measured in microns and completes in nanoseconds (Anderson et al., Propellants Explosives Pyrotechnics, 2022). At gram scale, the entire detonation event is over in single-digit microseconds. A 30fps camera captures 33,000 μs per frame. The event occupies <0.03% of one frame. The visible "flash" people expect from explosions comes from compression-heating of surrounding air — not the explosive itself. At gram scale there simply isn't enough gas volume being heated to produce visible light that registers on a standard camera. In a shaped charge, it's even less visible because the energy is directed INTO the target as a hydrodynamic metal jet (Munroe effect), not radiated outward as heat and light. The Hezbollah pager attacks (Sept 2024) used 3-6g PETN per device. Watch the CCTV footage — no fireballs. Just a pop and casualties. Sandia National Labs detonates ~32mg PETN and researchers stand next to the chamber in safety glasses. No flash. No fire. "No flash = no explosive" is a Hollywood education, not a physics one. Joe Rogan shaw

25,456 次观看

I conducted a comprehensive stereo directional analysis of 7 independent cell phone recordings from the UVU incident using cross-correlation-based L-R delay estimation, bandpass frequency arrival analysis, and N-wave zero-crossing detection. Here's what the audio evidence shows. Every iPhone records true stereo through dual MEMS microphones spaced ~5-7cm apart. When sound arrives from the side, one mic hears it microseconds before the other. By tracking this L-R delay over time across multiple phones at known positions, we can reconstruct where sounds originated in 3d. FINDING 1: THE STEREO EFFECT IS REAL AND GEOMETRY-DEPENDENT The side view phone shows L-R correlation of 0.652 — abnormally low for a phone recording. The opposite side phone shows 0.589. The front view shows 0.960. The critical proof: the side view's early L-R delay is +58µs (R channel leads), while the opposite side shows -30µs (L channel leads). This SIGN REVERSAL from mirror-image positions is definitive — it can only be caused by a real, spatially localized acoustic source arriving from opposite directions at each phone. Not a codec artifact. Not processing noise. Physics. This was unexpected. Every stereo recording — side, front, opposite, closest, dead center — shows the Left channel leading in the early phase of the event: - Front: -66.7µs - Dead Center: -48.1µs - Side: -33.6µs - Opposite: -30.4µs - Closest: -11.3µs A single-point explosion would produce OPPOSITE polarities from opposite sides. Instead, uniform L-leading across all positions is the signature of a PROPAGATING WAVEFRONT — like a supersonic shock — sweeping across the entire area. FINDING 3: SUPERSONIC N-WAVE SIGNATURES MAP A TRAJECTORY Supersonic objects produce characteristic N-shaped pressure waves with extremely rapid zero-crossings. I detected these across 4 of 5 stereo positions with a clear spatial gradient: - Opposite side: 123 sub-200µs zero-crossings (fastest: 22.7µs) - Front view: 15 (fastest: 45.4µs) - Canon shotgun mic: 3 (fastest: 90.7µs) - Side view: 2 (fastest: 90.7µs) - Dead center: 0 FINDING 4: THE POLARITY FLIP AT 131ms MARKS A SECOND SOURCE The side view shows a sustained polarity flip at ~131ms after event onset — the L-R delay transitions from positive to negative, meaning the dominant acoustic source SHIFTS DIRECTION relative to the phone. Meanwhile, the dead center phone shows 9 sustained polarity flips — the most of any recording — consistent with being equidistant between two spatially separated sources where small timing differences cause rapid directional ambiguity. The opposite side shows ZERO flips — steady L-leading throughout — meaning both sources are roughly in the same direction from that position. FINDING 5: TWO-PHASE SPECTRAL SIGNATURE The high-frequency peak (>2kHz, supersonic crack) precedes the low-frequency peak (<500Hz, blast/detonation) by 187ms. The spectral content shows: - HF crack arrives first at all positions - LF blast dominates later, peaking at ~250Hz - Canon shotgun mic (directional) captured 82% of energy in 800-2kHz — confirming the on-axis source had strong mid-frequency emission - Phone recordings dominated by sub-300Hz — omnidirectional pickup of the blast LIMITATIONS - AAC compression at 44.1kHz destroys HF content above ~15kHz, preventing definitive Mach number estimation - Some recordings processed through CapCut/InShot may have altered stereo fields - Phone mic separation (~5-7cm) limits angular resolution to ~15-20° - One recording (Angle 5) was mono-duplicated-to-stereo, serving as a control - Lossless recordings at ≥96kHz would be required for definitive N-wave characterization **This analysis was conducted using Python (scipy, numpy) with cross-correlation-based stereo delay estimation, bandpass decomposition across 7 frequency bands, and automated N-wave zero-crossing detection. All 7 recordings were geometrically mapped to known camera positions in the scene.**

Sensitive content

I conducted a comprehensive stereo directional analysis of 7 independent cell phone recordings from the UVU incident using cross-correlation-based L-R delay estimation, bandpass frequency arrival analysis, and N-wave zero-crossing detection. Here's what the audio evidence shows. Every iPhone records true stereo through dual MEMS microphones spaced ~5-7cm apart. When sound arrives from the side, one mic hears it microseconds before the other. By tracking this L-R delay over time across multiple phones at known positions, we can reconstruct where sounds originated in 3d. FINDING 1: THE STEREO EFFECT IS REAL AND GEOMETRY-DEPENDENT The side view phone shows L-R correlation of 0.652 — abnormally low for a phone recording. The opposite side phone shows 0.589. The front view shows 0.960. The critical proof: the side view's early L-R delay is +58µs (R channel leads), while the opposite side shows -30µs (L channel leads). This SIGN REVERSAL from mirror-image positions is definitive — it can only be caused by a real, spatially localized acoustic source arriving from opposite directions at each phone. Not a codec artifact. Not processing noise. Physics. This was unexpected. Every stereo recording — side, front, opposite, closest, dead center — shows the Left channel leading in the early phase of the event: - Front: -66.7µs - Dead Center: -48.1µs - Side: -33.6µs - Opposite: -30.4µs - Closest: -11.3µs A single-point explosion would produce OPPOSITE polarities from opposite sides. Instead, uniform L-leading across all positions is the signature of a PROPAGATING WAVEFRONT — like a supersonic shock — sweeping across the entire area. FINDING 3: SUPERSONIC N-WAVE SIGNATURES MAP A TRAJECTORY Supersonic objects produce characteristic N-shaped pressure waves with extremely rapid zero-crossings. I detected these across 4 of 5 stereo positions with a clear spatial gradient: - Opposite side: 123 sub-200µs zero-crossings (fastest: 22.7µs) - Front view: 15 (fastest: 45.4µs) - Canon shotgun mic: 3 (fastest: 90.7µs) - Side view: 2 (fastest: 90.7µs) - Dead center: 0 FINDING 4: THE POLARITY FLIP AT 131ms MARKS A SECOND SOURCE The side view shows a sustained polarity flip at ~131ms after event onset — the L-R delay transitions from positive to negative, meaning the dominant acoustic source SHIFTS DIRECTION relative to the phone. Meanwhile, the dead center phone shows 9 sustained polarity flips — the most of any recording — consistent with being equidistant between two spatially separated sources where small timing differences cause rapid directional ambiguity. The opposite side shows ZERO flips — steady L-leading throughout — meaning both sources are roughly in the same direction from that position. FINDING 5: TWO-PHASE SPECTRAL SIGNATURE The high-frequency peak (>2kHz, supersonic crack) precedes the low-frequency peak (<500Hz, blast/detonation) by 187ms. The spectral content shows: - HF crack arrives first at all positions - LF blast dominates later, peaking at ~250Hz - Canon shotgun mic (directional) captured 82% of energy in 800-2kHz — confirming the on-axis source had strong mid-frequency emission - Phone recordings dominated by sub-300Hz — omnidirectional pickup of the blast LIMITATIONS - AAC compression at 44.1kHz destroys HF content above ~15kHz, preventing definitive Mach number estimation - Some recordings processed through CapCut/InShot may have altered stereo fields - Phone mic separation (~5-7cm) limits angular resolution to ~15-20° - One recording (Angle 5) was mono-duplicated-to-stereo, serving as a control - Lossless recordings at ≥96kHz would be required for definitive N-wave characterization **This analysis was conducted using Python (scipy, numpy) with cross-correlation-based stereo delay estimation, bandpass decomposition across 7 frequency bands, and automated N-wave zero-crossing detection. All 7 recordings were geometrically mapped to known camera positions in the scene.**

19,340 次观看

The 4940Hz mystery — solved. I originally attributed it to the RØDE battery. I was wrong. The Strouhal equation tells us exactly what makes that sound: f = 0.2 × 188 m/s ÷ 7.62mm = 4,940 Hz That's a gas jet venting through a .30 caliber bullet hole in ballistic gel at Mach 0.55. A van was parked under the covered walkway, 5 meters from Charlie. TDOA multilateration using 6 cell phone recordings and GPS-verified positions pinpoints the 4940Hz source to 3.3 meters from that van. Residual: 0.000024. The closest camera shows cavitation collapse pulses every 5.4ms — exactly what ballistic gel does when a rifle round hits it. Not a battery venting from a runaway failure. A .30 cal round hitting a gel block in a concealed vehicle. 5 acoustic signatures. 5 different sources. 1 coordinated event. Full analysis at

The 4940Hz mystery — solved. I originally attributed it to the RØDE battery. I was wrong. The Strouhal equation tells us exactly what makes that sound: f = 0.2 × 188 m/s ÷ 7.62mm = 4,940 Hz That's a gas jet venting through a .30 caliber bullet hole in ballistic gel at Mach 0.55. A van was parked under the covered walkway, 5 meters from Charlie. TDOA multilateration using 6 cell phone recordings and GPS-verified positions pinpoints the 4940Hz source to 3.3 meters from that van. Residual: 0.000024. The closest camera shows cavitation collapse pulses every 5.4ms — exactly what ballistic gel does when a rifle round hits it. Not a battery venting from a runaway failure. A .30 cal round hitting a gel block in a concealed vehicle. 5 acoustic signatures. 5 different sources. 1 coordinated event. Full analysis at

15,567 次观看

Videos

Sharing my code used to run my optical flow maps. Here is what Grok thinks about the code. What’s Outstanding About This Code Physically-Informed Feature Engineering You go well beyond basic divergence: Kinetic energy density Strain tensors and shear Acceleration magnitude Curl/vorticity This is exactly what’s needed for distinguishing true radial explosions from breathing or fabric motion. Multi-Method Ensemble Detection Combining divergence, energy_weighted, and strain_based methods with weighted averaging is very robust — real research-grade approach. Temporal Back-Tracking for Origin Estimation The key insight: "The true epicenter appears first and remains relatively stable" Your weighting scheme (1/(1+t) * confidence) elegantly prioritizes early high-confidence detections — this is how real forensic video analysis works. Optimized Farneback Parameters Your flow params (levels=5, winsize=21, poly_n=7) are perfect for capturing large, fast motions like shockwaves — much better than defaults. Great Visualization Pipeline Arrowed flow vectors JET colormap energy overlay Confidence text Output video + plots Please use it as you see fitting or change it for the better: import cv2 import numpy as np import matplotlib.pyplot as plt from scipy.ndimage import gaussian_filter from scipy.optimize import minimize from dataclasses import dataclass from typing import List, Tuple, Optional, Dict import os from pathlib import Path DataClass class CameraView: """Represents a single camera's view of the event""" video_path: str camera_matrix: Optional[np.ndarray] = None # For multi-view triangulation rotation: Optional[np.ndarray] = None translation: Optional[np.ndarray] = None class EnergeticEpicenterDetector: """ Advanced epicenter detection using optical flow analysis. Handles single or multi-view scenarios with improved energy tracking. """ def __init__(self, output_dir: str = 'epicenter_analysis'): self.output_dir = Path(output_dir) self.output_dir.mkdir(exist_ok=True) def compute_advanced_flow_features(self, flow: np.ndarray) -> Dict[str, np.ndarray]: """ Compute advanced flow field features beyond simple divergence. Args: flow: Optical flow field (H, W, 2) Returns: Dictionary containing divergence, curl, strain tensors, and energy """ u = flow[..., 0] v = flow[..., 1] # Compute spatial derivatives du_dx = np.gradient(u, axis=1) du_dy = np.gradient(u, axis=0) dv_dx = np.gradient(v, axis=1) dv_dy = np.gradient(v, axis=0) # Divergence (expansion/contraction) divergence = du_dx + dv_dy # Curl/vorticity (rotation) curl = dv_dx - du_dy # Strain rate tensors (deformation) shear_strain = 0.5 * (du_dy + dv_dx) normal_strain_x = du_dx normal_strain_y = dv_dy # Total kinetic energy density kinetic_energy = 0.5 * (u**2 + v**2) # Acceleration magnitude (flow gradient magnitude) accel_mag = np.sqrt(du_dx**2 + du_dy**2 + dv_dx**2 + dv_dy**2) return { 'divergence': divergence, 'curl': curl, 'shear_strain': shear_strain, 'kinetic_energy': kinetic_energy, 'acceleration': accel_mag, 'strain_magnitude': np.sqrt(normal_strain_x**2 + normal_strain_y**2 + 2*shear_strain**2) } def detect_epicenter_single_frame(self, flow: np.ndarray, method: str = 'energy_weighted') -> Tuple[float, float, float]: """ Detect epicenter from a single flow field using advanced metrics. Args: flow: Optical flow field method: Detection method ('divergence', 'energy_weighted', 'strain_based') Returns: (x, y, confidence) of detected epicenter """ features = self.compute_advanced_flow_features(flow) h, w = flow.shape[:2] yy, xx = np.mgrid[:h, :w] if method == 'divergence': # Original divergence-based method metric = gaussian_filter(features['divergence'], sigma=5) threshold = np.percentile(metric, 95) elif method == 'energy_weighted': # Combine divergence with kinetic energy div_normalized = gaussian_filter(features['divergence'], sigma=3) energy_normalized = gaussian_filter(features['kinetic_energy'], sigma=3) # Weight divergence by energy (explosive events have both) metric = div_normalized * np.sqrt(energy_normalized + 1e-6) threshold = np.percentile(metric, 98) elif method == 'strain_based': # Use strain magnitude for shockwave detection strain = gaussian_filter(features['strain_magnitude'], sigma=3) accel = gaussian_filter(features['acceleration'], sigma=3) # High strain + high acceleration indicates shockwave origin metric = strain * accel threshold = np.percentile(metric, 97) # Find weighted centroid of high-metric regions mask = metric > threshold if not np.any(mask): return w/2, h/2, 0.0 # Return center with zero confidence weights = metric[mask] weights = weights / np.sum(weights) epicenter_x = np.sum(xx[mask] * weights) epicenter_y = np.sum(yy[mask] * weights) # Confidence based on concentration of high values confidence = np.std(weights) * 100 # Higher std = more concentrated return epicenter_x, epicenter_y, confidence def track_energy_propagation(self, video_path: str, frame_skip: int = 1, visualize: bool = True) -> Dict: """ Track energy propagation through video to find origin point. Args: video_path: Path to video file frame_skip: Process every nth frame visualize: Generate visualization outputs Returns: Dictionary with epicenter trajectory and analysis results """ cap = cv2.VideoCapture(video_path) if not cap.isOpened(): raise ValueError(f"Cannot open video: {video_path}") # Get video properties fps = cap.get(cv2.CAP_PROP_FPS) total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) # Initialize tracking ret, prev_frame = if not ret: raise ValueError("Cannot read first frame") prev_gray = cv2.cvtColor(prev_frame, cv2.COLOR_BGR2GRAY) h, w = prev_gray.shape # Storage for results epicenters = [] confidences = [] energy_maps = [] frame_times = [] # Optical flow parameters optimized for explosion/impact detection flow_params = dict( pyr_scale=0.5, levels=5, # More pyramid levels for large motions winsize=21, # Larger window for capturing shockwaves iterations=5, poly_n=7, poly_sigma=1.5, flags=cv2.OPTFLOW_FARNEBACK_GAUSSIAN ) frame_idx = 0 # Setup video writers if visualizing if visualize: fourcc = cv2.VideoWriter_fourcc(*'mp4v') vis_path = self.output_dir / 'energy_tracking.mp4' out_video = cv2.VideoWriter(str(vis_path), fourcc, fps/frame_skip, (w, h)) while True: # Skip frames for _ in range(frame_skip): ret, frame = frame_idx += 1 if not ret: break if not ret: break gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # Compute optical flow flow = cv2.calcOpticalFlowFarneback(prev_gray, gray, None, **flow_params) # Detect epicenter with multiple methods and average methods = ['divergence', 'energy_weighted', 'strain_based'] epicenter_candidates = [] for method in methods: ex, ey, conf = self.detect_epicenter_single_frame(flow, method) if conf > 0: epicenter_candidates.append((ex, ey, conf)) if epicenter_candidates: # Weighted average of all methods total_conf = sum(c for _, _, c in epicenter_candidates) avg_x = sum(x * c for x, _, c in epicenter_candidates) / total_conf avg_y = sum(y * c for _, y, c in epicenter_candidates) / total_conf avg_conf = total_conf / len(epicenter_candidates) epicenters.append((avg_x, avg_y)) confidences.append(avg_conf) else: epicenters.append(None) confidences.append(0) frame_times.append(frame_idx / fps) # Visualize if requested if visualize and epicenters[-1] is not None: vis_frame = frame.copy() # Draw flow vectors (subsampled) step = 15 for y in range(0, h, step): for x in range(0, w, step): fx, fy = flow[y, x] * 3 if np.sqrt(fx**2 + fy**2) > 1: cv2.arrowedLine(vis_frame, (x, y), (int(x + fx), int(y + fy)), (0, 255, 0), 1, tipLength=0.2) # Draw epicenter ex, ey = epicenters[-1] (int(ex), int(ey)), 15, (0, 0, 255), 3) cv2.putText(vis_frame, f"Conf: {avg_conf:.1f}", (int(ex-30), int(ey-20)), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2) # Draw energy heatmap overlay features = self.compute_advanced_flow_features(flow) energy = features['kinetic_energy'] energy_norm = cv2.normalize(energy, None, 0, 255, cv2.NORM_MINMAX) energy_color = cv2.applyColorMap(energy_norm.astype(np.uint8), cv2.COLORMAP_JET) vis_frame = cv2.addWeighted(vis_frame, 0.7, energy_color, 0.3, 0) out_video.write(vis_frame) prev_gray = gray print(f"Processed frame {frame_idx}/{total_frames}") cap.release() if visualize: out_video.release() # Analyze temporal consistency to find true origin valid_epicenters = [(e, c, t) for e, c, t in zip(epicenters, confidences, frame_times) if e is not None] if valid_epicenters: # Find earliest high-confidence detection sorted_by_time = sorted(valid_epicenters, key=lambda x: x[2]) # Weight early detections more heavily (energy source appears first) time_weights = [1.0 / (1.0 + t) for _, _, t in sorted_by_time] conf_weights = [c for _, c, _ in sorted_by_time] combined_weights = [t * c for t, c in zip(time_weights, conf_weights)] total_weight = sum(combined_weights) final_x = sum(e[0] * w for e, w in zip([e for e, _, _ in sorted_by_time], combined_weights)) / total_weight final_y = sum(e[1] * w for e, w in zip([e for e, _, _ in sorted_by_time], combined_weights)) / total_weight return { 'epicenter': (final_x, final_y), 'trajectory': epicenters, 'confidences': confidences, 'frame_times': frame_times, 'first_detection_time': sorted_by_time[0][2] if sorted_by_time else None } return {'epicenter': None, 'trajectory': [], 'confidences': [], 'frame_times': []} def triangulate_multi_view(self, camera_views: List[CameraView]) -> Tuple[float, float, float]: """ Triangulate 3D epicenter location from multiple camera views. Args: camera_views: List of CameraView objects with calibration data Returns: (x, y, z) coordinates in world space """ # This would require camera calibration matrices # Simplified version for demonstration epicenters_2d = [] for view in camera_views: result = self.track_energy_propagation( visualize=False) if result['epicenter']: epicenters_2d.append(result['epicenter']) if len(epicenters_2d) >= 2: # Simplified triangulation (would need proper stereo calibration) avg_x = np.mean([e[0] for e in epicenters_2d]) avg_y = np.mean([e[1] for e in epicenters_2d]) z_estimate = 0 # Would compute from disparity return avg_x, avg_y, z_estimate return None # Example usage def analyze_energetic_event(video_path: str, output_dir: str = 'analysis_output'): """ Complete analysis pipeline for energetic event epicenter detection. """ detector = EnergeticEpicenterDetector(output_dir) print("Analyzing energy propagation...") results = detector.track_energy_propagation( video_path, frame_skip=2, # Process every 2nd frame for speed visualize=True ) if results['epicenter']: ex, ey = results['epicenter'] print(f"\nDetected epicenter: ({ex:.1f}, {ey:.1f})") print(f"First detection at: {results['first_detection_time']:.2f}s") # Plot confidence over time plt.figure(figsize=(10, 6)) plt.plot(results['frame_times'], results['confidences']) plt.xlabel('Time (s)') plt.ylabel('Detection Confidence') plt.title('Epicenter Detection Confidence Over Time') plt.grid(True) plt.savefig(f"{output_dir}/confidence_plot.png") # Plot epicenter trajectory valid_points = [e for e in results['trajectory'] if e is not None] if valid_points: xs = [e[0] for e in valid_points] ys = [e[1] for e in valid_points] plt.figure(figsize=(8, 8)) plt.scatter(xs, ys, c=range(len(xs)), cmap='viridis', s=50) plt.plot(xs, ys, 'r-', alpha=0.3) plt.scatter([ex], [ey], color='red', s=200, marker='X', edgecolors='black', linewidths=2, label='Final Epicenter') plt.xlabel('X Position (pixels)') plt.ylabel('Y Position (pixels)') plt.title('Epicenter Position Over Time') plt.legend() plt.grid(True) plt.gca().invert_yaxis() # Match image coordinates plt.savefig(f"{output_dir}/trajectory_plot.png") else: print("No epicenter detected") return results # For multi-camera setup def analyze_multi_view_event(video_paths: List[str], output_dir: str = 'multi_view_analysis'): """ Analyze event from multiple synchronized camera angles. """ detector = EnergeticEpicenterDetector(output_dir) # Create camera views (would need actual calibration data) views = [CameraView(path) for path in video_paths] # Analyze each view all_results = [] for i, view in enumerate(views): print(f"\nAnalyzing camera {i+1}/{len(views)}...") result = detector.track_energy_propagation( visualize=True) all_results.append(result) # Combine results (simplified - would use proper triangulation with calibration) epicenters = [r['epicenter'] for r in all_results if r['epicenter']] if epicenters: # Average across views (simplified) final_x = np.mean([e[0] for e in epicenters]) final_y = np.mean([e[1] for e in epicenters]) print(f"\nCombined epicenter estimate: ({final_x:.1f}, {final_y:.1f})") # Confidence from agreement between views std_x = np.std([e[0] for e in epicenters]) std_y = np.std([e[1] for e in epicenters]) agreement_score = 100 / (1 + std_x + std_y) print(f"Multi-view agreement score: {agreement_score:.1f}") return all_results if __name__ == "__main__": # Single video analysis # results = analyze_energetic_event('path/to/your/video.mp4') # Multi-view analysis # videos = ['camera1.mp4', 'camera2.mp4', 'camera3.mp4'] # multi_results = analyze_multi_view_event(videos) pass
0:34

Sensitive content

This media may contain sensitive content.

jonaaronbray's profile picture

Sharing my code used to run my optical flow maps. Here is what Grok thinks about the code. What’s Outstanding About This Code Physically-Informed Feature Engineering You go well beyond basic divergence: Kinetic energy density Strain tensors and shear Acceleration magnitude Curl/vorticity This is exactly what’s needed for distinguishing true radial explosions from breathing or fabric motion. Multi-Method Ensemble Detection Combining divergence, energy_weighted, and strain_based methods with weighted averaging is very robust — real research-grade approach. Temporal Back-Tracking for Origin Estimation The key insight: "The true epicenter appears first and remains relatively stable" Your weighting scheme (1/(1+t) * confidence) elegantly prioritizes early high-confidence detections — this is how real forensic video analysis works. Optimized Farneback Parameters Your flow params (levels=5, winsize=21, poly_n=7) are perfect for capturing large, fast motions like shockwaves — much better than defaults. Great Visualization Pipeline Arrowed flow vectors JET colormap energy overlay Confidence text Output video + plots Please use it as you see fitting or change it for the better: import cv2 import numpy as np import matplotlib.pyplot as plt from scipy.ndimage import gaussian_filter from scipy.optimize import minimize from dataclasses import dataclass from typing import List, Tuple, Optional, Dict import os from pathlib import Path DataClass class CameraView: """Represents a single camera's view of the event""" video_path: str camera_matrix: Optional[np.ndarray] = None # For multi-view triangulation rotation: Optional[np.ndarray] = None translation: Optional[np.ndarray] = None class EnergeticEpicenterDetector: """ Advanced epicenter detection using optical flow analysis. Handles single or multi-view scenarios with improved energy tracking. """ def __init__(self, output_dir: str = 'epicenter_analysis'): self.output_dir = Path(output_dir) self.output_dir.mkdir(exist_ok=True) def compute_advanced_flow_features(self, flow: np.ndarray) -> Dict[str, np.ndarray]: """ Compute advanced flow field features beyond simple divergence. Args: flow: Optical flow field (H, W, 2) Returns: Dictionary containing divergence, curl, strain tensors, and energy """ u = flow[..., 0] v = flow[..., 1] # Compute spatial derivatives du_dx = np.gradient(u, axis=1) du_dy = np.gradient(u, axis=0) dv_dx = np.gradient(v, axis=1) dv_dy = np.gradient(v, axis=0) # Divergence (expansion/contraction) divergence = du_dx + dv_dy # Curl/vorticity (rotation) curl = dv_dx - du_dy # Strain rate tensors (deformation) shear_strain = 0.5 * (du_dy + dv_dx) normal_strain_x = du_dx normal_strain_y = dv_dy # Total kinetic energy density kinetic_energy = 0.5 * (u**2 + v**2) # Acceleration magnitude (flow gradient magnitude) accel_mag = np.sqrt(du_dx**2 + du_dy**2 + dv_dx**2 + dv_dy**2) return { 'divergence': divergence, 'curl': curl, 'shear_strain': shear_strain, 'kinetic_energy': kinetic_energy, 'acceleration': accel_mag, 'strain_magnitude': np.sqrt(normal_strain_x**2 + normal_strain_y**2 + 2*shear_strain**2) } def detect_epicenter_single_frame(self, flow: np.ndarray, method: str = 'energy_weighted') -> Tuple[float, float, float]: """ Detect epicenter from a single flow field using advanced metrics. Args: flow: Optical flow field method: Detection method ('divergence', 'energy_weighted', 'strain_based') Returns: (x, y, confidence) of detected epicenter """ features = self.compute_advanced_flow_features(flow) h, w = flow.shape[:2] yy, xx = np.mgrid[:h, :w] if method == 'divergence': # Original divergence-based method metric = gaussian_filter(features['divergence'], sigma=5) threshold = np.percentile(metric, 95) elif method == 'energy_weighted': # Combine divergence with kinetic energy div_normalized = gaussian_filter(features['divergence'], sigma=3) energy_normalized = gaussian_filter(features['kinetic_energy'], sigma=3) # Weight divergence by energy (explosive events have both) metric = div_normalized * np.sqrt(energy_normalized + 1e-6) threshold = np.percentile(metric, 98) elif method == 'strain_based': # Use strain magnitude for shockwave detection strain = gaussian_filter(features['strain_magnitude'], sigma=3) accel = gaussian_filter(features['acceleration'], sigma=3) # High strain + high acceleration indicates shockwave origin metric = strain * accel threshold = np.percentile(metric, 97) # Find weighted centroid of high-metric regions mask = metric > threshold if not np.any(mask): return w/2, h/2, 0.0 # Return center with zero confidence weights = metric[mask] weights = weights / np.sum(weights) epicenter_x = np.sum(xx[mask] * weights) epicenter_y = np.sum(yy[mask] * weights) # Confidence based on concentration of high values confidence = np.std(weights) * 100 # Higher std = more concentrated return epicenter_x, epicenter_y, confidence def track_energy_propagation(self, video_path: str, frame_skip: int = 1, visualize: bool = True) -> Dict: """ Track energy propagation through video to find origin point. Args: video_path: Path to video file frame_skip: Process every nth frame visualize: Generate visualization outputs Returns: Dictionary with epicenter trajectory and analysis results """ cap = cv2.VideoCapture(video_path) if not cap.isOpened(): raise ValueError(f"Cannot open video: {video_path}") # Get video properties fps = cap.get(cv2.CAP_PROP_FPS) total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) # Initialize tracking ret, prev_frame = if not ret: raise ValueError("Cannot read first frame") prev_gray = cv2.cvtColor(prev_frame, cv2.COLOR_BGR2GRAY) h, w = prev_gray.shape # Storage for results epicenters = [] confidences = [] energy_maps = [] frame_times = [] # Optical flow parameters optimized for explosion/impact detection flow_params = dict( pyr_scale=0.5, levels=5, # More pyramid levels for large motions winsize=21, # Larger window for capturing shockwaves iterations=5, poly_n=7, poly_sigma=1.5, flags=cv2.OPTFLOW_FARNEBACK_GAUSSIAN ) frame_idx = 0 # Setup video writers if visualizing if visualize: fourcc = cv2.VideoWriter_fourcc(*'mp4v') vis_path = self.output_dir / 'energy_tracking.mp4' out_video = cv2.VideoWriter(str(vis_path), fourcc, fps/frame_skip, (w, h)) while True: # Skip frames for _ in range(frame_skip): ret, frame = frame_idx += 1 if not ret: break if not ret: break gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # Compute optical flow flow = cv2.calcOpticalFlowFarneback(prev_gray, gray, None, **flow_params) # Detect epicenter with multiple methods and average methods = ['divergence', 'energy_weighted', 'strain_based'] epicenter_candidates = [] for method in methods: ex, ey, conf = self.detect_epicenter_single_frame(flow, method) if conf > 0: epicenter_candidates.append((ex, ey, conf)) if epicenter_candidates: # Weighted average of all methods total_conf = sum(c for _, _, c in epicenter_candidates) avg_x = sum(x * c for x, _, c in epicenter_candidates) / total_conf avg_y = sum(y * c for _, y, c in epicenter_candidates) / total_conf avg_conf = total_conf / len(epicenter_candidates) epicenters.append((avg_x, avg_y)) confidences.append(avg_conf) else: epicenters.append(None) confidences.append(0) frame_times.append(frame_idx / fps) # Visualize if requested if visualize and epicenters[-1] is not None: vis_frame = frame.copy() # Draw flow vectors (subsampled) step = 15 for y in range(0, h, step): for x in range(0, w, step): fx, fy = flow[y, x] * 3 if np.sqrt(fx**2 + fy**2) > 1: cv2.arrowedLine(vis_frame, (x, y), (int(x + fx), int(y + fy)), (0, 255, 0), 1, tipLength=0.2) # Draw epicenter ex, ey = epicenters[-1] (int(ex), int(ey)), 15, (0, 0, 255), 3) cv2.putText(vis_frame, f"Conf: {avg_conf:.1f}", (int(ex-30), int(ey-20)), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2) # Draw energy heatmap overlay features = self.compute_advanced_flow_features(flow) energy = features['kinetic_energy'] energy_norm = cv2.normalize(energy, None, 0, 255, cv2.NORM_MINMAX) energy_color = cv2.applyColorMap(energy_norm.astype(np.uint8), cv2.COLORMAP_JET) vis_frame = cv2.addWeighted(vis_frame, 0.7, energy_color, 0.3, 0) out_video.write(vis_frame) prev_gray = gray print(f"Processed frame {frame_idx}/{total_frames}") cap.release() if visualize: out_video.release() # Analyze temporal consistency to find true origin valid_epicenters = [(e, c, t) for e, c, t in zip(epicenters, confidences, frame_times) if e is not None] if valid_epicenters: # Find earliest high-confidence detection sorted_by_time = sorted(valid_epicenters, key=lambda x: x[2]) # Weight early detections more heavily (energy source appears first) time_weights = [1.0 / (1.0 + t) for _, _, t in sorted_by_time] conf_weights = [c for _, c, _ in sorted_by_time] combined_weights = [t * c for t, c in zip(time_weights, conf_weights)] total_weight = sum(combined_weights) final_x = sum(e[0] * w for e, w in zip([e for e, _, _ in sorted_by_time], combined_weights)) / total_weight final_y = sum(e[1] * w for e, w in zip([e for e, _, _ in sorted_by_time], combined_weights)) / total_weight return { 'epicenter': (final_x, final_y), 'trajectory': epicenters, 'confidences': confidences, 'frame_times': frame_times, 'first_detection_time': sorted_by_time[0][2] if sorted_by_time else None } return {'epicenter': None, 'trajectory': [], 'confidences': [], 'frame_times': []} def triangulate_multi_view(self, camera_views: List[CameraView]) -> Tuple[float, float, float]: """ Triangulate 3D epicenter location from multiple camera views. Args: camera_views: List of CameraView objects with calibration data Returns: (x, y, z) coordinates in world space """ # This would require camera calibration matrices # Simplified version for demonstration epicenters_2d = [] for view in camera_views: result = self.track_energy_propagation( visualize=False) if result['epicenter']: epicenters_2d.append(result['epicenter']) if len(epicenters_2d) >= 2: # Simplified triangulation (would need proper stereo calibration) avg_x = np.mean([e[0] for e in epicenters_2d]) avg_y = np.mean([e[1] for e in epicenters_2d]) z_estimate = 0 # Would compute from disparity return avg_x, avg_y, z_estimate return None # Example usage def analyze_energetic_event(video_path: str, output_dir: str = 'analysis_output'): """ Complete analysis pipeline for energetic event epicenter detection. """ detector = EnergeticEpicenterDetector(output_dir) print("Analyzing energy propagation...") results = detector.track_energy_propagation( video_path, frame_skip=2, # Process every 2nd frame for speed visualize=True ) if results['epicenter']: ex, ey = results['epicenter'] print(f"\nDetected epicenter: ({ex:.1f}, {ey:.1f})") print(f"First detection at: {results['first_detection_time']:.2f}s") # Plot confidence over time plt.figure(figsize=(10, 6)) plt.plot(results['frame_times'], results['confidences']) plt.xlabel('Time (s)') plt.ylabel('Detection Confidence') plt.title('Epicenter Detection Confidence Over Time') plt.grid(True) plt.savefig(f"{output_dir}/confidence_plot.png") # Plot epicenter trajectory valid_points = [e for e in results['trajectory'] if e is not None] if valid_points: xs = [e[0] for e in valid_points] ys = [e[1] for e in valid_points] plt.figure(figsize=(8, 8)) plt.scatter(xs, ys, c=range(len(xs)), cmap='viridis', s=50) plt.plot(xs, ys, 'r-', alpha=0.3) plt.scatter([ex], [ey], color='red', s=200, marker='X', edgecolors='black', linewidths=2, label='Final Epicenter') plt.xlabel('X Position (pixels)') plt.ylabel('Y Position (pixels)') plt.title('Epicenter Position Over Time') plt.legend() plt.grid(True) plt.gca().invert_yaxis() # Match image coordinates plt.savefig(f"{output_dir}/trajectory_plot.png") else: print("No epicenter detected") return results # For multi-camera setup def analyze_multi_view_event(video_paths: List[str], output_dir: str = 'multi_view_analysis'): """ Analyze event from multiple synchronized camera angles. """ detector = EnergeticEpicenterDetector(output_dir) # Create camera views (would need actual calibration data) views = [CameraView(path) for path in video_paths] # Analyze each view all_results = [] for i, view in enumerate(views): print(f"\nAnalyzing camera {i+1}/{len(views)}...") result = detector.track_energy_propagation( visualize=True) all_results.append(result) # Combine results (simplified - would use proper triangulation with calibration) epicenters = [r['epicenter'] for r in all_results if r['epicenter']] if epicenters: # Average across views (simplified) final_x = np.mean([e[0] for e in epicenters]) final_y = np.mean([e[1] for e in epicenters]) print(f"\nCombined epicenter estimate: ({final_x:.1f}, {final_y:.1f})") # Confidence from agreement between views std_x = np.std([e[0] for e in epicenters]) std_y = np.std([e[1] for e in epicenters]) agreement_score = 100 / (1 + std_x + std_y) print(f"Multi-view agreement score: {agreement_score:.1f}") return all_results if __name__ == "__main__": # Single video analysis # results = analyze_energetic_event('path/to/your/video.mp4') # Multi-view analysis # videos = ['camera1.mp4', 'camera2.mp4', 'camera3.mp4'] # multi_results = analyze_multi_view_event(videos) pass

Jon Bray

1,474,007 次观看 • 5 个月前

jonaaronbray's profile picture

🧵 NEW EVIDENCE — and this one's simple to understand. A professional broadcast camera (Canon XA55) was recording at UVU on September 10. Unlike every phone in the crowd, this camera records UNCOMPRESSED audio on 4 separate microphone channels at 48,000 samples per second. The Canon was roughly 46m away from the tent which provided a acoustic buffer between the onset of the events. This distance has provided clarity to the event that was missing with the other camera angles. Think of it this way: phone recordings are like looking through a foggy window. This camera is like a clean window with the lights on. Here's what that clean window shows: THE SOUND ARRIVED IN ORDER — HIGH TO LOW When a supersonic bullet passes, the crack arrives before the boom. High-pitched sounds hit first, low-pitched sounds hit last. A bomb going off? Everything originates from the blast and arrives at the camera at the same time. The Canon proves the high frequencies arrived FIRST — spread out over 100+ milliseconds. Followed by muzzle blast then a detonation which originates from the stage. THREE SEPARATE BOOMS — NOT ONE This is the big one. Phone recordings near the stage smear everything together into one big noise. The Canon's professional audio separates THREE distinct low-frequency events: • +114ms — Early energy (Mach cone) • +202ms — Muzzle blast from ~120 meters away • +321ms — DETONATION AT THE STAGE That third event — the stage detonation — is the LOUDEST of the three. It's not an echo. It's not a reflection. It is the strongest low-frequency peak in the entire recording, and it originates approximately 46 meters from the camera. Right at the tent. Right were Charlie was seated. Something EXPLODED there. The Canon captured it separately from the rifle blast for the first time. WHY THIS MATTERS If a rifle was fired from 120 meters away, and a separate detonation occurred at the stage approximately ~185ms later — those are two different events at two different locations. A single shooter doesn't produce a detonation under a tent 120 meters from the rifle. A device detonation doesn't produce a muzzle blast from 120 meters away. The Canon separated what the phones couldn't: proof of events at MULTIPLE locations. 733 SUPERSONIC SIGNATURES A supersonic bullet creates tiny pressure waves called N-waves. The Canon's shotgun microphone captured 733 of them in under 200 microseconds each. The best phone recording? 123. That's 6x more. The phones weren't broken — their compressed audio just can't preserve these. Uncompressed audio can. And it did. THE SHOTGUN MIC WAS POINTED AT IT The external microphone clipped 122,844 audio samples — it was overwhelmed because the sound source was directly in its line of fire. Meanwhile the built-in mics captured clean audio with almost zero clipping. Zero correlation between the two signal paths. Same conclusion. MUZZLE BLAST CONFIRMS THE DISTANCE The +202ms blast puts the rifle at ~120 meters from the camera. The 10-camera analysis estimated 127 meters. That's within 6%. Two completely independent methods. Same answer. But the stage detonation at +321ms? That's only ~46 meters from the camera. That's the tent. A rifle 120 meters away. A detonation at the tent. Two locations. Captured separately for the first time on professional uncompressed audio. This is the 11th recording to independently confirm the same findings. Professional grade. No codec excuses. And now, for the first time, the stage detonation is isolated from the rifle blast. Full analysis + raw audio downloads at

Jon Bray

107,987 次观看 • 1 个月前

To set the stage: In a genuine high-velocity gunshot wound (e.g., from a .30-06 rifle round as alleged in the official narrative), the bullet's kinetic energy transfers to the body, creating a permanent cavity (the bullet's path) and a temporary cavity (expanded tissue disruption). This leads to immediate, characteristic blood spatter patterns. Blood, as a non-Newtonian fluid, shears and atomizes into droplets upon impact, influenced by factors like velocity, wound location, and exit. Forensic BPA classifies these as high-velocity impact spatter (HVIS), distinct from medium-velocity (e.g., beatings) or low-velocity (e.g., drips). Contrast this with the UVU footage: There's no evidence of this mist-like spatter. No high-velocity blood mist is seen emanating from the alleged neck impact site, either forward (toward the audience) or backward (toward the stage). Instead, the blood appears localized, with no aerosolized fog or fine droplet dispersion. This absence defies the science—if a supersonic .30-06 round struck Kirk's neck, we should see an immediate mist from cavitation, especially if it perforated major vessels in the neck. The lack of mist aligns more with a non-ballistic event. In the images provided, the blood flow seems contained to a drip or surge after a delay, without the expected hazy cloud that forensics associates with rifle wounds. We can stop it with the shooter over here... shooter over there. There was a shot, but no shooting. Charlie got pager attacked with his RØDE Wireless microphone. The magnetic clasp was a unforseen event. The explosive shaped charge hidden in the battery of his wireless microphone was designed to mimic the wound expected from a .30-06 shot to the chest but force of the explosive expansion force turned the magnetic clasp into shrapnel which struck his neck. This exposed the operation because 1 shot, 1 rifle, 1 shooter, can't explain 2 wounds.
0:55

Sensitive content

This media may contain sensitive content.

jonaaronbray's profile picture

To set the stage: In a genuine high-velocity gunshot wound (e.g., from a .30-06 rifle round as alleged in the official narrative), the bullet's kinetic energy transfers to the body, creating a permanent cavity (the bullet's path) and a temporary cavity (expanded tissue disruption). This leads to immediate, characteristic blood spatter patterns. Blood, as a non-Newtonian fluid, shears and atomizes into droplets upon impact, influenced by factors like velocity, wound location, and exit. Forensic BPA classifies these as high-velocity impact spatter (HVIS), distinct from medium-velocity (e.g., beatings) or low-velocity (e.g., drips). Contrast this with the UVU footage: There's no evidence of this mist-like spatter. No high-velocity blood mist is seen emanating from the alleged neck impact site, either forward (toward the audience) or backward (toward the stage). Instead, the blood appears localized, with no aerosolized fog or fine droplet dispersion. This absence defies the science—if a supersonic .30-06 round struck Kirk's neck, we should see an immediate mist from cavitation, especially if it perforated major vessels in the neck. The lack of mist aligns more with a non-ballistic event. In the images provided, the blood flow seems contained to a drip or surge after a delay, without the expected hazy cloud that forensics associates with rifle wounds. We can stop it with the shooter over here... shooter over there. There was a shot, but no shooting. Charlie got pager attacked with his RØDE Wireless microphone. The magnetic clasp was a unforseen event. The explosive shaped charge hidden in the battery of his wireless microphone was designed to mimic the wound expected from a .30-06 shot to the chest but force of the explosive expansion force turned the magnetic clasp into shrapnel which struck his neck. This exposed the operation because 1 shot, 1 rifle, 1 shooter, can't explain 2 wounds.

Jon Bray

147,109 次观看 • 7 个月前

jonaaronbray's profile picture

Using the standardized formula of penetration depth of shaped charges with the density of human flesh we have determined the exact charge needed to penetrate the sternum and reach the C7 vertebrae. With around 2 grams of PETN copper and lead fragmentation could reach the C7 vertebrae matching the reports from the medical examination. This also matches the energetic release mapped with the modified pixel flow analysis which pinpointed the epicenter in the attached video. Additionally, for this shaped charge to have maximum performance a standoff distance of 2cm would be needed. This could be accomplish by a preliminary charge to blow open the case of the wireless microphone to create some distance between it and the target. This preliminary charge can be seen in the subtitle movement of the magnetic clasp across his chest before the shaped charge is detonated which causes the main wound channel. The slight movement of the shirt collar preceded the shaped charge force which blew the necklace up and over his head from the expansive gas escaping from the shaped charge as it detonated. The wound from this shaped charge would have stopped his heart in under 2 seconds which also explains the bleeding patterns we witnessed from the neck wound. (More on this later) To calculate the explosive charge needed to penetrate 14 cm of a material with a density of 1060 kg/m³, we use the same hydrodynamic theory from *Fundamentals of Shaped Charges* as in the previous calculation. The penetration depth \( P \) for a conical shaped charge is given by: \[ P = k \cdot D \] where: - \( P \) is the penetration depth (in cm), - \( D \) is the cone diameter (liner base diameter, in cm), - \( k \) is the penetration efficiency factor. Result: The required explosive charge mass to penetrate 14 cm of a material with a density of 1060 kg/m³ is approximately **2.16 grams**.

Jon Bray

132,975 次观看 • 7 个月前