481

Re: Шлях на математичну вершину

Проблема в тому, що ви неправильно обчислили похідну. А вольфрамальфа - правильно.

Подякували: FakiNyan, 0x9111A2

482

Re: Шлях на математичну вершину

тюху блін

483

Re: Шлях на математичну вершину

дивлюсь зара про related rates, оце складна шняга

484

Re: Шлях на математичну вершину

Є задачка і рішення до неї, котре я не можу зрозуміти.

Дано:
Сніжок тане з швидкістю 1 см3/хв.

Знайти:
З якою швидкістю змінюється діаметр сніжка, в момент, коли його діаметр дорівнює 10см ?

Розв'язання видно на картинці.
https://не-дійсний-домен/sQlVu/afaf64e329.png
Спочатку перетворюємо формулу сфери таким чином ,аби вона містила діаметр, а не радіус. А потім я не розумію, навіщо він так робить.

На картинці записано

dv/dt=-1
і  це я можу зрозуміти. Воно означає, що похідна функції, котра відображає зміну об'єму сфери, дорівнює -1, тобто воно має виглядати якось так (функція)
https://не-дійсний-домен/sQmfs/f9902d617f.png
тому що кожну хвилину об'єм сфери зменшується на одне й те ж саме значення.

І зрозуміло, що з об'ємом також зменшується діаметр сфери. Тобто має бути ще одна функція, котра описує зміну діаметру, і нам потрібно знайти похідну цієї функції в точці, де діаметр дорівнює 10см (це я так розумію те, що там треба зробити).

І ось далі, там написано

dv/dt = похідна від Pi*d3/6 * dd/dt

ось це мені зовсім не зрозуміло, тому що dv/dt вже записано, воно дорівнює -1, тоді що коїться на цьому етапі?
Я розумію, що ми беремо похідну від формули об'єму сфери, але для чого, і чому воно записано саме так? І що то за dd/dt, на котрий множиться похідна формули?

485

Re: Шлях на математичну вершину

ну, коротше, я зрозумів. Там вся суть в неявному диференціюванні та ланцюговому правилі

486

Re: Шлях на математичну вершину

зацініть, який смішний момент

Прихований текст

https://не-дійсний-домен/t7RFV/875e53811a.png

487

Re: Шлях на математичну вершину

хто може пояснити мені принципіяльно-революційну відмінність між
x=x1+(x2-x1)*m та x = x1*(1-m)+x2*m, де m змінується від 0 до 1

488

Re: Шлях на математичну вершину

ладно-ладно, то вони однакові, просто другий переписаний по-іншому

489

Re: Шлях на математичну вершину

Та ж сама, що у виразах для середнього арифметичного m=a+(b-a)/2 і m=(a+b)/2 (власне, це окремий випадок ваших рівнянь). Вам яка форма зрозуміліша?

490

Re: Шлях на математичну вершину

koala написав:

Та ж сама, що у виразах для середнього арифметичного m=a+(b-a)/2 і m=(a+b)/2 (власне, це окремий випадок ваших рівнянь). Вам яка форма зрозуміліша?

друга

491

Re: Шлях на математичну вершину

а хто мені пояснить за отаке

double CosineInterpolate(
   double y1,double y2,
   double mu)
{
   double mu2;

   mu2 = (1-cos(mu*PI))/2;
   return(y1*(1-mu2)+y2*mu2);
}

як до цього дійшли?

mu2 у нас буде змінюватись від 0 до 1, на скільки я розумію, і ото воно буде малювати таку гладку лінію, якщо інтерполювати декілька точок

492

Re: Шлях на математичну вершину

здається, я пойняв.
Ось ця m2 представляє собою шматок "згладженої" лінії
https://не-дійсний-домен/tcYzP/a22c68dfbf.png
і коли ми використовуємо це значення замість m, котра змінювалась лінійно від 0 до 1, то на самому початку нам дається більше часу на відмалювання поточної висоти точки, хоча по X ми рухаємось з такою ж швидкістю
і виходить, що там, де в лінійному варіанті ми б малювали точку, котра знаходиться нижче, то в косинусному варіанті ми малюєм "зіпізднілу" точку, котра знаходиться вище по осі Y, а потім вже це відставання нівелюється, і ми малюємо точки так, як ми їх малюємо в лінійному варіанти.
типу ось так
https://не-дійсний-домен/tcYPL/e6fd3d7245.png
ну і з нижньою частиною так само

493

Re: Шлях на математичну вершину

хто пояснить мені другий крок алгоритму?
https://uk.wikipedia.org/wiki/%D0%A8%D1 … 0%BD%D0%B0
які ще окремі точки?

494 Востаннє редагувалося FakiNyan (11.01.2017 14:53:42)

Re: Шлях на математичну вершину

як зцегокати результати двох функцій?
от є одна функція, котра малює перший квадрат, є друга, котра малює другий. І на картинці сказано. що якщо об'єднати їх, то вийде те, що намальоване на третьому квадраті, але як то треба об'єднувати?
https://не-дійсний-домен/tiACZ/59f8b6daf4.png
озьдо мій код

void drawNoise()
{
  loadPixels();
  
  for(int i =0; i<width; i++)
  {
    int c=0;
    for(int j =0; j<height; j++)
    {
      c = (int)(cosine(0,1, -1+(i/(float)width)*2f)*255f);

      pixels[i*width+j] = color(c,c,c,255);
    }
  }
  
  updatePixels();
}

float cosine(float from, float to, float m)
{
  float m2 = (1f-cos(m*PI-PI))/2f;
  return from + (to-from)*m2;
}

він малює отаке
https://не-дійсний-домен/tiAIG/d733b0abcb.png
якщо всередині другого циклу замінити i на j, то воно буде малювати це ж саме, тільки в горизонтальному напрямку.
І ось я спробував "об'єднати" ці дві картинку в одну
спочатку перемноживши

for(int i =0; i<width; i++)
  {
    int c=0,c1=0;
    for(int j =0; j<height; j++)
    {
      c = (int)(cosine(0,1, -1+(i/(float)width)*2f)*255f);
      c1 = (int)(cosine(0,1, -1+(j/(float)width)*2f)*255f);
      c*=c1;
      pixels[i*width+j] = color(c,c,c,255);
    }
  }

і отримав ось таке
https://не-дійсний-домен/tiAQh/05e92fd6ab.png
потім беручи мінімальне значення, як основне

for(int i =0; i<width; i++)
  {
    int c=0,c1=0;
    for(int j =0; j<height; j++)
    {
      c = (int)(cosine(0,1, -1+(i/(float)width)*2f)*255f);
      c1 = (int)(cosine(0,1, -1+(j/(float)width)*2f)*255f);
      c=min(c, c1);
      pixels[i*width+j] = color(c,c,c,255);
    }
  }

і отримав ось таке
https://не-дійсний-домен/tiARh/4eae78c069.png
а потім беручи середнє значення

  for(int i =0; i<width; i++)
  {
    int c=0,c1=0;
    for(int j =0; j<height; j++)
    {
      c = (int)(cosine(0,1, -1+(i/(float)width)*2f)*255f);
      c1 = (int)(cosine(0,1, -1+(j/(float)width)*2f)*255f);
      c=(int)((c+c1)/2f);
      pixels[i*width+j] = color(c,c,c,255);
    }
  }

і отримав ось таке
https://не-дійсний-домен/tiAU9/65c80f82fa.png
А потрібного результату так і не домігся.

Подякували: Betterthanyou1

495

Re: Шлях на математичну вершину

я так розумію, мені тре функція двох змінних, котра приймає x з y, і повертає значення від 0 до 1, і це значення має змінюватись плавненько, а не лінійно

496 Востаннє редагувалося FakiNyan (11.01.2017 15:11:57)

Re: Шлях на математичну вершину

якось тако
f(x,y)=(1-cos(x*Pi-Pi))/2+(1-cos(y*Pi-Pi))/2
чи то нє, тре іншу формулу змінити

497

Re: Шлях на математичну вершину

нє, шось не то
https://не-дійсний-домен/tiCY7/e73fe66ade.png

498

Re: Шлях на математичну вершину

c*=c1;

Тут треба ще на 255f ділити. інакше воно в тебе дуже швидко максимуму досягне.

Подякували: FakiNyan1

499

Re: Шлях на математичну вершину

все одно якесь криве
https://не-дійсний-домен/tiTcC/65052c819e.png

500

Re: Шлях на математичну вершину

Якщо тобі радіальне треба, то визначай наскільки велика сума квадратів відстані від центру і інвертуй насиченість кольору

Подякували: FakiNyan1