Página 2 de 2

Sen, Cos e Tan

Enviado: 19 Nov 2013 14:29
por bencz
inclusive eu peguei do seu exemplo, eu apenas converti ele p/ uma função cos(x), mas, como escrevi direto aqui, não testei se eu havia copiado algo de errado... por isso, deixei a mensagem meu caro :)

Sen, Cos e Tan

Enviado: 19 Nov 2013 18:18
por billy1943
Ao Bencz

Aproveitando o ensejo, só por curiosidade, que linguagem é aquela que você mostrou que está no site

\gist\github.com/bencz/7522310 ?

Sen, Cos e Tan

Enviado: 19 Nov 2013 18:55
por bencz
A linguagem é C#, e apliquei com C# conceitos de linguagens funcionais....

por exemplo, aqui:

Código: Selecionar todos

        public static IEnumerable<int> PrimeNumbers(int startRange, int count)
        {
            IEnumerable<int> range = Enumerable.Range(startRange, count);
            return from n in range
                   let w = (int)Math.Sqrt(n)
                   where Enumerable.Range(2, w).All((i) => n % i > 0)
                   select n;
        }

Sen, Cos e Tan

Enviado: 19 Nov 2013 19:32
por Ricardo Sales Ribeiro
Caros amigos
Boa Noite

Agradeço a colaboração dos amigos, com a ajuda do Bencz principalmente, para se achar, ou calcular sen, cos e tan, como ele mesmo explicou, é só transformar as variaveis, como grau, minuto e segundo em decimal, ai fica tudo mais
facil.

Show, amigo foi o cara, tão simples, mas um amigo meu professor de matematica, não saiu nem do canto, e é professor de matematica.

Com essa ajuda vai sim resolver o meu problema. Eu só precisava calcular essas variaveis para colocar nas minhas formulas, já deu certo.


Mas uma vez agradeço ao amigos que colaboraram.

Atenciosamente

Sen, Cos e Tan

Enviado: 19 Nov 2013 19:47
por bencz
Obrigado :)

Apenas não entendi oque você quis dizer com:
Show, amigo foi o cara, tão simples, mas um amigo meu professor de matematica, não saiu nem do canto, e é professor de matematica.

Sen, Cos e Tan

Enviado: 19 Nov 2013 22:16
por Ricardo Sales Ribeiro
Amigo Bencz

Foi apenas elogios meu amigo, vc estar me ajudando bastante, aproveitando o ensejo, me ajude na continuidade do problema,
como posso colocar esse calculo no clipper, eu uso a versão Clipper 5.2, qual lib tenho que atrelar para poder calcular o sen, por exemplo, aprendi a transformar Grau+Minuto+Segundo em decimal, e quero no clipper, pegar esse resultado e calcular, sem, cos e tan.
Fazendo isso o restante da minha formula, para o que eu quero, eu resolvo.

Vc poderia postar uma rotina, utilizando uma lib.

Atenciosamente

Sen, Cos e Tan

Enviado: 19 Nov 2013 23:31
por bencz
Ricardo, boa noite!!!
Bom, sobre a lib, eu desconheço qual você pode linkar, talvez a ptools ?
sinceramente, desconheço completamente.

mas, caso contrario, voc~e pode implementar as funções que o nosso amigo billy colocou no forum, basta você pegar ela e transformar em uma função.

veja por exemplo, a função que fiz baseada na funçaõ do billy para calcular o cosseno:

Código: Selecionar todos

function main()
   ? cos(90)
   ? cos(87)
return nil

function cos( x )
   local p := x * x
   local q := p * p
   return 1.0 - p / 2 + q / 24 - p * q / 720 + q * q / 40320 - p * q * q / 3628800
Então, para os outros casos, basta utilizar a nossa amada matematica <3

Código: Selecionar todos

function main()
	local cosseno := nil
	local seno := nil
	local tangente := nil
	? seno := sin(0.45)	// seno
	? cosseno := cos(0.45)	// cosseno
	
	tangente := 1 / (cosseno/seno)
	? tangente
return nil

function cos( x )
   local p := x * x
   local q := p * p
   return 1.0 - p / 2 + q / 24 - p * q / 720 + q * q / 40320 - p * q * q / 3628800

function sin(x)
	local numerador := x
	local denominador := 1.0
	local sign := 1.0
	local sin := 0
	local termos := 10

	for i:=1 to 10
		sin := sin + (numerador / denominador) * sign
		numerador := numerador * (x * x)
		denominador := denominador * ((i*2) * (i*2+1))
		sign := sign * -1 
	next
	
return sin
Note que para calcular a tangente, é simplesmente o mais simples de todos...
Então, note também, que para construir a regra para calcular o seno, eu utilizei a seguinte regra de calculo:
Imagem

Qualquer duvida, basta falar... ;)

Sen, Cos e Tan

Enviado: 20 Nov 2013 20:00
por Ricardo Sales Ribeiro
Boa Noite amigos

Vou testar a rotina que o Billy postou, usando a LIB ct52.

Eu não tenho essa lib ct52 no meu computador, como faço para conseguir.

Atenciosamente

Sen, Cos e Tan

Enviado: 20 Nov 2013 23:38
por bencz
a rotina que escrevi é totalmente funcional, nao sei porque exitar de utiulizar ela...

Sen, Cos e Tan

Enviado: 21 Nov 2013 10:09
por billy1943
Olá Ricardo,

segue a CT52.LIB zipada.

Em outra mensagem enviarei um relatório que utiliza medições feitas com cálculo de Seno e Cosseno.

Sen, Cos e Tan

Enviado: 21 Nov 2013 15:02
por billy1943
Para quem quiser conhecer o que se produz com os cálculos de Seno, Cosseno e Tangente, segue um relatório fictício das
6 medições de um pequeno terreno.

Observações para o entendimento:

1. As colunas principais são as seguintes:
Ord = número da medição
Distanc = distância de um ponto a outro, medida em metros com auxílio de trena ou teodolito
Qd = quadrante do ângulo que podem ser NE, SE, SW e NW
Rumo = rumo azimutal fornecido pelo teodolito em conjunto com a bússola, informado em graus, minutos e segundos
Norte, Sul, Leste e Oeste = são as projeções baseadas nas distâncias com os senos e cossenos dos ângulos
As demais vide abaixo:

2. Os deslocamentos para o Norte (+ Eixo Y) devem ser compensados pelos deslocamentos para o Sul )- Eixo Y;
3. Os deslocamentos para o Leste (+ Eixo X) devem ser compensados pelos deslocamentos para o Oeste (- Eixo X)
4. Os dados para o desenho posterior da área devem utilizar as Projeções EX e EY, que começam com o valor 0 e terminam com 0.
5. O cálculo da área (a parte mais complicada) é feita nas Áreas Duplas X e Y, tanto que o total delas (22.800,00 m2) deve ser
dividido por 2, para se chegar na área real do terreno que é de 11.400,00 m2.

Sen, Cos e Tan

Enviado: 21 Nov 2013 17:13
por Eolo
Billy, bela aula de topografia. Sempre tive curiosidade de entender como a coisa era feita.
a rotina que escrevi é totalmente funcional, nao sei porque exitar de utiulizar ela...
Bencz, a contribuição de todo mundo só faz somar.

Sen, Cos e Tan

Enviado: 25 Nov 2013 19:34
por Ricardo Sales Ribeiro
Boa Noite Amigos

Quero aqui registrar o meu agradecimento a todos que contribuiram para que eu pudesse concluir a rotina que eu queria fazer, graças a Deus, e particularmente ao Bencz e ao Billy, que postaram rotinas, me foi de grande valia mesmo, consegui sim, resolver o que eu queria.
Peguei as duas rotinas e moldei a minha rotina, funcionou perfeito, ha, tambem utilizei, lógico a LIB ct52, sem ela tb não teria resolvido.

Vou dar por concluida essas postagens, que ficou resolvida com certeza.

Vou abrir agora outra postagem, para fazer outra parte do problema, esta primeira consegui um resultado, com este resultado vou precisar criar uma outra rotina para gerar um resultado final.

Atenciosamente