Skip to content
Snippets Groups Projects
Commit 9a5eb0af authored by MEHIAOUI Mohamed's avatar MEHIAOUI Mohamed
Browse files

ajout de pomme devant le bol

parent cdb0bbbc
No related branches found
No related tags found
No related merge requests found
...@@ -61,6 +61,7 @@ function fillScene() { ...@@ -61,6 +61,7 @@ function fillScene() {
texture_vase.wrapT = THREE.MirroredRepeatWrapping; texture_vase.wrapT = THREE.MirroredRepeatWrapping;
texture_vase.repeat.set(2, 2.6); texture_vase.repeat.set(2, 2.6);
// table // table
var tableMaterial = new THREE.MeshPhongMaterial({ var tableMaterial = new THREE.MeshPhongMaterial({
...@@ -71,7 +72,7 @@ function fillScene() { ...@@ -71,7 +72,7 @@ function fillScene() {
opacity: 0.9 opacity: 0.9
}); });
var table = new THREE.Mesh(new THREE.CylinderGeometry(10, 10, 1, 32), tableMaterial); var table = new THREE.Mesh(new THREE.CylinderGeometry(15, 15, 1, 32), tableMaterial);
table.position.set(0, 0, 5); table.position.set(0, 0, 5);
// bol de fruits // bol de fruits
...@@ -81,33 +82,36 @@ function fillScene() { ...@@ -81,33 +82,36 @@ function fillScene() {
bol.position.set(-5, 5, 5); bol.position.set(-5, 5, 5);
bol.rotation.x = Math.PI; bol.rotation.x = Math.PI;
function createApple(x, y, z, color) { function createApple(x, y, z,color, rotation) {
// Créer la pomme avec une forme de révolution
var applePoints = []; var applePoints = [];
applePoints.push(new THREE.Vector2(0, 0)); // Base applePoints.push(new THREE.Vector2(0, 0)); // Base
applePoints.push(new THREE.Vector2(1.2, 0.4)); applePoints.push(new THREE.Vector2(1.2, 0.5)); // Un peu plus haut
applePoints.push(new THREE.Vector2(1.8, 1.0)); applePoints.push(new THREE.Vector2(1.8, 1.2)); // Plus haut pour un profil plus allongé
applePoints.push(new THREE.Vector2(2.1, 1.8)); // Plus large vers le centre applePoints.push(new THREE.Vector2(2.1, 2.0)); // Plus large vers le centre
applePoints.push(new THREE.Vector2(2.0, 2.6)); applePoints.push(new THREE.Vector2(2.0, 2.7));
applePoints.push(new THREE.Vector2(1.7, 3.1)); applePoints.push(new THREE.Vector2(1.7, 3.2)); // Allonger la partie supérieure
applePoints.push(new THREE.Vector2(1.4, 3.4)); // Arrondi progressif applePoints.push(new THREE.Vector2(1.4, 3.5));
applePoints.push(new THREE.Vector2(1.0, 3.6)); applePoints.push(new THREE.Vector2(1.0, 3.7));
applePoints.push(new THREE.Vector2(0.7, 3.7)); applePoints.push(new THREE.Vector2(0.7, 3.8));
applePoints.push(new THREE.Vector2(0.5, 3.65)); // Début de l'indentation applePoints.push(new THREE.Vector2(0.5, 3.7)); // Base plus marquée
applePoints.push(new THREE.Vector2(0.3, 3.5)); // Légère dépression applePoints.push(new THREE.Vector2(0.3, 3.5));
applePoints.push(new THREE.Vector2(0.1, 3.3)); // Dépression plus marquée applePoints.push(new THREE.Vector2(0.1, 3.3));
applePoints.push(new THREE.Vector2(0, 3.2)); // Haut légèrement incurvé applePoints.push(new THREE.Vector2(0, 3.2)); // Sommet
var appleGeometry = new THREE.LatheGeometry(applePoints, 64); // Plus de segments pour plus de douceur var appleGeometry = new THREE.LatheGeometry(applePoints, 64); // Plus de segments pour plus de douceur
var appleMaterial = new THREE.MeshPhongMaterial({ color: color, shininess: 50 }); var appleMaterial = new THREE.MeshPhongMaterial({color: color, shininess: 50 });
var apple = new THREE.Mesh(appleGeometry, appleMaterial); var apple = new THREE.Mesh(appleGeometry, appleMaterial);
apple.position.set(x, y, z); apple.position.set(x, y, z);
apple.rotation.z = rotation; // Rotation optionnelle
// Créer la tige avec une légère courbure // Créer la tige avec une légère courbure
var stemGeometry = new THREE.CylinderGeometry(0.1, 0.15, 0.5, 16); var stemGeometry = new THREE.CylinderGeometry(0.1, 0.15, 0.5, 16);
var stemMaterial = new THREE.MeshPhongMaterial({ color: 0x8B4513 }); var stemMaterial = new THREE.MeshPhongMaterial({ color: 0x8B4513 });
var stem = new THREE.Mesh(stemGeometry, stemMaterial); var stem = new THREE.Mesh(stemGeometry, stemMaterial);
stem.position.set(x, y + 3.4, z); // Ajuster la tige pour qu'elle soit plus haute sur une pomme plus allongée
stem.rotation.z = Math.PI / 10; // Inclinaison réaliste stem.position.set(x, y + 3.8, z);
stem.rotation.z = rotation + Math.PI / 10; // Inclinaison réaliste
// Ajouter une petite feuille pour plus de réalisme // Ajouter une petite feuille pour plus de réalisme
var leafGeometry = new THREE.SphereGeometry(0.2, 16, 8); var leafGeometry = new THREE.SphereGeometry(0.2, 16, 8);
...@@ -123,10 +127,13 @@ function fillScene() { ...@@ -123,10 +127,13 @@ function fillScene() {
//Remplir le bol de pommes à des positions différentes //Remplir le bol de pommes à des positions différentes
createApple(-5, 2, 5, 0xFF0000); createApple(-5, 2, 5,0xFF0000,0);
createApple(-4, 4, 7, 0x00FF00); createApple(-4, 4, 7, 0x00FF00,0);
createApple(-7, 3, 6, 0xFFFF00); createApple(-7, 3, 6, 0xFFFF00,0);
createApple(-2, 5, 5, 0xFF0000); createApple(-2, 5, 5, 0xFF0000,0);
//pomme devant le bol en ligne de gauche à droite
createApple(-5, 0.5, 13, 0xFF0000,0);
// vase : exemple trouvé sur Internet // vase : exemple trouvé sur Internet
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment