-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding Image 2024-11-20-news.html - 1647
- Loading branch information
Showing
1 changed file
with
95 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
<title>Three.js 3D Globe with Dramatic Lighting</title> | ||
<!-- Google Open Sans Font --> | ||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap" rel="stylesheet"> | ||
<style> | ||
body { margin: 0; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: 'Open Sans', sans-serif; background-color: #000; color: #fff;} | ||
canvas { display: flex; margin-right: 0px; height: 90vh } /* Reduced height to 40vh */ | ||
.content { | ||
width: 90%; | ||
padding: 20px; | ||
box-sizing: border-box; | ||
background-color: #000; | ||
color: #fff; | ||
font-size: x-small; | ||
} | ||
h1 { text-align: center; margin-bottom: 20px; } | ||
.newsText { | ||
font-size: x-small; | ||
} | ||
.hideDiv { | ||
display: none; | ||
font-size: x-small; | ||
} | ||
.newsText:hover + .hideDiv { | ||
display: flex; | ||
} | ||
</style> | ||
</head> | ||
<body> | ||
<div class="content"> | ||
<h1>2024-11-20</h1> | ||
</div> | ||
<div class="newsText"> | ||
<p>Here's a summary of the news headlines:</br></br>* A bomb cyclone has caused widespread power outages and damage in the US north-west.</br>* The UK is experiencing a cold snap, with weather warnings in place.</br>* Ukraine's front line could collapse as Russian gains accelerate, experts warn.</br>* Sean "Diddy" Combs faces over two dozen lawsuits while he serves time in jail.</br>* There are reports of rising inflation and economic concerns.</br>* Other news stories include the farming tax change row, climate issues, and world events such as the war in Israel-Gaza.</p> | ||
</div> | ||
<div class="hideDiv"> | ||
<p><i> "A dramatic North American landscape under a darkened sky with scattered power lines and debris, contrasted by a freezing British village in the background, where snow-covered trees stretch towards a grey and foreboding horizon. In the foreground, a desolate Ukrainian front line, with destroyed tanks and crumbling buildings, as Russian soldiers advance in the distance. Meanwhile, in a separate scene, Sean 'Diddy' Combs stands confidently amidst chaos, as stacks of law books tower behind him, symbolizing his struggles with over two dozen lawsuits." </i></p> | ||
</div> | ||
|
||
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script> | ||
|
||
<script> | ||
// Scene setup | ||
const scene = new THREE.Scene(); | ||
const camera = new THREE.PerspectiveCamera(75, (window.innerWidth - 50) / (0.65 * window.innerHeight), 0.1, 1000); // Updated aspect ratio | ||
const renderer = new THREE.WebGLRenderer({ antialias: true }); | ||
renderer.setSize(window.innerWidth - 10, 0.7 * window.innerHeight); // Reduced height to 40% of the viewport height | ||
document.body.appendChild(renderer.domElement); | ||
|
||
// Globe geometry and material | ||
const globeGeometry = new THREE.SphereGeometry(5, 64, 64); // High detail sphere | ||
const globeMaterial = new THREE.MeshStandardMaterial({ | ||
map: new THREE.TextureLoader().load('images/2024-11-20-news.png') // Replace with your texture URL or local path | ||
}); | ||
const globe = new THREE.Mesh(globeGeometry, globeMaterial); | ||
scene.add(globe); | ||
|
||
// Lighting | ||
const ambientLight = new THREE.AmbientLight(0x404040); // Soft white light | ||
scene.add(ambientLight); | ||
|
||
const directionalLight = new THREE.DirectionalLight(0xffffff, 1); | ||
directionalLight.position.set(5, 3, 7).normalize(); | ||
scene.add(directionalLight); | ||
|
||
// Camera position | ||
camera.position.z = 14; | ||
camera.position.y = -3; | ||
|
||
// Animation loop | ||
function animate() { | ||
requestAnimationFrame(animate); | ||
|
||
// Rotate the globe around the Y-axis | ||
globe.rotation.y += 0.005; | ||
|
||
renderer.render(scene, camera); | ||
} | ||
|
||
animate(); | ||
|
||
// Handle window resizing | ||
window.addEventListener('resize', () => { | ||
camera.aspect = (window.innerWidth - 10) / (0.7 * window.innerHeight); // Updated aspect ratio | ||
camera.updateProjectionMatrix(); | ||
renderer.setSize(window.innerWidth - 10, 0.7 * window.innerHeight); // Reduced height to 40% of the viewport height | ||
}); | ||
</script> | ||
</body> | ||
</html> |