Author: Noah M.

Tutoriels

Comprendre les bases et les outils du logiciel Blender

Dans ce tutoriel, vous allez explorer les fonctionnalités de Blender, un logiciel puissant dédié à la modélisation et à l’animation 3D. Blender offre une diversité d’outils et de fonctionnalités permettant de manipuler des objets virtuels de manière avancée, ainsi que de travailler sur des scènes complexes composées de plusieurs éléments. Vous découvrirez comment utiliser Blender pour donner vie à des créations 3D exceptionnelles, maîtriser ses principales fonctionnalités et exploiter ses outils clés. Préparez-vous à plonger dans l’univers captivant de la modélisation 3D avec Blender et à libérer votre créativité dans le monde virtuel.

Blender, c’est quoi ?

Blender est une suite d’animation 3D gratuite et open source qui permet de créer et de modéliser des objets, de réaliser des animations 3D, ou encore des jeux vidéo. La solution s’adresse particulièrement à un public professionnel, et une certaine connaissance en animation et modélisation est nécessaire pour exploiter pleinement les capacités du logiciel. C’est pour cela que j’ai décidé de faire un tutoriel sur ce logiciel rempli de fonctions.

Comment télécharger Blender ?

Pour télécharger Blender, il faut suivre les différentes étapes :

  • Accédez au site officiel de Blender : Ouvrez votre navigateur Web et allez sur le site officiel de Blender à l’adresse suivante : ici
  • Cliquez sur « Download » : Sur la page d’accueil, vous devriez voir un bouton « Download » en haut de la page. Cliquez dessus pour accéder à la page de téléchargement.
  • Installez Blender : Une fois le téléchargement terminé, ouvrez le fichier d’installation et suivez les instructions pour installer Blender sur votre ordinateur.

Une fois le téléchargement terminé et le logiciel lancé, vous devriez arriver devant ceci.

En effet, cette fenêtre 3D est le cœur de Blender. C’est dans cet espace que l’on modélise des objets 3D, que l’on organise les scènes …

L’interface

Au démarrage de Blender, vous allez arriver devant cette espace de travail. Voici quelques notions à savoir sur cette interface.

  • 1 : Menu avec différents paramètres
  • 2 : Différent espace de travail préconfiguré en fonction de ce que vous souhaitez faire, la modélisation 3D se passera dans l’espace Layout par exemple, il y a également un espace Sculpting ou encore Shading pour l’application des matériaux. C’est des espaces que nous allons choisir lorsque nous voudrons réaliser ces différentes tâches
  • 3 : Les objets qui composent la scène, ici, nous pouvons voir la cube, la caméra et la lampe, ils sont hiérarchisés dans la « Scene Collection »
  • 4 : Les panneaux de propriété qui va changer en fonction des objets sélectionnée, le cube aura des propriétés que la lumière n’aura pas par exemple.

Les raccourcis clavier Blender essentiels

  • X pour supprimer
  • Ctrl+Z pour annuler, retourner en arrière
  • Tab pour changer d’Edit Mode à Object Mode et inversement
  • A pour tout sélectionner
  • P pour séparer dans l’édit mode
  • Shift+E pour dupliquer
  • Alt+D pour créer un composant
  • Maj+A pour ajouter un objet
  • Ctrl+J pour joindre deux/ ou plus volumes
  • N pour afficher les propriétés de position.

Changement de Langue

Si votre logiciel n’est pas dans la langue que vous souhaitez, je vous invite à suivre les instructions suivantes.

Cliquer sur le bouton Éditer en haut à droite. Et ensuite aller dans Préférences…

Une fois que vous êtes dans les préférences, une seconde page va apparaître avec cela. Vous allez ensuite cliquer sur Interface

Ensuite, vous sélectionnez la langue que vous souhaitez, ici nous sélectionnerons Français.

Les raccourcis clavier Blender pour la navigation 3D

Tout d’abord pour la rotation : Clique Molette

Ensuite pour le zoom, rien de plus simple, il suffit d’utiliser la Molette.

Enfin, pour obtenir la vue de la caméra, il suffit d’appuyer sur la touche 0 du pavé numérique. Pour sortir de la caméra, il suffit de rappuyer sur 0.

Déplacer un objet

En effet, pour déplacer un objet, il faut saisir la touche G ou alors y sélectionner le symbole sur la barre de gauche.

Ainsi, à l’aide de l’outil déplacement, vous pouvez déplacer l’objet sélectionné dans l’espace 3D, en le déplaçant à gauche, à droite, en haut ou encore en bas.

Tourner un objet

Pour tourner un objet, il suffit d’appuyer sur la touche R ou y sélectionner le symbole sur la barre de gauche suivi de l’axe autour duquel vous souhaitez faire pivoter l’objet (X, Y ou Z)

Si vous voulez une rotation plus précise, vous pouvez également entrer un angle de rotation après avoir appuyé sur R

Appuyez sur « Enter » pour valider la rotation une fois que l’objet est dans la position souhaitée.

Ces étapes vous permettront de faire pivoter un objet autour d’un axe spécifique dans Blender.

Redimensionner un objet

Pour redimensionner un objet, il suffit d’appuyer sur la touche S ou d’y sélectionner le symbole sur la barre de gauche.

Utilisez la souris pour déplacer le curseur vers l’intérieur ou l’extérieur du centre de l’objet. Le déplacement vers l’intérieur réduira la taille de l’objet, tandis que le déplacement vers l’extérieur l’agrandira.

L’outil transformation

L’outil de transformation dans Blender permet de déplacer, redimensionner et faire pivoter des objets de manière interactive. Cet outil regroupe les 3 fonctionnalités vu précédemment (déplacement, rotation, redimensionna).

Pour utiliser l’outil transformation, il suffit de cliquer sur la touche T ou d’y sélectionner le symbole sur la barre de gauche.

Mode Édition

Voyons maintenant les 2 modes principaux de Blender : le mode objet que nous avons étudié précédemment, et le mode édition. Le mode objet permet de sélectionner des objets et d’y apporter des transformations, des rotations, des déplacements… Désormais, nous allons passer au mode édition.

Pour passer en mode édition, vous allez sélectionner l’objet et ensuite en haut à gauche, vous allez choisir Mode edit (comme sur l’image a coté)

La touche tab permet de basculer entre les deux modes

Ainsi, grâce au mode édition, j’ai accès à la géométrie de l’objet. Vous pouvez sélectionner ces différents sommets, ce qu’on appelle des Vertices dans Blender.

En sélectionnant les options en haut à gauche, vous pouvez venir sélectionner les arêtes ou encore les différentes faces de l’objet.

Lorsque vous sélectionnez une face, vous pouvez lui appliquer de la transformation, en effet en appuyant sur la touche G, vous pouvez déplacer la face, en appuyant sur la touche S, vous pouvez modifier l’échelle de la face, enfin en appuyant sur la touche R, vous pouvez faire une rotation de la face.

Cela marche également lorsque vous sélectionnez les arêtes ou encore les sommets

Ajouter Des objets

En object mode, quand vous appuyez sur Maj + A, un menu apparait, celui-ci permet de rajouter différent objet.

Tout d’abord, il y a les Mesh, qui sont des objets 3d que l’on appelle des primitives, ils vont servir de base à des modélisations un peu plus complexe. Il en existe plusieurs, comme le plane, le cube, le cercle, une sphère…

On peut aussi ajouter des images, de la lumière, des caméras et des champs de forces pour créer des scènes très complexes.

Conclusion


En conclusion, ce tutoriel a traité des bases fondamentales de Blender, permettant d’approfondir les connaissances en modélisation 3D. Bien que nous n’ayons pas pu couvrir tous les aspects de ce logiciel puissant, j’espère que ces bases vous ont fourni les connaissances nécessaires pour explorer davantage par vous-même. Blender offre une multitude de fonctionnalités et de possibilités créatives. N’hésitez pas à continuer à explorer les fonctionnalités avancées et à pratiquer régulièrement. En espérant que ce tutoriel vous ait été utile.

Tutoriels

Comprendre et maitriser les principaux outils sur Photoshop

Dans ce tutoriel, vous allez découvrir Adobe Photoshop qui est un logiciel de retouche et de création graphique. Il offre une grande variété d’outils et de fonctionnalités qui permet de manipuler des images numériques de manières avancées. Il est également possible d’utiliser Photoshop pour travailler sur des documents multicalques. Dans ce tutoriel, vous allez comprendre l’utilisation de Photoshop et maitriser ses principaux outils.

On peut réaliser quoi sur Photoshop ?

Voici quelques exemples de créations que l’on peut réaliser sur Photoshop:

Installation de Photoshop

Maintenant passons à l’installation, il faut savoir que Photoshop fonctionne sous forme d’abonnement payant, pour le télécharger il vous faudra suivre les étapes suivantes :

  • Allez sur le site d’Adobe https://www.adobe.com/ et cliquer sur  » Découvrir Créative Cloud  »
  • Cliquez sur « Essai Gratuit » pour obtenir un essai gratuit de 7 jours. Si vous souhaitez acheter l’abonnement, cliquez sur « Acheter Maintenant »
  • Il vous faudra créer un compte adobe.
  • Suivez les instructions pour télécharger et installer la Créative Cloud sur votre ordinateur.
  • Une fois que l’installation est finie, ouvrez le Créative Cloud et cliquez sur l’icône de Photoshop pour le lancer.
  • Maintenant, vous êtes prêt à suivre le tutoriel.

Ouverture de Photoshop et Création De Projet

Une fois le logiciel lancé, l’interface de la page devrait s’afficher comme ceci :

Cette page d’accueil vous permet de choisir comment vous souhaitez utiliser Photoshop, que ce soit pour ouvrir un document, importer une image ou accéder à des tutoriels en ligne. Cette page d’accueil affiche également les derniers projets ouverts sur le logiciel comme nous pouvons le voir sur cette capture d’écran.

Ainsi, vous allez donc appuyer sur le bouton « Nouveau Fichier » en bleu situé en haut à gauche de votre écran afin de créer un nouveau projet. Un onglet comme celui-ci devrait être affiché.

Cet onglet vous permet de créer un projet avec les dimensions que vous voulez. Aujourd’hui, vous allez créer un projet avec une dimension de 1920×1080 et insérer cette dimension à droite de l’onglet, une fois que les valeurs sont rentrées, vous allez appuyer sur créer.

Une fois que le document est créé, vous devriez avoir cette page apparaitre devant votre écran, il faut savoir que vous pouvez entièrement personnalisé l’interface afin d’obtenir l’interface le plus optimisé selon vous. À gauche, on peut retrouver les différents outils que l’on peut utiliser sur Photoshop, à droite, on peut apercevoir la présence de calques, des couleurs et des propriétés qui sont fortement utiles lorsqu’on utilise les outils présents à gauche.

Utilisation des différents outils sur le logiciel

  • Outil de Déplacement

L’outil de déplacement est un outil très utile et fréquemment utilisé dans Photoshop, il permet de déplacer des éléments de votre projet tels que des images, du texte, des formes, les calques… Le raccourci pour sélectionner l’outil de déplacement est V. Il faut savoir que cet outil est essentiel pour pouvoir naviguer sur l’interface, sans cette maitrise cela risque d’être compliqué pour la suite du tutoriel.

Voici une vidéo permettant de mettre en scène les explications de l’outil de déplacement, ici, nous avons créé une forme avec les outils de forme que nous verrons dans ce tutoriel afin de pouvoir déplacer le rectangle crée.

(Le bloc noir qui apparait n’est pas fait exprès, c’est un bug d’enregistrement qui apparait de nombreuse fois dans les vidéos de ce tutoriel)

  • Outil lasso polygonal

L’outil lasso polygonal est un outil de sélection qui permet de sélectionner une zone précise de votre image en dessinant une forme à main levée. Cet outil est particulièrement utile lorsque vous avez besoins de sélectionner une zone irrégulière ou complexe de votre image, mais il est également utile pour créer des formes afin de les remplir avec l’outil Pot de peinture.

Les étapes à suivre pour l’outil lasso polygonal :

  • Sélectionner l’outil dans la barre d’outils, ou utiliser la touche L de votre clavier pour le sélectionner.
  • Placer le curseur de la souris n’importe où sur la surface blanche afin d’obtenir un premier point de contrôle
  • Ensuite, cliquer à chaque endroit où vous voulez un point de contrôle dans votre sélection
  • Et enfin cliquer sur le premier point de contrôle afin de fermer la sélection.

Une fois la sélection fermée, vous devriez obtenir la même chose que sur la capture d’écran. Il manquera plus qu’à appuyer sur la touche supprimer si vous voulez supprimer des éléments ou utiliser le pot de peinture dans le but de créer une forme.

  • Outil pot de peinture

L’outil pot de peinture permet de remplir une zone de sélection avec une couleur comme nous l’avons fait juste avant.

Pour sélectionner l’outil pot de peinture plus rapidement, vous pouvez également utiliser la touche G de votre clavier.

Lorsque vous avez le pot de peinture dans la main, il vous faudra suivre les étapes suivantes :

  • Placez le curseur de votre souris sur la zone que vous souhaitez remplir et cliquez pour appliquer la couleur.
  • Appuyez sur la touche L afin de revenir à l’outil lasso polygonal
  • Cliquez sur le bouton droit de la souris et appuyez sur le bouton « Désélectionner »

Dans cette vidéo, j’utilise l’outil lasso polygonal et le pot de peinture comme utilisé dans les deux tutoriels ci-dessus.

  • Outil Pipette

L’outil pipette est un outil qui permet d’échantillonner une couleur pour la définir comme nouvelle couleur. On peut également l’utiliser en combinaison avec un autre outil tel que le pinceau (Voir tutoriel Pinceau) pour ajouter de la couleur à votre image de manière précise et contrôlée.

Pour utiliser l’outil pipette plus rapidement, il vous faudra appuyer sur la touche I de votre clavier. Lorsque vous appuierez sur une zone dont vous souhaitez la couleur, vous l’obtiendrez en tant que couleur de premier plan ou de second plan.

Vidéo expliquant le tutoriel de la pipette.

  • Outil Pinceau

Le pinceau dans Photoshop est un outil de dessin qui permet de créer des couleurset des textures en jouant avec les différentes options de couleur et de transparence. Vous pouvez également utiliser le pinceau pour ajouter des effets spéciaux.

Avant de savoir utiliser l’outil pinceau il faut savoir que en ayant sélectionner le pinceau ( B ) et en restant appuyé sur la touche Alt de votre clavier vous avez accée à la pipette.

Ensuite, avec l’outil pinceau, vous pouvez régler l’épaisseur du pinceau et également la dureté.

Pour régler l’épaisseur il existe 2 solutions

  • Il vous faudra faire un clique droit en ayant le pinceau en main et vous réglerez la flèche de l’épaisseur selon votre choix.
  • En ayant le pinceau en main, il faut que vous restiez appuyé sur Alt et que vous décaliez votre souris à droite ou à gauche tout en restant appuyé sur la touche Alt l’épaisseur que vous voulez.

Pour régler la dureté, il existe également 2 solutions :

  • Il vous faudra faire un clique droit en ayant le pinceau en main et vous réglerez la flèche de la dureté selon votre choix, à savoir que plus la flèche est vers la droite plus le pinceau sera dure (nette).
  • En ayant le pinceau en main, il faut que vous restiez appuyé sur Alt et que vous montez votre souris vers le haut afin d’obtenir un pinceau moins dure tandis que si vous baissez votre souris le pinceau sera beaucoup plus dure.

Voici une vidéo expliquant le tutoriel du pinceau.

  • Outil Plume

L’outil plume sur Photoshop est un outil qui permet de créer des formes et des chemins à l’aide de points et de segments de lignes. Vous pouvez l’utiliser pour créer des formes précises, des lignes droites ou des courbes. Son utilité peut être comparée à celui du lasso polygonal (vue précédemment).

Pour utiliser l’outil plume :

  • Commencez par sélectionner dans la barre d’outil ou en appuyant sur la touche P de votre clavier.
  • Cliquez sur la souris, maintenez le bouton de la souris enfoncé tout en déplaçant la souris pour réaliser une courbe
  • Vous pouvez utiliser les point de contrôle pour ajuster la forme de la ligne et les courbes de la ligne.

Vous pouvez également utiliser les options de l’outil plume dans la barre d’option en haut il vous faudra sélectionner Forme (comme indiqué dans l’image à droite) afin d’ajuster l’épaisseur ou encore la couleur.

Il existe encore de nombreux outils tels que l’outil tampon, l’outil doigt… mais nous ne pouvons pas tout voir dans un seul tutoriel. Je vous ai présenté les outils essentiels de Photoshop. Maintenant, nous allons passer au fonctionnement des calques.

Fonctionnement des calques

Les calques sont des éléments centraux de Photoshop et permettent de superposer et de combiner plusieurs images ou éléments graphiques dans un seul document. Chaque calque peut contenir un élément différent, comme une image, du texte, un masque ou un effet, et vous pouvez les réorganiser et les ajuster individuellement pour créer un rendu final.

Pour créer un nouveau calque, vous pouvez appuyer sur Ctrl + Maj + N

Pour créer un nouveau groupe, vous pouvez appuyer sur Ctrl + G

Pour pouvoir mettre des calques dans le groupe, il vous suffira de sélectionner le calque et le glisser dans le groupe.

Tutoriel Recommandé

Il existe de nombreux tutoriels sur YouTube et on peut facilement si perdre, voici quelques noms de youtubeur orienter dans le graphisme, design, ou vous pourrait trouver des tutoriels sur leurs chaines.

Conclusion

En résumé, nous n’avons pas pu voir tous les outils sur Photoshop mais nous avons vu l’essentiel, Photoshop est un outil incontournable pour tous ceux qui travaille dans le domaine de l’art, du design, de la photo. En espérant que ce tutoriel vous auras été utile 🙂

Art

Urbanisme : La skyline de New York

Pour ce premier projet en classe de première NSI nous avons choisi comme thème l’urbanisme. Nous avons souhaiter créer un projet original. Ce programme a pour but de réaliser un rendu graphique qui se rapproche au maximum du flat design. 

C’est quoi le flat design ?

Petit point de culture générale : Très brièvement le flat design est un style graphique caractérisé par le minimalisme et la simplicité des éléments présents sur le rendu. On ne cherche pas à faire à être dans le détail avec des ombres, des effets 3d… mais à être dans la simplicité avec une recherche en amont. Le flat design est aujourd’hui utilisé dans différentes catégories telle que l’illustration ou encore dans l’UI design où il consistera à obtenir un rendu fluide et ergonomique pour l’utilisateur. Un très grand artiste français qui utilise le flat design est Malika Favre voilà quelques exemples de créations qu’il a pu réaliser :

Les Recherches

Dans un premier temps pour réaliser ce projet nous avons dû faire différentes recherches sur internet. Les recherches finies, nous avons créer un moodboard pour mettre nos idées au claire et pour avoir de l’inspiration.

Nous avons sélectionné une image de la Skyline sur internet et nous l’avons directement modifiée sur Photoshop pour ne pas avoir de soucis avec les droits d’auteur.

Skyline/ Photoshop

Dans un second temps, nous nous sommes mis d’accord pour ne pas créer une simple Skyline mais bien plus. Notre point de départ est un couché de soleil avec des couleurs pastelles pour obtenir un rendu idéal qui se rapproche du flat design.

Une fois que nous étions d’accord sur les détails de notre projet, nous avons commencé le script phyton. Nous nous sommes divisés le travail en deux groupes :

  • Skyline : Noah / Henry
  • Ciel : Constance

Le code en entier

from turtle import *
from random import randint

#Lever de soleil

colormode(255)
bgcolor("#ffb399")

def disque(rayon, x, y, couleur=(1, 1, 1)):
    penup()
    goto(x, y-rayon)
    pendown()
    pencolor(couleur)
    fillcolor(couleur)
    begin_fill()
    circle(rayon)
    end_fill()
    
x, y = (0,-120)
radius = (500)
color = ("#ffc6b3")
disque(radius, x, y, color) 

x, y = (0,-120)
radius = (400)
color = ("#ffd9cc")
disque(radius, x, y, color) 
    
x, y = (0,-120)
radius = (300)
color = ("#ffece6")
disque(radius, x, y, color)     

x, y = (0,-120)
radius = (200)
color = ('white')
disque(radius, x, y, color)   


def arrondi_gauche():
    for i in range(180):
        left(1)
        forward(7/45)
        
def arrondi_droit():
    for i in range(180):
        right(1)
        forward(7/100)


def nuage():
    speed(10)
    pendown()
    width(2)
    pencolor("#ffffb3")
    fillcolor("#ffffb3")
    begin_fill()
    forward(210)
    arrondi_gauche()
    forward (21)
    arrondi_droit()
    forward(14)
    arrondi_gauche()
    forward(70)
    arrondi_droit()
    forward(56)
    arrondi_gauche()
    forward(28)
    arrondi_droit()
    forward(14)
    arrondi_gauche()
    forward(20)
    for i in range(90):
        right(1)
        forward(7/50)
    for i in range(90):
        left(1)
        forward(7/45)
    forward(35)
    for i in range(90):
        left(1)
        forward(7/45)
    for i in range(90):
        right(1)
        forward(7/50)
    forward(21)
    arrondi_gauche()
    forward(14)
    arrondi_droit()
    forward(49)
    arrondi_gauche()
    forward(42)
    arrondi_droit()
    forward(56)
    arrondi_gauche()
    forward(7)
    arrondi_droit()
    forward(42)
    arrondi_gauche()
    forward(10)
    end_fill()

penup()
goto(-450,-40)
nuage()

penup()
goto(300,55)
nuage()

penup()
goto(-50,200)
nuage()

#Skyline

pensize(3)
def building1(longueur,largeur, couleur=(1,1,1)):
    pendown()
    pencolor(couleur)
    left(90)
    forward(longueur)
    right(90)
    forward(largeur)
    right(90)
    forward(longueur/1.5)
    left(90)
    forward(longueur/2)
 
def building2(longueur, largeur, couleur=(1,1,1)):
    etage(longueur, largeur/5)
    etage(longueur/2 , largeur/5)
    etage(longueur/3 , largeur/5)
    left(80)
    forward(longueur/2)

def etage(longueur, largeur, couleur=(1,1,1)):
    left(90)
    forward(longueur)
    right(90)
    forward(largeur)

def etage_inverse(longueur, largeur, couleur=(1,1,1)):
    forward(largeur)
    left(270)
    forward(longueur)
    left(90)
def building2_inverse(longueur, largeur, couleur=(1,1,1)):
    right(160)
    forward(longueur/2)
    left(80)
    etage_inverse(longueur/3, largeur/5)
    etage_inverse(longueur/2 , largeur/5)
    etage_inverse(longueur, largeur/5)

def building3(longueur, largeur, couleur=(1,1,1)):
   forward(longueur/3)
   left(90)
   forward(longueur)
   right(90)
   forward(largeur)
   right(90)
   forward(longueur/4)
   left(90)
   forward(largeur)
   left(90)
   forward(longueur/5)
   right(90)
   forward(largeur)
   right(90)
   forward(longueur/2)
   
def building4(longueur, largeur, couleur=(1,1,1)):
    left(90)
    forward(largeur/3)
    left(90)
    forward(longueur)
    right(90)
    forward(largeur)
    left(90)
    forward(longueur-30)
    right(90)
    forward(largeur+25)
    right(90)
    forward(longueur+20)
    
def building5(longueur, largeur, couleur=(1,1,1)):
    left(90)
    forward(largeur)
    left(90)
    forward(longueur)
    right(90)
    forward(largeur)
    right(90)
    forward(longueur/2)
    left(45)
    forward(longueur/2)
    right(225)
    forward(longueur/3)
    right(90)
    forward(largeur+5)
    right(90)
    forward(longueur+30)
    
def building6(longueur, largeur, couleur=(1,1,1)):
    left(90)
    forward(largeur)
    left(90)
    forward(longueur)
    right(30)
    forward(longueur/8)
    left(30)
    forward(30)
    right(30)
    forward(longueur/8)
    left(30)
    forward(60)

def building6_reverse(longueur, largeur, couleur=(1,1,1)):
    left(180)
    forward(60)
    left(30)
    forward(longueur/8)
    right(30)
    forward(30)
    left(30)
    forward(longueur/8)
    right(30)
    forward(longueur)
    left(90)
    forward(largeur)
    
def building7(longueur, largeur, couleur=(1,1,1)):
    left(90)
    forward(largeur)
    left(90)
    forward(longueur)
    right(90)
    forward(largeur)
    left(90)
    forward(longueur/3)
    right(90)
    forward(largeur)
    right(90)
    forward(longueur-130)
    left(90)
    forward(largeur)
    right(90)
    forward(longueur-50)
    left(35)
    forward(largeur*2)
    right(35)
    forward(longueur-75)


def building8(longueur, largeur, couleur=(1,1,1)):
    left(90)
    forward(largeur)
    left(90)
    forward(longueur)
    right(90)
    forward(largeur)
    right(90)
    forward(longueur/2)
    left(35)
    forward (largeur)
    right(35)
    forward(longueur-20)
       
    
    
penup()
fillcolor("#80586D")
begin_fill()
goto(-630,-350)
goto(-630,-300)
building1(60,30, couleur=("#80586D"))
building2(150,80 , couleur=("#80586D"))
building2_inverse(150,80 , couleur=("#80586D"))
building3(120,30, couleur=("#80586D"))
building4(100,40, couleur=("#80586D"))
building5(80,25, couleur=("#80586D"))
building6(275,50, couleur=("#80586D"))
building6_reverse(275,50, couleur=("#80586D"))
right(90)
building4(90,30, couleur=("#80586D"))
building7(165,35, couleur=("#80586D"))
left(90)
building3(170,35, couleur=("#80586D"))
building8(150,45, couleur=("#80586D"))
pendown()
goto(630,-350)
goto(-630,-350)
end_fill()



penup()
fillcolor("#01343D")
begin_fill()
left(90)
goto(-620,-350)
building1(60,30, couleur=("#01343D"))
building2(150,80 , couleur=("#01343D"))
building2_inverse(150,80 , couleur=("#01343D"))
building3(120,30, couleur=("#01343D"))
building4(100,40, couleur=("#01343D"))
building5(80,25, couleur=("#01343D"))
building6(275,50, couleur=("#01343D"))
building6_reverse(275,50, couleur=("#01343D"))
right(90)
building4(90,30, couleur=("#01343D"))
building7(165,35, couleur=("#01343D"))
left(90)
building3(170,35, couleur=("#01343D"))
building8(150,45, couleur=("#01343D"))
pendown()
goto(-630,-350)
end_fill()

Le Fond

def disque(rayon, x, y, couleur=(1, 1, 1)):
    penup()
    goto(x, y-rayon)
    pendown()
    pencolor(couleur)
    fillcolor(couleur)
    begin_fill()
    circle(rayon)
    end_fill()
    
x, y = (0,-120)
radius = (500)
color = ("#ffc6b3")
disque(radius, x, y, color) 

x, y = (0,-120)
radius = (400)
color = ("#ffd9cc")
disque(radius, x, y, color) 
    
x, y = (0,-120)
radius = (300)
color = ("#ffece6")
disque(radius, x, y, color)     

x, y = (0,-120)
radius = (200)
color = ('white')
disque(radius, x, y, color)   


def arrondi_gauche():
    for i in range(180):
        left(1)
        forward(7/45)
        
def arrondi_droit():
    for i in range(180):
        right(1)
        forward(7/100)
Fond

Pour réaliser le fond, j’ai adapté la fonction disque des exemples donnés afin de faire un dégradé de disques partant d’un peu plus bas que le centre et du plus clair au plus foncé. De cette manière, le disque au centre est blanc et représente donc le Soleil. De plus, les disques autour forment un dégradé de couleurs modélisant le levé du Soleil dans le ciel.

Les nuages

def nuage():
    speed(10)
    pendown()
    width(2)
    pencolor("#ffffb3")
    fillcolor("#ffffb3")
    begin_fill()
    forward(210)
    arrondi_gauche()
    forward (21)
    arrondi_droit()
    forward(14)
    arrondi_gauche()
    forward(70)
    arrondi_droit()
    forward(56)
    arrondi_gauche()
    forward(28)
    arrondi_droit()
    forward(14)
    arrondi_gauche()
    forward(20)
    for i in range(90):
        right(1)
        forward(7/50)
    for i in range(90):
        left(1)
        forward(7/45)
    forward(35)
    for i in range(90):
        left(1)
        forward(7/45)
    for i in range(90):
        right(1)
        forward(7/50)
    forward(21)
    arrondi_gauche()
    forward(14)
    arrondi_droit()
    forward(49)
    arrondi_gauche()
    forward(42)
    arrondi_droit()
    forward(56)
    arrondi_gauche()
    forward(7)
    arrondi_droit()
    forward(42)
    arrondi_gauche()
    forward(10)
    end_fill()

penup()
goto(-450,-40)
nuage()

penup()
goto(300,55)
nuage()

penup()
goto(-50,200)
nuage()

Pour rajouter un effet naturel au ciel, on a décidé d’ajouter des nuages avec une couleur et une forme adaptée au moment de la journée du levé de Soleil. J’ai donc crée une fonction nuage qui comprend également deux autres fonctions pour arrondir chaque bosse des nuages. De cette façon, le script est bien plus court. Pour faire les arrondis, j’ai d’abord fait le script d’un cercle, puis je l’ai adapté dans chacune des fonctions afin que sa largeur puisse varier.

La Skyline

def building1(longueur,largeur, couleur=(1,1,1)):
    pendown()
    pencolor(couleur)
    left(90)
    forward(longueur)
    right(90)
    forward(largeur)
    right(90)
    forward(longueur/1.5)
    left(90)
    forward(longueur/2)
 
def building2(longueur, largeur, couleur=(1,1,1)):
    etage(longueur, largeur/5)
    etage(longueur/2 , largeur/5)
    etage(longueur/3 , largeur/5)
    left(80)
    forward(longueur/2)

def etage(longueur, largeur, couleur=(1,1,1)):
    left(90)
    forward(longueur)
    right(90)
    forward(largeur)

def etage_inverse(longueur, largeur, couleur=(1,1,1)):
    forward(largeur)
    left(270)
    forward(longueur)
    left(90)
def building2_inverse(longueur, largeur, couleur=(1,1,1)):
    right(160)
    forward(longueur/2)
    left(80)
    etage_inverse(longueur/3, largeur/5)
    etage_inverse(longueur/2 , largeur/5)
    etage_inverse(longueur, largeur/5)

def building3(longueur, largeur, couleur=(1,1,1)):
   forward(longueur/3)
   left(90)
   forward(longueur)
   right(90)
   forward(largeur)
   right(90)
   forward(longueur/4)
   left(90)
   forward(largeur)
   left(90)
   forward(longueur/5)
   right(90)
   forward(largeur)
   right(90)
   forward(longueur/2)
   
def building4(longueur, largeur, couleur=(1,1,1)):
    left(90)
    forward(largeur/3)
    left(90)
    forward(longueur)
    right(90)
    forward(largeur)
    left(90)
    forward(longueur-30)
    right(90)
    forward(largeur+25)
    right(90)
    forward(longueur+20)
    
def building5(longueur, largeur, couleur=(1,1,1)):
    left(90)
    forward(largeur)
    left(90)
    forward(longueur)
    right(90)
    forward(largeur)
    right(90)
    forward(longueur/2)
    left(45)
    forward(longueur/2)
    right(225)
    forward(longueur/3)
    right(90)
    forward(largeur+5)
    right(90)
    forward(longueur+30)
    
def building6(longueur, largeur, couleur=(1,1,1)):
    left(90)
    forward(largeur)
    left(90)
    forward(longueur)
    right(30)
    forward(longueur/8)
    left(30)
    forward(30)
    right(30)
    forward(longueur/8)
    left(30)
    forward(60)

def building6_reverse(longueur, largeur, couleur=(1,1,1)):
    left(180)
    forward(60)
    left(30)
    forward(longueur/8)
    right(30)
    forward(30)
    left(30)
    forward(longueur/8)
    right(30)
    forward(longueur)
    left(90)
    forward(largeur)
    
def building7(longueur, largeur, couleur=(1,1,1)):
    left(90)
    forward(largeur)
    left(90)
    forward(longueur)
    right(90)
    forward(largeur)
    left(90)
    forward(longueur/3)
    right(90)
    forward(largeur)
    right(90)
    forward(longueur-130)
    left(90)
    forward(largeur)
    right(90)
    forward(longueur-50)
    left(35)
    forward(largeur*2)
    right(35)
    forward(longueur-75)


def building8(longueur, largeur, couleur=(1,1,1)):
    left(90)
    forward(largeur)
    left(90)
    forward(longueur)
    right(90)
    forward(largeur)
    right(90)
    forward(longueur/2)
    left(35)
    forward (largeur)
    right(35)
    forward(longueur-20)
       
    
    
penup()
fillcolor("#80586D")
begin_fill()
goto(-630,-350)
goto(-630,-300)
building1(60,30, couleur=("#80586D"))
building2(150,80 , couleur=("#80586D"))
building2_inverse(150,80 , couleur=("#80586D"))
building3(120,30, couleur=("#80586D"))
building4(100,40, couleur=("#80586D"))
building5(80,25, couleur=("#80586D"))
building6(275,50, couleur=("#80586D"))
building6_reverse(275,50, couleur=("#80586D"))
right(90)
building4(90,30, couleur=("#80586D"))
building7(165,35, couleur=("#80586D"))
left(90)
building3(170,35, couleur=("#80586D"))
building8(150,45, couleur=("#80586D"))
pendown()
goto(630,-350)
goto(-630,-350)
end_fill()



penup()
fillcolor("#01343D")
begin_fill()
left(90)
goto(-620,-350)
building1(60,30, couleur=("#01343D"))
building2(150,80 , couleur=("#01343D"))
building2_inverse(150,80 , couleur=("#01343D"))
building3(120,30, couleur=("#01343D"))
building4(100,40, couleur=("#01343D"))
building5(80,25, couleur=("#01343D"))
building6(275,50, couleur=("#01343D"))
building6_reverse(275,50, couleur=("#01343D"))
right(90)
building4(90,30, couleur=("#01343D"))
building7(165,35, couleur=("#01343D"))
left(90)
building3(170,35, couleur=("#01343D"))
building8(150,45, couleur=("#01343D"))
pendown()
goto(-630,-350)
end_fill()
New York Skyline

Dans le cas de la Skyline, le principal défi a été d’éviter de reproduire la même chose. Donc pour remédier au problème, nous avons coder de nombreuses fonctions « def » pour initialiser les buildings. Ensuite, il s’agissait surtout de calculer les bâtiments et les étages car ils étaient tous hétérogènes. Enfin, il nous suffisait d’utiliser les fonctions en rentrant les mesures et définir les couleurs puis la Skyline de New York prend vie.

Conclusion

En réalisant ce projet, nous avons étudié l’architecture de New York en analysant les suites logiques de buildings en fonction de leurs tailles par exemple. Nous avons aussi travaillé sur la meilleure façon de représenter un lever de Soleil de manière simple et évidente en regardant des exemples sur des dessins et des photos. En python, on a appris à manipuler les fonctions pour exécuter des scripts sans les réécrire plusieurs fois (avec les arrondis des nuages par exemple). Nous avons aussi du travailler beaucoup avec les couleurs avec les plusieurs plans des buildings qui ont permis de donner du relief à l’image grâce aux couleurs mais aussi avec le dégradé du ciel pour qu’il paraisse naturel. Nous avons aussi du visualiser l’image finale en gardant le meilleur de différentes inspirations et tout calculer pour que l’image ne soit ni trop vide ni trop surchargée d’éléments. Cette réalisation avait pour but d’être esthétique, moderne et simple.4

Télécharger le .py

Si vous voulez l’essayer, vous trouverez le script ci-dessous, mais attention, les nuages prennent énormément de temp à s’exécuter !