Etiquetas

555 74HC04 74HC14 74HC165 74LS04 acentos ADC10 Amstrad archivo arduino aristóteles armbian array ass at backup base64 bash Basho bc beethoven Biblia blog bucle c c++ c++11 c++17 C005 cadena Carmina Burana casting CD4017 CD4040 Cine clases Colores connect Consolación a Helvia Consolación a Marcia Consolación a Polibio constante corsair CPC Cristal 32Khz css cursor mouse cut daemon date dead keys Debian directorio disco duro DS32kHz electricidad Electrónica ensamblador entryList epicureismo Estadística estoicismo felicidad ffmpeg filePath filosofia Filosofía firefox flac for fstab funcion Gargantúa gastronomía gilgamesh Ginott gmp gpt grep gtts Hobbes hotkeys html imagemagick inline Javascript kde kernel modulos latex ldr lib-notify Linux Literatura ludoteca macro mapa de bits Matroska mega Microsoft Word Milan Kundera mkvextract mkvinfo mount mp3 mplayer MSP430 msp430F5529 MSP432 Multimedia Musica oop orange_pi pato PIR PL9823 Platón poesía POO en C++ pulseaudio puntero PWM pygame pyqt python QAction qApp QApplication QByteArray QDialog Qdir QFile QFileDialog QImage qlabel QList QListWidget QMessagebox QMouseEvent qpainter QPalette QPixmap QProcess QRegularExpression QRegularExpressionMatchIterator QString QStringList Qt qt5 QToolbar quijote QVector qwidget R Rabelais ratón relé Resonador cerámico samba San Agustín screen Séneca signal slot smart smartctl sox srt static const stdarg.h subtítulos Symbian tar teléfonos móviles temperatura temperatura cpu Temporizador tesseract Timer timestamp Trigonometría tts tutorial uid unicode user USI va_arg va_end va_list va_start velocidad ventilador Voltaire wallpaper xboxdrv xinput xrandr Z80 zip

viernes, abril 13, 2012

Trigonometría en C++

Convertir ángulos en grados a radianes:
float anguloRad  = anguloDeg * PI / 180;

Convertir ángulos en radianes a grados:
float anguloDeg = anguloGrad * 180 / PI;

Funciones trigonométricas
C++ trabaja en radianes. Antes de usar las funciones trigonométricas hay que pasar los grados a radianes. Por ejemplo:

float v = cos (anguloDeg * PI / 180);

Al trabajar con tipos float se produce un error de redondeo con ciertos valores. Por ejemplo, utilizando las fórmulas anteriores el coseno de 90 da como resultado -4.37114e-e08. Casi cero pero no del todo. Por cierto, en Python el resultado es diferente:

>>> print math.cos(90 * math.pi / 180)
6.12303176911e-17

A continuación pequeño programa de ejemplo.
#include <iostream>
#include <math.h>

#define PI 3.141592653589793

using namespace std;

void printCoseno (float ang){
 float anguloDeg = ang;
 float anguloRad = anguloDeg * PI / 180;

 cout << "Angulo en grados:" << anguloDeg 
 << " \t\tCoseno:"<< cos(anguloDeg) << endl;

 cout << "Angulo en Radianes:" << anguloRad
 << " \tCoseno:"  << cos(anguloRad) << endl;

 cout << endl;
}

int main() {
 printCoseno (0);
 printCoseno (45);
 printCoseno (90);
 printCoseno (180);
 printCoseno (200);
 printCoseno (270);

 return 0;
}

Salida en pantalla:
Angulo en grados:0              Coseno:1
Angulo en Radianes:0      Coseno:1

Angulo en grados:45             Coseno:0.525322
Angulo en Radianes:0.785398     Coseno:0.707107

Angulo en grados:90             Coseno:-0.448074
Angulo en Radianes:1.5708       Coseno:-4.37114e-08

Angulo en grados:180            Coseno:-0.59846
Angulo en Radianes:3.14159      Coseno:-1

Angulo en grados:200            Coseno:0.487188
Angulo en Radianes:3.49066      Coseno:-0.939693

Angulo en grados:270            Coseno:0.984382
Angulo en Radianes:4.71239      Coseno:1.19249e-08

lunes, abril 02, 2012

Ecce gratum

Ecce gratum
et optatum
Ver reducit gaudia;
purpuratum
floret pratum,
Sol serenat omnia.
Iam iam cedant tristia!
Estas redit,
nunc recedit
Hyemis sevitia.


Iam liquescit
et decrescit
grando, nix et cetera;
bruma fugit,
et iam sugit
Ver Estatis ubera;
illi mens est misera,
qui nec vivit,
nec lascivit
sub Estatis dextera.

Gloriantur 
et letantur 
in melle dulcedinis, 
qui conantur, 
ut utantur 
premio Cupidinis; 
simus iussu Cypridis 
gloriantes 
et letantes 
pares esse Paridis. 





He aquí que la agradable
y deseada
primavera vuelve a traer la alegría;
vestido de púrpura
florece el prado;
el sol lo serena todo.
¡Que se vaya ya la tristeza!
El verano regresa;
ya se aleja
la dureza del invierno.

Ya se derriten
y decrecen
el hielo, la nieve y lo demás;
el invierno huye,
y ya se amamanta
la primavera de los pechos de la estación estival.
Tiene un espíritu miserable
quien no vive
ni disfruta
bajo la protección del verano.

Se glorifican
y se alegran
en la dulzura de la miel
los que se esfuerzan
por gozar
del premio de Cupido.
¡Obedezcamos la orden de Venus
de que, gloriosos
y alegres,
seamos semejantes a Paris!

domingo, abril 01, 2012

Omnia Sol Temperat



Omnia sol temperat
purus et subtilis,
novo mundo reserat
facies Aprilis,
ad amorem properat
animus herilis
et iocundis imperat
deus puerilis.

Rerum tanta novitas
in solemni vere
et veris auctoritas
jubet nos gaudere;
vias prebet solitas,
et in tuo vere
fides est et probitas
tuum retinere.

Ama me fideliter,
fidem meam noto:
de corde totaliter
et ex mente tota
sum presentialiter
absens in remota,
quisquis amat taliter,
volvitur in rota.

* * *

Conforta a todos el sol
puro y fino;
está de nuevo radiante
la cara del mundo en abril;
hacia el amor se apresura
el corazón del hombre,
y sobre un pueblo feliz,
reina el dios de la juventud.

¡Cuántas novedades
en la celebración de la primavera!
Su autoridad
nos ordena estar contentos.
Nos ofrece caminos ya conocidos,
y en tu propia primavera,
es leal y correcto
poseer a tu amante.

Ámame fielmente,
piensa que confío en ti;
con todo mi corazón,
con toda mi voluntad
estoy contigo,
aun cuando yo esté muy lejos.
Quien ama como yo,
está girando en la rueda.


Fuentes:
Recursocoral.com.ar