Réalisation d'une interface de fenêtre virtuelle basée sur la Kinect
editMapping du cercle en carré
editSoit le cercle de rayon 1 et centré à l'origine. On a .
Point sur le cercle
editConsidérons d'abord le cas où la main de l'utilisateur est située sur le cercle, au point . Notre but est de trouver le point qui soit la projection de sur l'un des côtés du carré circonscrit à .
La droite passant par l'origine et par forme un angle avec l'axe des abscisses. Le théorème de Pythagore nous apprend que la tangente de cet angle est égale au quotient des côtés opposé et adjacent qui n'est autre que le coefficient angulaire de la droite. On peut donc formuler son équation comme ceci : .
Le point que nous cherchons est l'intersection entre la droite et une droite dont l'équation dépend en fait de l'angle . Le carré que l'on considère inscrit le cercle de rayon 1 et centré à l'origine, il est donc lui même de côté 2 et centré à l'origine et on a :
En connaissant , on trouve donc aisément les coordonnées de à partir de . Rappelons qu' dépend lui aussi uniquement de : . On peut écrire :
Point dans le disque
editGénéralisons maintenant à tout point situé dans la zone atteignable par les mains, c'est-à-dire à l'intérieur du disque , plus précisément sur la droite à une distance de l'origine inférieure à . On peut poser avec .
Le but est alors de trouver le point calculé proportionnellement à partir de , donc tel que . On a donc :
et donc : .
On peut maintenant s'abstraire de la dépendance à :
Commandes Linux
editCréation d'utilisateurs
edituseradd -m -s /bin/bash nomUtilisateur
: ajoute un utilisateur (-m = le dossier home sera créé ; -s = le shell par défaut est sélectionné)
passwd nomUtilisateur
: permet de changer le mot de passe de l'utilisateur
Le SSH
editapt-get update
apt-get install openssh-server
: installe le serveur SSH
sudo nano /etc/ssh/sshd_config
: on va éditer le fichier de config et mettre :
PermitRootLogin no
: le root peut-il se connecter en SSH ?
AllowUsers userName
AllowUsers anotherUserName
: spécifie les utilisateurs autorisés à se connecter en SSH
Port 2028
: spécifie le port
On génère ensuite les clés avec putty-gen
mkdir .ssh
touch authorized_keys
nano authorized_keys
: on copie la clé publique dans le dossier SSH
Les partitions
editfdisk /dev/sdb
: on indique qu'on voudrait administrer les partitions du disque sdb
n
: on voudrait créer une partition
p
: une partition primaire
1
: ?
1
: cylindre de départ
M
: cylindre final (ici, automatique)
w
: on valide
mkfs.ext3 /dev/sdb1
: formate la nouvelle partition en ext3
mount -t ext3 /dev/sdb1 /home
: monte la nouvelle partition sur le home de l'utilisateur (attention à backuper le home)
nano /etc/fstab
: il faut ajouter cette ligne au fichier :
/dev/sdb1 /home default 0 0
pour que la partition soit montée automatiquement au démarrage
NFS
editSur le serveur NFS :
apt-get install portmap nfs-common nfs-kernel-server
nano etc/exports
: éditer le fichier et ajouter :
/mnt/sdb2 localhost(rw)
: donne l'accès en lecture et écriture à /mnt/sdb2 au localhost
/etc/init.d/nfs-kernel-server
: lance NFS
Sur le client NFS :
apt-get install portmap nfs-common
/etc/init.d/portmap start
: lancement du client NFS
Editer etc/fstab : localhost:/mnt/sdb2 /mnt/sdb2 nfs auto
Samba
editEditer le fichier /etc/apt/sources.list :
## squeeze
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
# squeeze security
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
# squeeze update
deb http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free
apt-get install samba samba-common smbclient samba-doc
Editer le fichier /etc/samba/smb.conf : changer le workgroup et mettez le nom de domaine que vous voulez (ybaddic)
Ajouter des dossiers partagés :
mkdir -p /home/samba-share/allusers
chown -R root:users /home/samba-share/allusers/
chmod -R ug+rwx,o+rx-w /home/samba-share/allusers/
Autre
editListe des répertoires du système qui sont accessibles en lecture et écriture par tout le monde :
find / -type d -perm -666 -exec ls -ld {} \;