Você está aqui: Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como converter Coordenadas Polares para Coordenadas Cartesianas usando Python - Python para EngenhariaQuantidade de visualizações: 5124 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 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 Python completo que recebe as coordenadas polares (r, __$\theta__$) e retorna as coordenadas cartesianas (x, y): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importamos a biblioteca NumPy import math as math def main(): # vamos ler o raio e o ângulo raio = float(input("Informe o raio: ")) theta = float(input("Informe o theta: ")) graus = input("Theta em graus (1) ou radianos (2): ") # o theta está em graus? if graus == "1": theta = theta * (math.pi / 180.0) # fazemos a conversão para coordenadas cartesianas x = raio * math.cos(theta) y = raio * math.sin(theta) # exibimos o resultado print('As Coordenadas Cartesianas são: (x = %0.2f, y = %0.2f)' %(x, y)) if __name__== "__main__": main() Ao executar este código 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) |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Java para iniciantes - Como usar o tipo de dados boolean em seus códigos JavaQuantidade de visualizações: 22212 vezes |
O tipo de dados boolean representa dois valores lógicos representados pelos literais true ou false. Valores boolean são produzidos pelos operadores relacionais (<, <=, > e >=), condicionais (&& e ||), lógicos (& e |) e de igualdade (== e !=) e são usados para gerenciar o fluxo de controle durante a execução do programa. Veja um trecho de código exemplificando o uso deste tipo de dados: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ boolean continuar = true; if(continuar == true){ System.out.println("Podemos continuar."); } else{ System.out.println("Vamos parar."); } System.exit(0); } } Quando quisermos testar se o valor de uma variável ou constante do tipo boolean é true, podemos omitir o operador e o literal. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- if(continuar){ System.out.println("Podemos continuar."); } O mesmo vale para a negação: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- if(!continuar){ System.out.println("Podemos parar."); } |
Java ::: Pacote java.awt ::: Graphics |
Como desenhar linhas no Java Swing usando o método drawLine() da classe GraphicsQuantidade de visualizações: 15053 vezes |
O método drawLine() da classe Graphics nos permite desenhar linhas retas. Observe atentamente a assinatura deste método:public abstract void drawLine(int x1, int y1, int x2, int y2) Neste método, os parâmetros x1 e x2 representam as coordenadas iniciais da linha e x2 e y2 representam as coordenadas finais. Veja um trecho de código no qual desenhamos quatro linhas em um JLabel: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Estudos extends JFrame{ JLabel label; public Estudos() { super("Desenhando em um JLabel"); Container c = getContentPane(); c.setLayout(new BorderLayout()); // Cria um JLabel label = new JLabel(); c.add(label, BorderLayout.CENTER); // Cria um botão JButton btn = new JButton("Desenhar Linhas"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ Graphics graphics = label.getGraphics(); // desenha linhas no JLabel graphics.drawLine(10, 15, 100, 10); graphics.drawLine(20, 30, 80, 150); graphics.drawLine(50, 50, 120, 30); graphics.drawLine(100, 100, 310, 100); } } ); // Adiciona o botão à janela c.add(btn, BorderLayout.SOUTH); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso. |
Delphi ::: VCL - Visual Component Library ::: TComboBox |
Como usar a propriedade Items da classe TComboBox do DelphiQuantidade de visualizações: 12945 vezes |
A propriedade Items da classe TComboBox representa um objeto da classe TStrings, a classe base para objetos que representam uma lista de strings. Isso quer dizer que podemos acessar a propriedade Items e usar todos os métodos e propriedades da classe TStrings, tais como Add(), Clear(), Delete(), Exchange(), etc. Veja, por exemplo, como usar o método Add() para adicionar um novo item no ComboBox: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin // vamos adicionar um novo item ao ComboBox comboBox1.Items.Add('Arquivo de Códigos'); end; É possível obter um referência à propriedade Items para manipular os itens do ComboBox indiretamente. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var lista: TStrings; begin // vamos obter a lista de itens do ComboBox lista := comboBox1.Items; // vamos adicionar um novo item à lista lista.Add('Arquivo de Códigos'); end; Esta técnica é útil quando queremos inserir itens em um TComboBox a partir de uma função ou procedure. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // procedure personalizada para inserir itens em um TComboBox procedure inserirItensComboBox(lista: TStrings); begin lista.Add('Arquivo de Códigos'); lista.Add('Osmar J. Silva'); end; procedure TForm1.Button1Click(Sender: TObject); begin // vamos chamar a procedure que adiciona os itens no ComboBox inserirItensComboBox(ComboBox1.Items); end; Para finalizar, veja como escrever uma função personalizada que constrói e retorna uma lista de strings. Note como usamos o objeto TStrings retornado para preencher o ComboBox: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // função personalizada que constrói e retorna uma lista // de strings function obterLista: TStrings; var lista: TStringList; begin lista := TStringList.Create; lista.Add('Arquivo de Códigos'); lista.Add('Osmar J. Silva'); Result := lista; end; procedure TForm1.Button1Click(Sender: TObject); begin // vamos obter a lista de strings ComboBox1.Items := obterLista; end; Observe que, embora o retorno seja TStrings, no corpo da função nós construímos um objeto da classe TStringList. Isso acontece porque TStrings é uma classe abstrata e, portanto, não podemos chamar seu construtor. Como TStringList herda de TStrings e é uma classe concreta, esta é a escolha mais óbvia. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
JavaScript ::: URLs e Parâmetros de URLs ::: URLSearchParams |
Como obter a quantidade de parâmetros em um objeto URLSearchParams do JavaScriptQuantidade de visualizações: 849 vezes |
Em algumas situações nós precisamos saber quantos parâmetros de URL foram informados em um objeto URLSearchParams. Para isso nós só precisamos converter o Map representado por URLSearchParams em um array bidimensional usando Array.from(). A partir daí é só chamar a propriedade length do array. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Acessando parâmetros de URL</title> </head> <body> <script type="text/javascript"> // vamos obter a URL atual e seus parâmetros GET var parametros = new URLSearchParams(window.location.search); window.alert("Quantidade de parâmetros: " + Array.from(parametros).length); </script> </body> </html> Ao executar este exemplo JavaScript com a URL: http://localhost/estudos/index.php?nome=Osmar&idade=39 nós teremos uma mensagem window.alert() com o seguinte texto: Quantidade de parâmetros: 2 |
C++ Builder ::: VCL - Visual Component Library ::: TEdit |
Como obter o tamanho do texto de um TEdit usando a função SendMessage() da API do Windows e a mensagem WM_GETTEXTLENGTH usando C++ BuilderQuantidade de visualizações: 5786 vezes |
Embora o C++ Builder já nos forneça as ferramentas necessárias para obter a quantidade de caracteres contidos em um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função SendMessage() em combinação com a mensagem WM_GETTEXTLENGTH. A função SendMessage() da API do Windows possui a seguinte assinatura: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); Note que precisamos informar o HWND (parâmetro hWnd) para a caixa de texto e a mensagem que será enviada ao controle. Os valores para os parâmetros wParam e lParam devem ser 0 (zero). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- void __fastcall TForm3::Button2Click(TObject *Sender) { // vamos obter o tamanho do texto de um TEdit usando a função // SendMessage() e a mensagem WM_GETTEXTLENGTH int tam = SendMessage(Edit1->Handle, WM_GETTEXTLENGTH, 0, 0); // vamos mostrar o resultado ShowMessage("O Edit contém " + IntToStr(tam) + " caracteres."); } Ao executar este exemplo você terá um mensagem com um texto parecido com: O Edit contém 10 caracteres. |
Veja mais Dicas e truques de C++ Builder |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |