LISP ::: LISP para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como converter Coordenadas Polares para Coordenadas Cartesianas em LISP - LISP para EngenhariaQuantidade de visualizações: 883 vezes |
|
Nesta nossa série de LISP e AutoLISP para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas polares e coordenadas cartesianas. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil). Na matemática, principalmente em Geometria e Trigonometria, o Sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$). Já o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos. Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade). Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas: ![]() A fórmula para conversão de Coordenadas Polares para Coordenadas Cartesianas é: x = raio × coseno(__$\theta__$) y = raio × seno(__$\theta__$) E aqui está o código LISP completo que recebe as coordenadas polares (r, __$\theta__$) e retorna as coordenadas cartesianas (x, y):
; programa LISP que converte Coordenadas Polares
; em Coordenadas Cartesianas
(let((raio)(theta)(graus)(x)(y))
; vamos ler o raio e o ângulo
(princ "Informe o raio: ")
(force-output)
(setq raio (read))
(princ "Informe o theta: ")
(force-output)
(setq theta (read))
(princ "Theta em graus (1) ou radianos (2): ")
(force-output)
(setq graus (read))
; o theta está em graus?
(if(eq graus 1)
(setq theta (* theta (/ pi 180.0)))
)
; fazemos a conversão para coordenadas cartesianas
(setq x (* raio (cos theta)))
(setq y (* raio (sin theta)))
; exibimos o resultado
(format t "As Coordenadas Cartesianas são: (x = ~F, y = ~F)"
x y)
)
Ao executar este código LISP nós teremos o seguinte resultado: Informe o raio: 1 Informe o theta: 1.57 Theta em graus (1) ou radianos (2): 2 As Coordenadas Cartesianas são: (x = 0,00, y = 1,00) |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como escrever uma função strtoupper() em C para transformar uma palavra inteira em letras maiúsculasQuantidade de visualizações: 9229 vezes |
|
A linguagem C padrão não possui uma função para transformar todas as letras de uma palavra, frase ou texto em maiúsculas, embora alguns compiladores a forneça. O que temos em C padrão é a função: int toupper(int c); maiúsculo. Podemos tirar vantagem disso e escrever uma função strtoupper(). Veja a listagem logo abaixo (uma boa oportunidade para praticar ponteiros em C):
#include <stdio.h>
#include <stdlib.h>
void strtoupper(char *string){
while(*string){
*string = toupper(*string);
string++;
}
}
int main(int argc, char *argv[])
{
char frase[] = "Programando em C";
printf("Frase normal: %s\n", frase);
strtoupper(frase);
printf("Em letras maiusculas: %s\n\n", frase);
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Frase normal: Programando em C Em letras maiusculas: PROGRAMANDO EM C |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como criar e inicializar um array de inteiros em C#Quantidade de visualizações: 8755 vezes |
|
Nesta dica mostrarei como declarar, construir e inicializar um vetor de ints na linguagem C#. Aqui os valores já estão sendo informados na construção do array, mas você poderá pedir para o usuário informar os valores também. Veja o código para o exemplo:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
// cria um array de inteiros
int[] valores = new int[5] { 3, 2, 5, 11, 13 };
// exibe o valor do primeiro elemento
Console.WriteLine("O valor do primeiro elemento é {0} ",
valores[0]);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: O valor do primeiro elemento é 3 |
C# ::: Namespace System.Drawing ::: Graphics |
Desenhando retângulos usando o método DrawRectangle() da classe Graphics do C#Quantidade de visualizações: 7480 vezes |
Retângulos podem ser desenhados em C# e Windows Forms usando o método DrawRectangle() da classe Graphics. Este método pede a caneta de desenho (um objeto da classe Pen), as coordenadas do canto superior esquerdo e a largura e altura do retângulo. Veja a assinatura do método DrawRectangle() mais comumente usada:Graphics.DrawRectangle(Pen, Single, Single, Single, Single) Veja um trecho de código no qual desenhamos um retângulo com 250 pixels de largura por 150 pixels de altura:
private void button1_Click(object sender, EventArgs e){
// vamos obter o Graphics do formulário
Graphics g = this.CreateGraphics();
// vamos desenhar um retângulo de 250 pixels de largura por 150
// pixels de altura
g.DrawRectangle(new Pen(Color.Red, 1), 50, 50, 250, 150);
// vamos liberar o objeto Graphics
g.Dispose();
}
As coordenadas do canto superior esquerdo e a largura e altura do retângulo podem ser especificadas como um objeto da estrutura Rectangle. Veja:
private void button1_Click(object sender, EventArgs e){
// vamos obter o Graphics do formulário
Graphics g = this.CreateGraphics();
// vamos desenhar um retângulo de 250 pixels de largura por 150
// pixels de altura
g.DrawRectangle(new Pen(Color.Red, 1),
new Rectangle(100, 100, 250, 150));
// vamos liberar o objeto Graphics
g.Dispose();
}
|
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Delphi - Como habilitar ou desabilitar um TEdit do Delphi usando a função EnableWindow() da API do Windows JavaScript - Validação de formulários em JavaScript - Como validar um formulário contendo usuário e senha em JavaScript |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





