Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como converter Coordenadas Cartesianas para Coordenadas Polares usando PythonQuantidade de visualizações: 6343 vezes |
|
Nesta nossa série de Python para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas cartesianas e coordenadas polares. 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 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). Já 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__$). Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas: ![]() A fórmula para conversão de Coordenadas Cartesianas para Coordenadas Polares é: __$r = \sqrt{x^2+y2}__$ __$\theta = \\arctan\left(\frac{y}{x}\right)__$ E aqui está o código Python completo que recebe as coordenadas cartesianas (x, y) e retorna as coordenadas polares (r, __$\theta__$):
# importamos a bibliteca NumPy
import numpy as np
import math as math
def main():
# vamos ler as coordenadas cartesianas
x = float(input("Valor de x: "))
y = float(input("Valor de y: "))
# vamos calcular o raio
raio = math.sqrt(math.pow(x, 2) + math.pow(y, 2))
# agora calculamos o theta (ângulo) em radianos
theta = np.arctan2(y, x)
# queremos o ângulo em graus também
angulo_graus = 180 * (theta / math.pi)
# e exibimos o resultado
print("As Coordenadas Polares são:")
print("raio = %0.4f, theta = %0.4f, ângulo em graus = %0.2f"
% (raio, theta, angulo_graus))
if __name__== "__main__":
main()
Ao executar este código nós teremos o seguinte resultado: Valor de x: -1 Valor de y: 1 As Coordenadas Polares são: raio = 1.4142, theta = 2.3562, ângulo em graus = 135.00 Veja que as coordenadas polares equivalentes são (__$\sqrt{2}__$, __$\frac{3\pi}{4}__$), com o theta em radianos. Sim, os professores das disciplinas de Geometria Analítica e Álgebra Linear, Física e outras gostam de escrever os resultados usando raízes e frações em vez de valores reais. |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como transformar em letras maiúsculas as iniciais de cada palavra em uma string C# usando o método ToTitleCase() da classe TextInfoQuantidade de visualizações: 14535 vezes |
|
O método ToTitleCase() da classe TextInfo da linguagem C# nos permite converter para letras maiúsculas as inicias de cada uma das palavras que compoem uma frase ou texto. Esta técnica é muito útil quando estamos trabalhando com o processamento de strings em C#. Veja um exemplo completo do uso dessa função:
using System;
using System.Globalization;
namespace Estudos {
class Program {
static void Main(string[] args) {
string frase = "gosto de java e c#";
Console.WriteLine("Frase original: " + frase);
// vamos converter cada letra inicial para maiúsculas
frase = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(frase);
Console.WriteLine("Depois do método ToTitleCase(): " + frase);
Console.WriteLine("\n\nPressione qualquer tecla para sair...");
// pausa o programa
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Frase original: gosto de java e c# Depois do método ToTitleCase(): Gosto De Java E C# |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Aprenda a criar e usar métodos e classes abstratas em PHPQuantidade de visualizações: 11151 vezes |
|
À medida que começamos a usar programação orientada a objetos em PHP algumas situações interessantes podem surgir, tais como o uso de métodos e classes abstratas. As classes e métodos abstratos podem ser usados por uma série de razões. Eis as que considero mais importantes: a) - Um classe abstrata não permite que criemos novas instâncias da mesma. Veja:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
}
// vamos criar um novo objeto desta classe
$b = new Boleto();
?>
Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Cannot instantiate abstract class Boleto in ... A vantagem de termos uma classe que não pode ser instanciada é que podemos usá-la como classe base em um código envolvendo poliformismo (no momento que escrevo este artigo não vejo como implementar polimorfismo em PHP. Me pergunto se isso é possível em linguagens de tipos dinâmicos). b) - Qualquer classe que contenha um ou mais métodos abstratos também precisa se declarar abstrata. Como um método abstrato não pode conter implementação, ao forçar a classe a ser abstrata também, as classes derivadas terão a obrigação de implementar tal método. Veja um trecho de código no qual criamos uma classe normal contendo um método abstrato:
<?
// Uma classe Boleto não-abstrata
class Boleto{
// um método abstrato
public abstract function imprimir($dados);
}
?>
Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Class Boleto contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Boleto::imprimir) in ... Ao marcarmos a classe como abstract esta mensagem de erro desaparecerá. c) - Uma classe que herda de uma classe derivada deve, obrigatoriamente, fornecer implementação para todos os métodos abstratos herdados. Veja o trecho de código no qual temos uma classe Boleto e uma classe BoletoBradesco:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
// um método abstrato
public abstract function imprimir($dados);
}
// vamos herdar da classe Boleto
class BoletoBradesco extends Boleto{
}
?>
A mensagem de erro aqui é a mesma quando temos métodos abstratos em uma classe mas não a declaramos como abstrata. Basta fornecer a implementação para o método imprimir e a mensagem de erro desaparece:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
// um método abstrato
public abstract function imprimir($dados);
}
// vamos herdar da classe Boleto
class BoletoBradesco extends Boleto{
public function imprimir($dados){
echo "Imprimindo o boleto: " . $dados;
}
}
// vamos criar um objeto da classe BoletoBradesco
$b = new BoletoBradesco();
// vamos imprimir o boleto
$b->imprimir("Dados do boleto");
?>
d) - Um método marcado como abstract não pode conter implementação, ou seja, a implementação será feita pelas classes derivadas. Veja:
<?
// Uma classe Boleto abstrata
abstract class Boleto{
// um método abstrato que não deveria conter implementação
public abstract function imprimir($dados){
echo "Isso vai dar um erro daqueles!";
}
}
?>
Ao tentarmos executar este trecho de código teremos a seguinte mensagem de erro: Fatal error: Abstract function Boleto::imprimir() cannot contain body in ... Bastará remover a implementação do método que a mensagem de erro desaparecerá. |
C# ::: Coleções (Collections) ::: ArrayList |
Como retornar a quantidade de itens em uma ArrayList do C# - Como retornar o tamanho da ArrayList do C#Quantidade de visualizações: 8925 vezes |
|
Em algumas situações precisamos saber quantos elementos estão presentes na ArrayList do C#. Isso pode ser feito por meio da propriedade Count, que retorna um número inteiro representando a quantidade de itens atualmente na lista. Veja um exemplo de seu uso:
using System;
using System.Collections;
namespace Estudos {
class Program {
static void Main(string[] args) {
// não se esqueça
// using System.Collections;
// Cria o ArrayList
ArrayList cidades = new ArrayList();
// Adiciona nomes de cidades
cidades.Add("Goiânia");
cidades.Add("Cuiabá");
cidades.Add("Fortaleza");
cidades.Add("Curitiba");
// obtém a quantidade de elementos
int quant = cidades.Count;
Console.Write("A lista contém {0} itens", quant);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: A lista contém 4 itens Pressione uma tecla para sair... |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - JavaScript Avançado - Como usar o operador de bits & (E/AND sobre bits) da linguagem JavaScript Java - Como testar se uma determinada chave está contida no HashMap do Java usando o método containsKey() |
Você também poderá gostar das dicas e truques de programação abaixo |
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 |






